ክፍል 1 / 12

በኮምፒውተር ምህንድስና ውስጥ ወደ ሰው ሰራሽ እውቀት እና የማረጋገጫ ዲሲፕሊን መግቢያ

ትርፍ፡

  • በሶፍትዌር ልማት የሕይወት ዑደት ውስጥ AI እውነተኛ ፍጥነትን የሚያቀርብበትን ቦታ የመለየት ችሎታ እና ውሳኔው እና ኃላፊነቱ መሐንዲሱ የሚቆይበትን ቦታ የመለየት ችሎታ
  • እያንዳንዱን ኮድ እና ዲዛይን በማጠናቀር፣ በመሞከር እና በመገምገም የሚያረጋግጥ ባለ ሶስት ሽፋን የምህንድስና ዲሲፕሊን የመተግበር ችሎታ።
  • ሚስጥራዊ የምንጭ ኮድን፣ ምስክርነቶችን እና የደንበኛ ውሂብን ሳታካፍሉ AIን ለመጠቀም አውድ የማጥራት ልማድ ይኑርህ

የኮምፒዩተር መሐንዲስ ቀንን ሲመለከቱ ምስሉ በአብዛኛዎቹ ቡድኖች ውስጥ ተመሳሳይ ነው-የንግድ ጥያቄን መረዳት ፣ ዲዛይን ማድረግ ፣ ኮድ መጻፍ ፣ የሌላ ሰው ኮድ ማንበብ ፣ ማረም (ፕሮግራሙ ለምን ትክክል እንዳልሆነ የማወቅ እና የማስተካከል ሂደት) ፣ ሙከራዎችን መጻፍ ፣ ሰነዶችን ማዘጋጀት ፣ ኮድ መገምገም እና ስብሰባዎች ላይ መገኘት። በሌላ አነጋገር ለትክክለኛው "የምህንድስና ፍርድ" የተሰጠው ጊዜ, ማለትም, መፍትሄው ትክክለኛ, አስተማማኝ እና ዘላቂነት ያለው ከሆነ, በተደጋጋሚ በሚሰራው ስራ ይደመሰሳል. እዚህ ላይ ነው አርቴፊሻል ኢንተለጀንስ (AI ለአጭር ጊዜ፣ በጽሁፍ እና በኮድ ላይ የሚሰራ ሶፍትዌር ትልቅ የቋንቋ ሞዴል ያለው) ወደ ስራው የሚመጣው። AI ለእርስዎ ውሳኔ አይሰጥም; ለውሳኔ ያዘጋጅዎታል፣ የኮድ አጽም ያወጣል፣ ስህተቱን ያጠባል እና የተሰራ ረቂቅ በፊትዎ ላይ ያስቀምጣል። በዚህ ሞጁል ውስጥ AIን እንደ “አውቶማቲክ ፕሮግራመር” ሳይሆን እንደ ዲሲፕሊን የታገዘ ጥንድ ፕሮግራሚንግ አጋር እናስቀምጣለን ፣ ውጤቱም ሁል ጊዜ የተጠናቀረ ፣የተፈተነ እና የሚገመገም ነው።

በዚህ የመጀመሪያ ክፍል ውስጥ ሶስት ነገሮችን እናብራራለን-የሶፍትዌር ልማት የሕይወት ዑደት በምን ደረጃዎች (ሶፍትዌር ከሃሳብ ወደ ምርት የሚያልፍባቸው ደረጃዎች: ትንተና, ዲዛይን, ኮድ, ሙከራ, ማሰማራት, ጥገና) AI እውነተኛ እሴት ይጨምራል; የትኞቹ ውሳኔዎች ከመሐንዲሱ ጋር በጥብቅ መቆየት አለባቸው; እና ይህን ሲያደርጉ መከተል ያለብዎት የማረጋገጫ እና ሚስጥራዊነት ስነ-ስርዓት ምንድን ነው. ይህ ጣሪያ በትክክል ካልተገጠመ, በሚቀጥሉት ክፍሎች ላይ ያሉ ዘዴዎች አደገኛ ሊሆኑ ይችላሉ. ምክንያቱም በሶፍትዌሩ ውስጥ ያለው ስህተት በሚሊዮን የሚቆጠሩ ተጠቃሚዎችን በተመሳሳይ ጊዜ ይደርሳል እና ወደ የደህንነት ተጋላጭነት ሊለወጥ ይችላል።

ፅንሰ-ሀሳቦች፡ ቅዠት፡ የ AI አሳማኝ የሆነ ዘዴ፣ ቤተ-መጽሐፍት፣ ኤፒአይ፣ ወይም ባህሪ በእውነቱ የማይገኝ ፈጠራ። አውድ፡ ለ AI የምትሰጡት ግብአት (ኮድ፣ የስህተት መልእክት፣ መስፈርት፣ ገደቦች)። ማረጋገጫ፡ ውጤቱን በገለልተኛ መንገድ መፈተሽ (ማጠናቀር፣ ሙከራ፣ ሰነድ)። እነዚህ ሦስት ጽንሰ-ሐሳቦች የጠቅላላው ሞጁል የጀርባ አጥንት ናቸው.

በየትኞቹ ንግዶች AI Accelerator ነው ፣ በየትኞቹ ንግዶች ውስጥ አደገኛ ነው?

የሶፍትዌር ስራዎች በውጤቶች ላይ በሁለት አቅጣጫ ይወድቃሉ. በአንደኛው ጫፍ ላይ ሊቀለበስ የሚችል, አነስተኛ ስጋት ያለው የቅድመ ዝግጅት ስራ; በሌላ በኩል፣ ወደ ምርት አካባቢ የሚገቡ እና የውሂብ መጥፋት፣ የደህንነት ተጋላጭነቶች ወይም መቆራረጥ የሚያስከትሉ ለመመለስ አስቸጋሪ ስራዎች አሉ። በዚህ ስፔክትረም ላይ በቆሙበት ቦታ ላይ በመመስረት የ AI ዋጋ ይለያያል።

የንግድ ዓይነት

AI አስተዋፅዖ

የኢንጂነር ሚና

ኮድ አጽም / ቦይለር

ተደጋጋሚ መዋቅር ፈጣን ማመንጨት

የሎጂክ እና የጠርዝ ሁኔታ ቁጥጥር

ማረም

መላምት እና ሊሆኑ የሚችሉ ምክንያቶች ዝርዝር

የመራባት እና የስር መንስኤ ማረጋገጫ

ፈተናዎችን መጻፍ

ረቂቅ እና ሁኔታ መፍጠርን ሞክር

ትርጉም ያለው ማረጋገጫ እና ወሰን ማረጋገጥ

እንደገና በማደስ ላይ

የማደስ ፕሮፖዛል

በፈተና አማካኝነት ባህሪን መጠበቅ

ሰነድ

የመጀመሪያው ረቂቅ እና መዋቅር

በኮድ ላይ የትክክለኛነት ማረጋገጫ

የስነ-ህንፃ / የደህንነት ውሳኔ

የአማራጮች እና ጥቅሞች እና ጉዳቶች ዝርዝር

የመጨረሻ ውሳኔ እና ኃላፊነት

ደንቡ ቀላል ነው፡ የ AI ውፅዓት አደጋ ያ ውፅዓት ስህተት ከሰራ ከሚያደርሰው ጉዳት ጋር እኩል ነው። ተለዋዋጭ ስም በስህተት መጠቆም ምንም ጉዳት የለውም; ትክክል ያልሆነ ማረጋገጫ (ተጠቃሚው በእርግጥ እነሱ ነን የሚሉት ማን እንደሆነ ማረጋገጥ) አጠቃላይ ስርዓቱን ተጋላጭ ያደርገዋል። ስለዚህ ውጤቱን ከመጠቀምዎ በፊት የሚጠየቀው የመጀመሪያው ጥያቄ "ይህ ስህተት ከሆነ ምን ይሆናል እና ማን ያስተውለዋል እና መቼ?"

ጥንቃቄ፡ AI አቀላጥፎ እና በራስ የመተማመን ኮድ ያዘጋጃል። ቅልጥፍና ለትክክለኛነት ዋስትና አይሆንም. የቋንቋ ሞዴል በትክክል የማይገኝ የተግባር ስም፣ የተሳሳተ የመለኪያ ቅደም ተከተል ወይም ደህንነቱ ያልተጠበቀ ስርዓተ-ጥለት በአስተማማኝ ሁኔታ መፍጠር ይችላል። በሶፍትዌር ውስጥ, ይህ በወረቀት ላይ አይቆይም; በማምረት ላይ ያዘጋጃል, ያካሂዳል እና ይፈነዳል.

ለኢንጅነር ስመኘው የሚቀሩ ውሳኔዎች

አንዳንድ ውሳኔዎች ሙሉ በሙሉ በራስ ሰር መሆን የለባቸውም። ቴክኒካዊ ፣ ህጋዊ እና ስነምግባር አደጋዎች አሉት

  • ለምርት ማጽደቅ፡- ኮድ ወደ ምርት መለቀቅ እና ለዚህ ኃላፊነት።
  • ደህንነት እና አርክቴክቸር፡- እንደ ማረጋገጫ፣ ፍቃድ፣ ምስጠራ እና የውሂብ ሞዴል ያሉ ውድ ውሳኔዎች።
  • ፈቃድ እና የቅጂ መብት፡- የተመረተው ኮድ በንግድ ምርት እና በፈቃድ ማክበር ላይ ጥቅም ላይ ሊውል ይችላል።
  • በሚስጥር መረጃ መስራት፡ ከደንበኛ ውሂብ ጋር ግብይቶች፣ የምንጭ ኮድ ሚስጥሮች እና የማንነት መረጃ።
ማስጠንቀቂያ፡ AI ‹ይህ ኮድ ደህንነቱ የተጠበቀ እና ለምርት ዝግጁ ነው› ቢልም፣ ይህንን ያለደህንነት ሙከራ መቀበል፣ ኮድ መገምገም እና በእውነተኛ ጭነት ማረጋገጥ ተቀባይነት የለውም። በደህንነት-ወሳኝ ሥራ, AI ውፅዓት ብቃት ካለው መሐንዲስ ለማጽደቅ ፈጽሞ አይተካም; ወደ ውሳኔ የሚያመራ ማንኛውም ውፅዓት ከመተግበሩ በፊት በተናጥል የተረጋገጠ እና በተፈቀደለት መሐንዲስ መጽደቅ አለበት።

የማረጋገጫ ተግሣጽ: ባለሶስት-ንብርብር ቁጥጥር

በጭፍን ሳይሆን እንደ ከፍተኛ ገምጋሚ ለመጠቀም ሶስት የቁጥጥር ንብርብሮችን ይተግብሩ። ይህ በመላው ሞጁል ውስጥ የምንደግመው መሰረታዊ ምላሽ ነው.

  1. ማጠናቀር እና የማይለዋወጥ ፍተሻ፡ ኮዱ በእርግጥ ያጠናቅራል/ይሮጣል? የአይነት ስህተቶች፣ ጥቅም ላይ ያልዋሉ ተለዋዋጮች፣ የሌሉ ኤፒአይዎች አሉ? የማይንቀሳቀስ ትንተና መሳሪያ (ኮዱን ሳያስኬድ የሚመረምረው መሳሪያ) ምን ይላል?
  2. ገለልተኛ ማባዛት (ሙከራ)፡- ኮዱን በትንሽ በሚታወቁ ግብዓቶች ያሂዱ እና የሚጠበቀውን ውጤት እንዳገኙ ይመልከቱ። የጠርዝ ጉዳዮችን ይሞክሩ ( ባዶ፣ ዜሮ፣ አሉታዊ፣ ግዙፍ)።
  3. የምንጭ ማረጋገጫ፡- AI የሚጠቀመው እያንዳንዱ ኤፒአይ፣ ቤተ-መጽሐፍት ስሪት እና የቋንቋ ባህሪ ከኦፊሴላዊ ሰነዶች መረጋገጥ አለበት።

የማረጋገጫ ጥያቄ (ውጤቱን ለመፈተሽ ቀላል ያደርገዋል)፡ "በኮድዎ ውስጥ የሚጠቀሙባቸውን ሁሉንም ውጫዊ ቤተ-መጻሕፍት፣ ዘዴዎች እና የቋንቋ ባህሪያት ይዘርዝሩ። ለእያንዳንዳቸው በየትኛው ስሪት ውስጥ እንደሚገኝ ያመልክቱ እና 'ከሰነድ የተረጋገጠ መሆን አለበት' ብለው ምልክት ያድርጉበት። እርግጠኛ ያልሆኑትን ማንኛውንም ኤፒአይ አይስራ፣ እርግጠኛ ካልሆኑ በግልጽ 'እርግጠኛ አይደሉም' ብለው ይፃፉ። እንዲሁም የተለየ ዝርዝር ጉዳዮችን ይዘርዝሩ።"

የራስዎን ኮድ መጠየቂያውን ይወቅሱ፡- "ልክ እንደቀጠሮህ ከፍተኛ መሐንዲስ የጻፍከውን ኮድ በትኩረት ተመልከት። በእነዚህ ሶስት አርእስቶች ስር ተጨባጭ ነገሮችን ስጥ፡ (1) የሎጂክ/የዳር ጉዳይ ስህተቶች፣ (2) የደህንነት ስጋቶች፣ (3) የአፈጻጸም ወይም የማንበብ ችግሮች። ለእያንዳንዱ ንጥል 'ችግሩ ለምን ሆነ' እና 'የተጠቆመውን ማስተካከል' ብለህ ጻፍ። ችግር ከሌለ ችግርን አግኘው' አትበል።

ደካማ ፈጣን/ጠንካራ ፍጥነት

ደካማ፡"የተጠቃሚ ማረጋገጫ ተግባር ፃፉልኝ።"(ውጤት፡ የትኛው ቋንቋ፣ የትኛው ህግ፣ የትኛው የስህተት ባህሪ፣ አጠቃላይ ኮድ፣ ብዙ ጊዜ ደህንነቱ ያልተጠበቀ ወይም ከዐውደ-ጽሑፍ ውጪ) ጠንከር ያለ፡"ለ Python 3.11 የኢሜይል ማረጋገጫ ተግባር ጻፍ። ግቤት፡ string ባለ 5-ናሙና ሙከራ ከተግባሩ አባሪ እገዳ በታች፡ የሚሰራ፣ ባዶ፣ ምንም '@'፣ ድርብ '@'፣ ቦታዎችን ብቻ የያዘ።

ልዩነቱ በአውድ ውስጥ ነው። ኃይለኛ ማበረታቻ; ቋንቋውን፣ ሥሪትን፣ የግቤት-ውፅዓት ውልን፣ ገደቦችን እና የፈተና መጠበቅን ያካትታል። ይህ ነጠላ ዲሲፕሊን የማሰብ እና ደህንነቱ ያልተጠበቀ ኮድ ስጋትን በእጅጉ ይቀንሳል።

ሚኒ ጉዳዮች

ጉዳይ 1 - የተቀናጀ ዘዴ. በቀን ቤተ-መጽሐፍት ውስጥ date.addBusinessdays(5) የሚባል ዘዴ እንዳለ አንድ ገንቢ ከ AI ይሰማል እና በራስ መተማመን ይገለጻል። ሰነዶቹን በመመልከት, እንደዚህ አይነት ዘዴ አለመኖሩን ይመለከታል, ትክክለኛው መንገድ በእጅ የተሰራ ዑደት ነው. ቅዠቱ ወደ ምርት ከመግባቱ በፊት በ10 ደቂቃ ማረጋገጫ ተይዟል።

ጉዳይ 2 - የጠርዝ ግዛት ኪሳራ. AI "አማካይ አስላ" ተግባርን ያመነጫል; በ1,000 ረድፎች ውሂብ ሲሞከር ይሰራል። ሆኖም ዝርዝሩ ባዶ ሲሆን በዜሮ ስህተት መከፋፈልን ይሰጣል። ኢንጅነሩ ባዶውን የግብአት ሙከራ ስላከሉ፣ ስህተቱ በቀጥታ ከመተላለፉ በፊት አይቶ ያስተካክላል። ነጠላ የጠርዝ ሁኔታ ሙከራ በ 3am ላይ የምርት ማንቂያን ይከላከላል።

ጉዳይ 3 - የግላዊነት ስጋት. አንድ ኤክስፐርት ከትክክለኛ የውሂብ ጎታ ግንኙነት ሕብረቁምፊ እና ኤፒአይ ቁልፍ ያለው ፋይል ወደ ይፋዊ መሳሪያ ሊለጥፍ ነው። የተቋሙን ፖሊሲ ያስታውሳል; ምስጢሮቹን በ<REDACTED> ይተካዋል, ኮዱን ወደ ተወካይ ምሳሌ ይቀንሳል እና እንዲሰጠው ይጠይቃል. ስለዚህ, በ 5 ደቂቃዎች ውስጥ እርዳታ ያገኛል, ነገር ግን የማንነት መረጃው አይወጣም.

በሚስጥር ኮድ እና የማንነት መረጃ የመሥራት መርህ

የሶፍትዌሩ በጣም ስሱ ክፍል; የምንጭ ኮድ ሚስጥሮች፣ የማንነት መረጃ (ኤፒአይ ቁልፍ፣ የይለፍ ቃል፣ ማስመሰያ) እና የደንበኛ/የግል ውሂብ። መሰረታዊ መርሆ፡ ከማጋራትዎ በፊት ያፅዱ፣ ከተቻለ ከተወካይ ምሳሌ ጋር የችግሩን ምንነት ብቻ ይጠይቁ።

ስም-አልባ ፈጣን ስርዓተ-ጥለት: "በሚከተለው ተግባር ላይ ስህተት አለ. ትክክለኛውን የንግድ አመክንዮ እና የተደበቁ ቋሚዎችን በተወካይ እሴቶች (ኤፒአይ ቁልፍ, የሰንጠረዥ ስሞች, የመስክ ስም ጄኔሪክ) ተክቻለሁ. ችግር: በግቤት X ውስጥ ስህተት Y ገጥሞኛል. በዚህ የውክልና ኮድ ውስጥ የሎጂክ ስህተቱን ብቻ ያግኙ እና የተስተካከለውን ስሪት ያብራሩ. [የተወካይ ኮድ]"

ጠቃሚ ምክር፡ ከተጠራጠሩ ይህንን ፈተና ይውሰዱ፡ "ይህንን መድረክ ላይ በይፋ ብጽፈው ድርጅቴ ችግር ውስጥ ይወድቃል?" መልሱ ግልጽ ባይሆንም መጀመሪያ ያጽዱ። ዳግም ማስጀመር ሁልጊዜ ፍንጣቂውን በኋላ ከማሳደድ የበለጠ ርካሽ ነው።

የተለመዱ ስህተቶች

  • ውጤቱን ሳይሰበስቡ / ሳይሞክሩ መጠቀም. “AI ጻፈ” ጽድቅ አይደለም; እያንዳንዱ ኮድ በማሄድ የተረጋገጠ ነው።
  • ያለ ዐውደ-ጽሑፍ ጥያቄዎችን ማቅረብ። ቋንቋ፣ ሥሪት፣ ግቤት-ውፅዓት እና ገደቦች ካልተሰጡ ኮዱ አጠቃላይ እና ብዙ ጊዜ ደህንነቱ ያልተጠበቀ ይሆናል።
  • ሳያስቡ ሚስጥራዊ መረጃን ማጋራት። የኤፒአይ ቁልፍ፣ የይለፍ ቃል እና የደንበኛ ውሂብ ሳይጸዱ ሊለቀቁ አይገባም።
  • ግራ የሚያጋባ ትክክለኛ ቋንቋ ከትክክለኛነት ጋር። ኤአይኤው የበለጠ በራስ የመተማመን መንፈስ በተናገረ መጠን የበለጠ ጥንቃቄ ማድረግ አለብዎት; በራስ የመተማመን ድምጽ ማስረጃ አይደለም.
  • ውሳኔውን ለኤ.አይ. ወደ ምርት፣ ደህንነት እና አርክቴክቸር የማውጣት ውሳኔው ከመሐንዲሱ ጋር ይቆያል። AI ቁሳቁሶችን ብቻ ያመርታል.

በማጠቃለያው

AI የሶፍትዌር ስራዎችን ተደጋጋሚ እና ጊዜ የሚወስድ ክፍሎችን ያፋጥናል-የአጽም ኮድ, የሙከራ ረቂቅ, የሳንካ ጠባብ, ሰነዶች. ይሁን እንጂ ውሳኔው እና ኃላፊነቱ በኢንጂነሩ ላይ ነው. እያንዳንዱ ውፅዓት ሶስት የቁጥጥር ንብርብሮችን ማለፍ አለበት (ማጠናቀር/ስታቲክ፣ ሙከራ፣ ምንጭ)። ጥያቄዎችን ከአውድ ጋር መጻፍ እና የተደበቀ መረጃን ማጽዳት በእያንዳንዱ የሞጁል ክፍል ውስጥ የምንደግማቸው ሁለት ቁልፍ ልማዶች ናቸው። AI በዲሲፕሊን ሲጠቀሙ, ፍጥነት ያገኛሉ; ያለ ዲሲፕሊን ሲጠቀሙ ስህተቶችን እና ድክመቶችን ወደ ምርት ይሸከማሉ.

የመተግበሪያ ተግባር

ከእራስዎ ስራ ወይም ከምናባዊ ፕሮጀክት (ለምሳሌ የማረጋገጫ ተግባር) ትንሽ የኮድ ስራን ይምረጡ። መጀመሪያ ደካማ መጠየቂያ ይጻፉ እና ውጤቱን ያግኙ። ከዚያ ኃይለኛ የፈጣን ስርዓተ-ጥለትን ከዚህ ክፍል ይተግብሩ፡ ቋንቋ/ስሪትን፣ የግቤት-ውፅዓት ውልን፣ ገደቦችን እና የፈተና መጠበቅን ያክሉ። ሁለቱን ማተሚያዎች ጎን ለጎን ያስቀምጡ እና ልዩነቱን ይፃፉ. ከዚያም ጠንካራውን ውፅዓት ያሰባስቡ እና ቢያንስ በሶስት የጠርዝ ጉዳዮች (ኑል፣ ዜሮ/አሉታዊ፣ ያልተጠበቀ ቅርጸት) ይሞክሩት እና በየትኛው ፈተና ውስጥ ምን እንዳገኙ ያስተውሉ።

የማረጋገጫ ዝርዝር

  • [ ] ቋንቋ፣ ሥሪት እና የግቤት-ውፅዓት ውልን ወደ መጠየቂያው ጨምሬያለሁ።
  • [ ] "አትሰራው፣ እርግጠኛ ካልሆንክ ንገረኝ" እና የወሰን ገደብ ጻፍኩኝ።
  • [] ኮዱን አጠናቅሬአለሁ/አሄድኩት፣ የማይለዋወጥ ማስጠንቀቂያዎችን አረጋገጥኩ።
  • [ ] ቢያንስ በሦስት የጠርዝ ጉዳዮች ሞከርኩ።
  • [ ] ጥቅም ላይ የዋሉትን ኤፒአይዎች ከኦፊሴላዊው ሰነድ አረጋግጫለሁ።
  • [ ] ማንኛውንም ሚስጥራዊ ኮድ/ምስክርነት ወይም ያገለገለ የድርጅት መሳሪያ አጽድቻለሁ።
  • [ ] ወደ ምርት እና ደህንነት የማስገባት ውሳኔ በሰው ላይ እንዳለ አረጋግጣለሁ።