ඒකකය 1 / 12

මෘදුකාංග කණ්ඩායම් සඳහා කෘතිම බුද්ධිය: වැඩ කරන ආකෘතිය සහ සීමාවන්

ලාභ:

  • කේතීකරණ සහායකයෙකු භාෂා ආකෘතියක් ලෙස ක්‍රියා කරන ආකාරය සහ ටෝකනය, සන්දර්භය කවුළුව, මායාවන් පිළිබඳ සංකල්ප පැහැදිලි කිරීමේ හැකියාව
  • AI ප්‍රබල සහ දුර්වල වන මෘදුකාංග කාර්යයන් මානසික සිතියමක් සමඟින් වෙන්කර හඳුනා ගැනීමේ හැකියාව
  • යෝජනා-නිෂ්පාදනය-තහවුරු කිරීමේ මූලික වැඩ චක්‍රය තමන්ගේම කාර්යයන් සඳහා යෙදවීමේ හැකියාව

මෘදුකාංග සංවර්ධකයෙකුගේ දිනය "මුල සිට කේතය ලිවීමට" වැය වන්නේ කලාතුරකිනි. තත්ය කාලය; වෙනත් අයෙකු විසින් ලියන ලද කේතය කියවීම, දෝෂයක් ප්‍රතිනිෂ්පාදනය කිරීමට උත්සාහ කිරීම, ලඝු-සටහන ස්කෑන් කිරීම (ධාවනය කරන අතරතුර යෙදුම මඟින් නිපදවන ලද ලොග් රේඛා), පරීක්ෂණ ලිවීම, PR ලිවීම (අදින්න ඉල්ලීම - කණ්ඩායම් සමාලෝචනය සඳහා කේත වෙනස් කිරීමක් ඉදිරිපත් කරන ඒකාබද්ධ ඉල්ලීමක්) පැහැදිලි කිරීම සහ ලේඛන යාවත්කාලීන කිරීම. කෘතිම බුද්ධිය (AI) යනු මෙම නොදුටු රැකියා සියල්ලම පාහේ ස්පර්ශ කළ හැකි වේග ගුණකයකි. නමුත් එය ආරක්ෂිතව භාවිතා කිරීම සඳහා පළමු කොන්දේසිය වන්නේ එය කුමක්ද සහ එය කුමක්ද යන්න නිවැරදිව වටහා ගැනීමයි.

මෙම ඒකකය තුළ, අපි මුලින්ම සරල භාෂාවෙන් කේතීකරණ සහායකයේ යටින් පවතින තාක්ෂණය පැහැදිලි කරන්නෙමු; එවිට අපි ආකෘතියේ ශක්තීන් සහ දුර්වලතා පිළිබඳ මානසික සිතියමක් නිර්මාණය කරමු; අවසාන වශයෙන්, අපි සම්පූර්ණ මොඩියුලය පුරා භාවිතා කරන මූලික වැඩ විනය ස්ථාපිත කරමු: යෝජනා කරන්න, නිෂ්පාදනය කරන්න, සත්‍යාපනය කරන්න. මෙම පියවර තුන ඊළඟ ඒකක එකොළහෙහි කොඳු නාරටිය වේ.

සටහන: මෙම මොඩියුලය සාමාන්ය පුහුණුවකි. ආරක්ෂක තීරණාත්මක මෘදුකාංගවල (ගෙවීම් සැකසීම, සෞඛ්‍ය සේවා, සත්‍යාපනය, තීරණාත්මක යටිතල පහසුකම්) AI ප්‍රතිදානය සුදුසුකම් ලත් ඉංජිනේරුවෙකු විසින් සමාලෝචනය සහ අනුමැතිය සඳහා ආදේශකයක් නොවේ. AI සහායකයෙකි; අත්සන් කරන්නා ඉංජිනේරුවා ය.

කේතීකරණ සහකාර ඇත්තටම කරන්නේ කුමක්ද?

බොහෝ කේතීකරණ සහායකයින් විශාල භාෂා ආකෘතියක් මත ගොඩනගා ඇත (LLM—ඊළඟට බොහෝ දුරට ඉඩ ඇති “කුට්ටිය” පුරෝකථනය කරන විශාල පෙළ සහ කේත ප්‍රමාණයකින් පුහුණු කරන ලද AI). ආකෘතිය මිනිසෙකු මෙන් කේතය "තේරෙන්නේ නැත"; එය විශාල උදාහරණ සංචිතයකින් එය ඉගෙන ගන්නා රටාවන් මත පදනම්ව, ඔබ එයට ලබා දෙන සන්දර්භයේ බොහෝ දුරට අඛණ්ඩ පැවැත්ම ජනනය කරයි. මෙම පෙනෙන සරල යාන්ත්‍රණය ප්‍රායෝගිකව පුදුම සහගත ලෙස ප්‍රවීණ ප්‍රතිඵල ලබා දෙයි - මන්ද බොහෝ මෘදුකාංග පුනරාවර්තන රටා වලින් සමන්විත වේ: HTTP ඉල්ලීමක්, ලූපයක්, null check එකක්, පරීක්ෂණ රටාවක්.

මෙහි පද තුනක් තීරණාත්මක වේ. ටෝකනය යනු පෙළ බෙදීමෙන් ආකෘතිය සකසන කුඩාම ඒකකයයි; එය දළ වශයෙන් අකුරු කිහිපයක් හෝ වචනයක කොටසකි. සන්දර්භය කවුළුව යනු ආකෘතියට එකවර "දැකිය හැකි" සංකේත ප්‍රමාණයයි; ඔබගේ කේතය, දෝෂ පණිවිඩය සහ උපදෙස් මෙම කවුළුවට ගැලපේ. ප්‍රේරකයක් යනු ඔබ ආකෘතියට ලබා දෙන සියලුම උපදෙස් සහ සන්දර්භයයි. ඔබට ලැබෙන ප්‍රතිදානයේ ගුණාත්මක භාවය මෙම දෙක මත කෙලින්ම රඳා පවතී: ඔබ ආකෘතියට ලබා දෙන වඩා හොඳ සන්දර්භය සහ පැහැදිලි උපදෙස්, ඔබට වඩා හොඳ ප්‍රතිඵලයක් ලැබෙනු ඇත. නරක ආදානය නරක ප්‍රතිදානයක් නිපදවයි, එය ස්මාර්ට් ආකෘතියක් වුවද - මෘදුකාංගයේ සම්භාව්‍ය “කසළ ඇතුලට, කුණු පිටතට” යන රීතිය AI සඳහාද අදාළ වේ.

ශක්තීන් සහ දුර්වලතා සිතියම

AI නිවැරදි රැකියා වෙත යොමු කිරීමට, එය බැබළෙන්නේ කොතැනද සහ එය පැකිළෙන්නේ කොතැනද යන්න දැන ගැනීම අවශ්‍ය වේ. මෙම සිතියම කටපාඩම් කිරීම සෑම මීළඟ මෙහෙයුමකදීම ඔබව පුදුමයට පත් කරයි, "මම මෙම කාර්යය AI වෙත පැවරිය යුතුද නැතහොත් එය තනිවම කළ යුතුද?" තත්පර කිහිපයකින් ප්‍රශ්නයට පිළිතුරු දීමට එය ඔබට ඉඩ සලසයි.

එහි ශක්තීන් වන්නේ: බොයිලේරු ප්ලේට් කේතය ජනනය කිරීම, එක් භාෂාවකින් තවත් භාෂාවකට පරිවර්තනය කිරීම, නිතිපතා ප්‍රකාශනයක් ලිවීම (regex), ශ්‍රිතයක් විස්තර කිරීම, පරීක්ෂණ ඇටසැකිල්ලක් නිර්මාණය කිරීම, දෝෂ පණිවිඩයක් අර්ථ නිරූපණය කිරීම, ලේඛන කෙටුම්පත් කිරීම, විචල්‍ය/ක්‍රියාකාරී නම් යෝජනා කිරීම සහ සුළු ප්‍රතිනිර්මාණය කිරීම් (එහි හැසිරීම වෙනස් නොකර කේතයේ ව්‍යුහය වැඩිදියුණු කිරීම).

දුර්වලතා: ඔබේ සමාගම-විශේෂිත ව්‍යාපාරික නීති දැන ගැනීම, ඔබේ සම්පූර්ණ කේත පදනම මතක තබා ගැනීම, ඇත්ත වශයෙන්ම කේතය ක්‍රියාත්මක කිරීම සහ සත්‍යාපනය කිරීම, නවතම පුස්තකාල අනුවාදයන් නිසැකවම දැන ගැනීම, සියයට සියයක් වගකීමක් සහිතව ආරක්ෂක දුර්වලතා හඳුනා ගැනීම. වඩාත්ම භයානක දෙය නම් මායාවයි: ආකෘතිය නොපවතින ශ්‍රිතයක්, පුස්තකාලයක් හෝ API (යෙදුම් අතර දත්ත හුවමාරුව සක්‍රීය කරන අතුරු මුහුණතක්) ඉතා ඒත්තු ගැන්වෙන භාෂාවකින් නිර්මාණය කරයි. මෙම අවධානම ඇත්ත වශයෙන්ම ඔබේ වාසියට හරවා ගත හැක, මන්ද කේතය, සාමාන්‍ය පෙළ මෙන් නොව, එය “ක්‍රියා කරයි” දැයි බැලීමට පරීක්‍ෂා කළ හැකිය - සත්‍යාපන පියවර මඟ හරින්න එපා.

මෙහෙයුම වර්ගය

AI හි කාර්යභාරය

මිනිසාගේ භූමිකාව

බොයිලර් ප්ලේට් / ඇටසැකිල්ල නිෂ්පාදනය කරන්න

කෙටුම්පත නිෂ්පාදනය කරයි

අනුවර්තනය, සමාලෝචන

කේත විස්තරය

ඉක්මන් සාරාංශයක් ලබා දෙයි

කේතයේ තීරණාත්මක කොටස සත්‍යාපනය කරයි

ලිවීමේ පරීක්ෂණ

නඩුව යෝජනා කරයි

ආවරණය සහ නිරවද්යතාව තහවුරු කරයි

ආරක්ෂක-විවේචනාත්මක තර්කනය

ප්රයෝජනවත් අදහසක්

තීරණය සහ වගකීම සම්පූර්ණයෙන්ම මිනිසුන් මත රඳා පවතී.

API/පුස්තකාල භාවිතය

නියැදි ජනනය කරයි

පැවැත්ම සහ අනුවාදය තහවුරු කරයි

වාස්තුවිද්යාත්මක තීරණය

විකල්ප වර්ග

සන්දර්භය දැනගෙන තෝරා ආරක්ෂා කරයි

පියවරෙන් පියවර: මූලික වැඩ චක්රය

  1. කාර්යය පැහැදිලි කරන්න. ඔබට අවශ්‍ය දේ එක වාක්‍යයකින් ලිවිය නොහැකි නම්, ආකෘතියටද නොහැක. පෙර අවිනිශ්චිතතාවය ආදානය තුළට කාන්දු වන තරමට එය ප්‍රතිදානයේ වැඩි වේ.
  2. සන්දර්භය දෙන්න. ප්‍රේරකයට අදාළ කේතය, සම්පූර්ණ දෝෂ පණිවිඩය, භාෂාව/රාමුව අනුවාදය සහ සීමාවන් එක් කරන්න. "මෙය නිවැරදි කරන්න" කියන්න එපා, කියන්න "Python 3.11, FastAPI 0.110; මෙම ශ්‍රිතය 500 දෝෂයක් ලබා දෙයි, ඉල්ලීම් ශරීරය හිස් වූ විට එය පුපුරා යයි".
  3. පැවරීමේ භූමිකාව සහ ආකෘතිය. "ඔබ ජ්‍යෙෂ්ඨ Go සංවර්ධකයෙක්; කේතය සහ වාක්‍ය දෙකේ තාර්කිකත්වය දෙන්න" වැනි රාමුවක් ප්‍රතිදානය නාභිගත කරයි.
  4. කුඩාවට ඉල්ලන්න. එක් යෝධ ඉල්ලීමකට වඩා එය පියවරවලට කඩා දමන්න; එක් එක් පියවර වෙන වෙනම තහවුරු කරන්න. ප්‍රධාන වෙනස්කම් අවදානම් සහගත වන්නේ ඒවා සත්‍යාපනය කිරීමට අපහසු නිසා සහ දෝෂ සැඟවීමට ඉඩ ඇති බැවිනි.
  5. තහවුරු කරන්න. එය ධාවනය කරන්න, එය පරීක්ෂා කරන්න, එය දෘශ්ය ලෙස කියවන්න. සත්‍යාපනය නොකළ AI කේතය "ස්කෙච්" එකක් මිස "විසඳුමක්" නොවේ. මෙය චක්රයේ වඩාත්ම සාකච්ඡා කළ නොහැකි පියවරයි.

කුඩා නඩු තුනක්

නඩුව 1 - කාලය ඉතිරි කිරීම සැබෑ නමුත් නිහතමානී ය. කණ්ඩායමක් AI සමඟින් නව CRUD (Create-Read-Update-Delete) අන්ත ලක්ෂ්‍ය ඇටසැකිලි කළ විට, පළමු කෙටුම්පත් කාලය ආසන්න වශයෙන් මිනිත්තු 40 සිට විනාඩි 8 දක්වා අඩු විය. කෙසේ වෙතත්, සමාලෝචනය සහ පරීක්ෂණ සමඟ, මුළු කාලය විනාඩි 25 ක් විය; එබැවින් සැබෑ ලාභය 40 සිට 25 දක්වා, 38% පමණ වේ. "අපි 10 ගුණයක් වේගවත් කර ඇත" යන අපේක්ෂාව වෙනුවට මනිනු ලබන මෙම අනුපාතය තිරසාර ලාභයකි.

නඩුව 2 - මායාව මිල අධිකයි. සංවර්ධකයෙකු වලංගු කිරීමකින් තොරව AI-යෝජිත ඉල්ලීම්.get_json() ඇමතුම භාවිතා කළේය; එවැනි ක්‍රමයක් නොතිබුණි (හරියටම ප්‍රතිචාරය.json()). කේතය සම්පාදනය නොකළ විට විනාඩි 20 ක් අහිමි විය. සරල "මෙම ක්රමය ඇත්තටම පවතීද?" සත්‍යාපනය පාඩුව නැවත සකසනු ඇත.

නඩුව 3 - හොඳ සන්දර්භය ප්රතිදානය දෙගුණ කරයි. එකම දෝෂය සඳහා, එක් සංවර්ධකයෙකු සරලව "මට දෝෂයක් ලැබේ" යනුවෙන් ලියා ඇති අතර අනෙකා සම්පූර්ණ අට්ටි ලුහුබැඳීම, අනුවාදය සහ ආදාන නියැදිය එක් කළේය. දෙවැන්න පළමු උත්සාහයේදීම නිවැරදි විසඳුම ලබා ගත්තේය; පළමුවැන්නා වාර තුනක් ගත කළේය. වෙනස තිබුණේ ආකෘතියේ නොව ආදානයේ ය.

පිටපත් කළ හැකි සැකිලි හතරක්

පොදු අරමුණ, බලවත් ආරම්භක විමසුම:

භූමිකාව: ඔබ පළපුරුදු {{භාෂාව}} සංවර්ධකයෙකි. කාර්යය: {{what_want}}සන්දර්භය:- රාමුව/අනුවාදය: {{framework_and_version}}- සීමා කිරීම්: {{කාර්ය සාධනය, විලාසය, පරායත්තතා රීති}}රීති:- නොපවතින පුස්තකාලය/ක්‍රියාකාරීත්වය භාවිතා නොකරන්න; ඔබට විශ්වාස නැතිනම්, එය "සත්‍යාපනය" ලෙස සලකුණු කරන්න. - පළමුව, කෙටි සැලැස්මක් දෙන්න, පසුව කේතය, පසුව යුක්තිසහගත වාක්ය 2 ක් දෙන්න. - පරීක්ෂා කළ හැකි, වැඩ කරන කේතය නිෂ්පාදනය කරන්න.

අවිනිශ්චිතතාවය නැවත ආකෘතියට පෙරීමට:

පහත කාර්යය විසඳීමට පෙර, ප්‍රශ්න ලෙස ඔබට නැතිවූ හෝ නොපැහැදිලි බව පෙනෙන කරුණු 3ක් වත් ලැයිස්තුගත කරන්න. මම පිළිතුරු දීමට පෙර කේතය ලියන්න එපා. කාර්යය: {{task}}

ප්‍රතිදානය ස්වයං පරීක්‍ෂා කර ගැනීමට:

ඔබ පහත කේතය නිපදවා ඇත. දැන් ඔබේ භූමිකාව වෙනස් කර මෙම කේතය විවේචනය කරන්න:- ක්‍රියා නොකළ හැකි අවස්ථා 3 (දාර අවස්ථා) ලැයිස්තුගත කරන්න.- ඔබට සෑදිය හැකි APIs/Functions තිබේද? ලකුණු කරන්න.- නිවැරදි කළ අනුවාදය ලබා දෙන්න. කේතය:{{code}}

තීරණයක් විකල්ප වලට බෙදීමට:

{{ගැටලුව}} සඳහා විසඳුම් ප්‍රවේශයන් 2-3ක් යෝජනා කරන්න. එක් එක් සඳහා: කෙටි විස්තරය, එකතු/අඩු කිරීම, තෝරාගත යුත්තේ කවදාද යන්න. වගු ආකාරයෙන් ලබා දෙන්න. මා වෙනුවෙන් තෝරා නොගන්න; විකල්පය පැහැදිලි කරන්න.

දුර්වල ක්ෂණික / ශක්තිමත් විමසුම

දුර්වල: "මෙම කේතයේ දෝෂය නිවැරදි කරන්න." (මොන දෝෂයද? කුමන භාෂාවද? අපේක්ෂිත හැසිරීම කුමක්ද?)
ප්‍රබල: "Python 3.11 / FastAPI 0.110. ඉල්ලීම් අන්තර්ගතය හිස් වූ විට පහත අන්ත ලක්ෂ්‍යය KeyError සමඟ 500 ලබා දෙයි; මට එය 400 සහ අර්ථවත් පණිවිඩය හිස් සිරුරේ ආපසු ලබා දීමට අවශ්‍යයි. පළමුව හේතුව පැහැදිලි කරන්න, පසුව නිවැරදි කළ කාර්යය ලබා දෙන්න, පසුව මෙම අවස්ථාව සඳහා පරීක්ෂණයක් ලියන්න. [කේතය]"

බලවත් අනුවාදය; එය භාෂාව, අනුවාදය, සැබෑ දෝෂය, අපේක්ෂිත හැසිරීම සහ ප්රතිදාන ආකෘතිය ලබා දෙයි. ආකෘතිය තවදුරටත් අනාවැකි කිව යුතු නැත.

පොදු වැරදි

  • තහවුරු කිරීමකින් තොරව විශ්වාස කිරීම. වඩාත්ම පොදු හා වඩාත්ම මිල අධික වැරැද්ද. කේතය සම්පාදනය කර පරීක්ෂා කරන තුරු "විසඳුම්" නොකියන්න.
  • සන්දර්භය නොමැතිව ප්රශ්න ඇසීම. අනුවාදය, දෝෂ පෙළ සහ සීමාවන් නොමැතිව පිළිතුර සාමාන්‍ය වන අතර බොහෝ විට වැරදිය.
  • එක ලොකු ඉල්ලීමක්. පේළි 300ක නිෂ්පාදනයක් එකවර ඉල්ලීමට සහ සමාලෝචනය කිරීමට නොහැකි වීම වැරදි නොපෙනී යයි.
  • නිරූපිකාවගේ ආත්ම විශ්වාසය සාක්ෂියක් ලෙස වරදවා වටහා ගැනීම. AI හට විශ්වාසයෙන් වැරදි දෙයක් පැවසිය හැක; ස්වරය නිරවද්‍යතාවයේ දර්ශකයක් නොවේ.
  • සමාගමේ රහස අහඹු ලෙස ඇලවීම. පුද්ගලික යතුරු, පාරිභෝගික දත්ත හෝ පුද්ගලික මූලාශ්‍ර කේතය අනුමත නොකළ මෙවලම්වලට ඇතුළත් නොකළ යුතුය (අපි මෙම මාතෘකාව ඒකකය 10 තුළ සොයා බලමු).
ඉඟිය: සෑම AI ප්‍රතිදානයක්ම "මෙය කෙටුම්පතක්" ලෙස සලකන්න. මෙම තනි මානසික පුරුද්ද ඔබ මොඩියුලය පුරා දකින බොහෝ අවදානම් නිවා දමයි.

සාරාංශයක් ලෙස

කේතීකරණ සහායක යනු ඊළඟට බොහෝ දුරට ඉඩ ඇති කොටස පුරෝකථනය කරන භාෂා ආකෘතියකි; එය කේතය තේරුම් නොගනී, එය රටා නිපදවයි. ඔහු පුනරාවර්තන, සූත්‍ර රැකියා වලින් ශක්තිමත් වන්නේ එබැවිනි; එය ඔබගේ සන්දර්භයට විශේෂිත වූ සත්‍යාපනය අවශ්‍ය වැඩ සඳහා ප්‍රවේශමෙන් භාවිතා කළ යුතුය. ලොකුම අවදානම මායාවයි, සහ එකම ප්‍රතිවිරෝධය සත්‍යාපනයයි. සම්පූර්ණ මොඩියුලය පුරාවටම අප අනුගමනය කරන විනය පැහැදිලිය: කාර්යය පැහැදිලි කරන්න, සන්දර්භය දෙන්න, කුඩා ඉල්ලන්න, එක් එක් බෙදාහැරීම වලංගු කරන්න.

යෙදුම් කාර්යය

පසුගිය සතියේ ඔබ කළ මෘදුකාංග කාර්යයන් තුනක් ලියන්න (උදා: දෝෂ නිවැරදි කිරීමක්, පරීක්ෂණයක්, README යාවත්කාලීනයක්). ඒ සෑම එකක් සඳහාම "ශක්ති සහ දුර්වලතා සිතියම" දෙස බලා, AI ඔබට මෙය කළහොත් ඔබේ සහ AI හි කාර්යභාරය කුමක්දැයි එක් වාක්‍යයකින් විස්තර කරන්න. ඉන්පසු ඉහත “ආරම්භක විමසුම” අච්චුව සමඟින් මෙම කාර්යයෙන් එකක් AI වෙත ලබා දී ප්‍රතිදානය ධාවනය කර සත්‍යාපනය කරන්න; ඔබ විනාඩි කීයක් ඉතිරි කළාද සහ ඔබට නිවැරදි කළ යුතු වැරදි ගණන සටහන් කරන්න.

පිරික්සුම් ලැයිස්තුව

  • [ ] LLM විසින් රටා නිපදවන බවත්, කේතය "තේරුම්" නොවන බවත් මට වැටහුණි.
  • [ ] මට ටෝකනය, සන්දර්භය කවුළුව සහ ප්‍රොම්ප්ට් යන සංකල්ප එක් වාක්‍යයකින් පැහැදිලි කළ හැක.
  • [ ] මට AI ප්‍රබල සහ දුර්වල කාර්යයන් අතර වෙනස හඳුනා ගත හැක.
  • [ ] මායාව යනු කුමක්දැයි මම දනිමි සහ එකම ප්‍රතිවිරෝධය සත්‍යාපනයයි.
  • [ ] මම "යෝජනා කරන්න, නිෂ්පාදනය කරන්න, සත්‍යාපනය කරන්න" චක්‍රය මගේම කාර්යයට අනුගත කළෙමි.
  • [ ] මට සංයුක්ත උදාහරණයක ප්‍රබල විමසුමක් සහ දුර්වල ප්‍රේරකයක් අතර වෙනස පෙන්විය හැක.