ලාභ:
- මෘදුකාංග සංවර්ධන ජීවන චක්රයේ සැබෑ වේගය AI සපයන්නේ කොතැනද සහ තීරණය සහ වගකීම ඉංජිනේරුවරයා සතුව පවතින්නේ කොතැනද යන්න වෙන්කර හඳුනා ගැනීමේ හැකියාව
- සම්පාදනය කිරීම, පරීක්ෂා කිරීම සහ සමාලෝචනය හරහා නිපදවන සෑම කේතයක්ම සහ නිර්මාණයක්ම සත්යාපනය කරන තට්ටු තුනකින් යුත් ඉංජිනේරු විෂයයක් යෙදීමේ හැකියාව.
- රහස්ය මූලාශ්ර කේතය, අක්තපත්ර සහ පාරිභෝගික දත්ත බෙදා නොගෙන AI ප්රයෝජනයට ගැනීමට සන්දර්භය නිෂ්කාශනය කිරීමට පුරුදු වන්න
ඔබ පරිගණක ඉංජිනේරුවෙකුගේ දිනය දෙස බලන විට, බොහෝ කණ්ඩායම්වල පින්තූරය සමාන වේ: ව්යාපාරික ඉල්ලීමක් තේරුම් ගැනීම, සැලසුම් කිරීම, කේතය ලිවීම, වෙනත් කෙනෙකුගේ කේතය කියවීම, දෝෂහරණය කිරීම (වැඩසටහනක් වැරදි ලෙස ක්රියා කරන්නේ මන්දැයි සොයා බැලීමේ ක්රියාවලිය සහ එය නිවැරදි කිරීම), පරීක්ෂණ ලිවීම, ලේඛන සකස් කිරීම, කේතය සමාලෝචනය කිරීම සහ රැස්වීම්වලට සහභාගී වීම. වෙනත් වචන වලින් කිවහොත්, සැබෑ "ඉංජිනේරු විනිශ්චය" සඳහා කැප කළ කාලය, එනම්, විසඳුමක් නිවැරදිද, ආරක්ෂිතද සහ තිරසාරද යන්න පුනරාවර්තන වැඩ යටතේ තලා දමනු ලැබේ. කෘතිම බුද්ධිය (කෙටියෙන් AI; විශාල භාෂා ආකෘතියක් සහිත පෙළ සහ කේත මත ක්රියා කරන මෘදුකාංග) ක්රියාත්මක වන්නේ මෙහිදීය. AI ඔබ වෙනුවෙන් තීරණයක් නොගනී; එය තීරණය සඳහා ඔබව සූදානම් කරයි, කේත ඇටසැකිල්ලක් නිපදවයි, දෝෂය අඩු කර වැඩ කරන ලද කෙටුම්පතක් ඔබ ඉදිරියෙහි තබයි. මෙම මොඩියුලය පුරාවටම අපි AI ස්ථානගත කරන්නේ “ස්වයංක්රීය ක්රමලේඛකයෙකු” ලෙස නොව විනයගරුක යුගල ක්රමලේඛන හවුල්කරුවෙකු ලෙසය.
මෙම පළමු ඒකකය තුළ, අපි කරුණු තුනක් පැහැදිලි කරන්නෙමු: මෘදුකාංග සංවර්ධන ජීවන චක්රයේ කුමන අවධීන්හිදී (මෘදුකාංගයක් අදහසේ සිට නිෂ්පාදනය දක්වා ගමන් කරන අදියර: විශ්ලේෂණය, සැලසුම් කිරීම, කේතීකරණය, පරීක්ෂා කිරීම, යෙදවීම, නඩත්තු කිරීම) AI සැබෑ වටිනාකමක් එක් කරයි; ඉංජිනේරුවරයා සමඟ දැඩි ලෙස පැවතිය යුතු තීරණ කවරේද; සහ මෙය සිදු කිරීමේදී ඔබ පිළිපැදිය යුතු සත්යාපනය සහ රහස්ය භාවය කුමක්ද? මෙම වහලය නිවැරදිව ස්ථාපනය නොකළහොත්, පසුකාලීන ඒකකවල තාක්ෂණික ක්රම අනතුරුදායක විය හැකිය; මක්නිසාද යත් මෘදුකාංගයේ දෝෂයක් එකවර මිලියන ගණනක් පරිශීලකයින් වෙත ළඟා වන අතර එය ආරක්ෂක අවදානමක් බවට පත්විය හැකිය.
සංකල්ප: මායාව: ක්රමයක්, පුස්තකාලයක්, API, හෝ සත්ය වශයෙන්ම නොපවතින හැසිරීම් පිළිබඳ AI විසින් ඒත්තු ගැන්වෙන ප්රබන්ධයකි. සන්දර්භය: ඔබ AI වෙත ලබා දෙන ආදානය (කේතය, දෝෂ පණිවිඩය, අවශ්යතාවය, සීමාවන්). සත්යාපනය: ස්වාධීන ආකාරයකින් ප්රතිදානය පරීක්ෂා කිරීම (සම්පාදනය, පරීක්ෂා කිරීම, ලේඛනගත කිරීම). මෙම සංකල්ප තුන සමස්ත මොඩියුලයේ කොඳු නාරටිය වේ.
AI ඇක්සලරේටරය තිබෙන්නේ කුමන ව්යාපාරවලද, කුමන ව්යාපාරවල එය අවදානම්ද?
මෘදුකාංග රැකියා ප්රතිඵල අනුව දෙපැත්තකින් යුත් වර්ණාවලියක් මත වැටේ. එක් කෙළවරක ආපසු හැරවිය හැකි, අඩු අවදානම් සූදානම් කිරීමේ කටයුතු; අනෙක් අන්තයේ, නිෂ්පාදන පරිසරයට ඇතුළු වන, ආපසු පැමිණීමට අපහසු කාර්යයන් ඇති අතර දත්ත නැතිවීම, ආරක්ෂක දුර්වලතා හෝ බාධා කිරීම් ඇති විය හැක. ඔබ මෙම වර්ණාවලියේ සිටින ස්ථානය අනුව AI හි අගය වෙනස් වේ.
ව්යාපාර වර්ගය
AI දායකත්වය
ඉංජිනේරු භූමිකාව
කේත ඇටසැකිල්ල / බොයිලේරු තහඩුව
පුනරාවර්තන ව්යුහයේ වේගවත් උත්පාදනය
තාර්කික සහ අන්ත තත්ව පාලනය
නිදොස් කිරීම
උපකල්පනය සහ හැකි හේතු ලැයිස්තුව
ප්රජනනය සහ මූල හේතුව තහවුරු කිරීම
ලිවීමේ පරීක්ෂණ
පරීක්ෂණ කෙටුම්පත සහ අවස්ථා නිර්මාණය
අර්ථවත් තහවුරු කිරීම සහ විෂය පථය පරීක්ෂා කිරීම
නැවත සකස් කිරීම
නැවත සකස් කිරීමේ යෝජනාව
පරීක්ෂණ මගින් හැසිරීම් පවත්වා ගැනීම
ලේඛනගත කිරීම
පළමු කෙටුම්පත සහ ව්යුහය
කේතයට එරෙහිව නිවැරදි භාවය පරීක්ෂා කරන්න
වාස්තුවිද්යාත්මක/ආරක්ෂක තීරණය
විකල්ප සහ වාසි සහ අවාසි ලැයිස්තුව
අවසාන තීරණය සහ වගකීම
රීතිය සරලයි: AI ප්රතිදානයක අවදානම එම ප්රතිදානය දෝෂයක් ඇති කළහොත් එය සිදු වන හානියට සමාන වේ. විචල්ය නාමයක් වැරදි ලෙස යෝජනා කිරීම හානිකර නොවේ; අනිසි සත්යාපනය (පරිශීලකයා සැබවින්ම තමන් යැයි කියා ගන්නා අය දැයි පරීක්ෂා කිරීම) සමස්ත පද්ධතියම අවදානමට ලක් කරයි. එබැවින් ප්රතිදානය භාවිතා කිරීමට පෙර ඇසිය යුතු පළමු ප්රශ්නය වනුයේ: "මෙය වැරදි නම් කුමක් සිදුවේද සහ කවුරුන් එය නිරීක්ෂණය කරන්නේද සහ කවදාද?"
අවවාදයයි: AI චතුර සහ විශ්වාසී කේතයක් නිපදවයි. චතුර බව නිරවද්යතාවය පිළිබඳ සහතිකයක් නොවේ. භාෂා ආකෘතියකට සැබවින්ම නොපවතින ශ්රිත නාමයක්, වැරදි පරාමිති අනුපිළිවෙලක් හෝ අනාරක්ෂිත රටාවක් පවා විශ්වාසනීය ලෙස නිපදවිය හැක. මෘදුකාංගයේ, මෙය කඩදාසි මත රැඳෙන්නේ නැත; එය සම්පාදනය කරයි, ධාවනය කරයි, නිෂ්පාදනයේදී පුපුරා යයි.
ඉංජිනේරුවරයාට භාර දිය යුතු තීරණ
සමහර තීරණ සම්පූර්ණයෙන්ම ස්වයංක්රීය නොවිය යුතුය; තාක්ෂණික, නීතිමය සහ සදාචාරාත්මක අවදානම් දරයි:
- නිෂ්පාදනය සඳහා අනුමැතිය: නිෂ්පාදනයට කේතයක් නිකුත් කිරීම සහ මේ සඳහා වගකීම.
- ආරක්ෂාව සහ ගෘහ නිර්මාණ ශිල්පය: සත්යාපනය, අවසරය, සංකේතනය සහ දත්ත ආකෘතිය වැනි මිල අධික තීරණ.
- බලපත්රය සහ ප්රකාශන හිමිකම: වාණිජ නිෂ්පාදනයේ නිෂ්පාදිත කේතයේ භාවිතය සහ බලපත්ර අනුකූලතාවය.
- රහස්ය දත්ත සමඟ වැඩ කිරීම: පාරිභෝගික දත්ත සමඟ ගනුදෙනු, ප්රභව කේත රහස් සහ අනන්යතා තොරතුරු.
අවවාදයයි: AI විසින් "මෙම කේතය ආරක්ෂිත සහ නිෂ්පාදනය සඳහා සූදානම්" යැයි පැවසුවද, ආරක්ෂක පරීක්ෂාවකින් තොරව මෙය පිළිගැනීම, සැබෑ භාරය යටතේ කේත සමාලෝචනය සහ වලංගු කිරීම පිළිගත නොහැක. ආරක්ෂිත-විවේචනාත්මක කාර්යයේදී, AI ප්රතිදානය කිසි විටෙකත් දක්ෂ ඉංජිනේරුවෙකුගේ අනුමැතිය සඳහා ආදේශකයක් නොවේ; තීරණයකට තුඩු දෙන ඕනෑම නිමැවුමක් ක්රියාත්මක කිරීමට පෙර බලයලත් ඉංජිනේරුවරයා විසින් ස්වාධීනව තහවුරු කර අනුමත කළ යුතුය.
සත්යාපන විනය: ත්රි-ස්ථර පාලනය
අන්ධ ලෙස නොව ජ්යෙෂ්ඨ සමාලෝචකයෙකු මෙන් AI ප්රතිදානය භාවිතා කිරීමට පාලන ස්ථර තුනක් යොදන්න. අපි මොඩියුලය පුරාවටම නැවත නැවතත් කරන මූලික reflex මෙයයි.
- සම්පාදනය සහ ස්ථිතික පරීක්ෂා කිරීම: කේතය ඇත්ත වශයෙන්ම සම්පාදනය කරන්නේ/ක්රියාත්මක වන්නේද? වර්ග දෝෂ, භාවිත නොකළ විචල්ය, නොපවතින API තිබේද? ස්ථිතික විශ්ලේෂණ මෙවලම (එය ධාවනය නොකර කේතය පරීක්ෂා කරන මෙවලම) පවසන්නේ කුමක්ද?
- ස්වාධීන ප්රතිනිෂ්පාදනය (පරීක්ෂණ): කුඩා, දන්නා යෙදවුම් සමඟ කේතය ධාවනය කර ඔබ අපේක්ෂිත ප්රතිදානය ලබා ගන්නේ දැයි බලන්න. දාර අවස්ථා උත්සාහ කරන්න (ශුන්ය, ශුන්ය, සෘණ, විශාල).
- මූලාශ්ර සත්යාපනය: AI භාවිතා කරන සෑම API, පුස්තකාල අනුවාදයක් සහ භාෂා විශේෂාංගයක්ම නිල ලේඛනවලින් සත්යාපනය කළ යුතුය.
සත්යාපන ප්රේරකය (ප්රතිදානය පරීක්ෂා කිරීම පහසු කරයි): "ඔබගේ කේතයේ ඔබ භාවිතා කරන සියලුම බාහිර පුස්තකාල, ක්රම සහ භාෂා විශේෂාංග ලැයිස්තුගත කරන්න. එක් එක් සඳහා, එය ලබා ගත හැකි අනුවාදය සඳහන් කර එය 'ලේඛන වලින් සත්යාපනය කළ යුතුය' යනුවෙන් ලේබල් කරන්න. ඔබට විශ්වාස නැති API කිසිවක් සාදා නොගන්න; ඔබට විශ්වාස නැත්නම්, ඔබට වෙනම ලිපින ලැයිස්තුවක් ලැයිස්තුගත කර තිබේ නම් 'විශ්වාස නැත' ලෙසද ලියන්න."
ඔබේම කේත විමසුම විවේචනය කරන්න: "ඔබව කුලියට ගත් ජ්යෙෂ්ඨ ඉංජිනේරුවෙකු මෙන් ඔබ දැන් ලියා ඇති කේතය දෙස විවේචනාත්මකව බලන්න. මෙම මාතෘකා තුන යටතේ සංයුක්ත අයිතම ලබා දෙන්න: (1) තාර්කික/ඉදිරි අවස්ථා දෝෂ, (2) ආරක්ෂක අවදානම්, (3) කාර්ය සාධනය හෝ කියවීමේ ගැටළු. සෑම අයිතමයක් සඳහාම, 'ගැටළුවක් වන්නේ ඇයි' යන්න ලියන්න සහ 'ගැටළුවක් සොයා ගැනීමට නොහැකි නම්' කියන්න එපා. එය අලංකාර කිරීමට උත්සාහ කරන්න."
දුර්වල ක්ෂණික / ශක්තිමත් ක්ෂණික
දුර්වල:"මට පරිශීලක සත්යාපන ශ්රිතයක් ලියන්න."(ප්රතිඵලය: කුමන භාෂාවද, කුමන රීතියද, කුමන දෝෂ හැසිරීමද යන්න පැහැදිලි නැත; සාමාන්ය කේතය, බොහෝ විට අනාරක්ෂිත හෝ සන්දර්භයෙන් බැහැරය.)STRONG:"Python 3.11 සඳහා විද්යුත් තැපෑල වලංගු කිරීමේ කාර්යයක් ලියන්න. ආදානය: string. ප්රතිදානය: සත්ය නම්, RFC සඳහා ප්රමාණවත් නොවේ, RFC සඳහා නීති රීති අවශ්ය නොවේ. ප්රමාණවත් බාහිර පුස්තකාලය භාවිතා නොකරන්න: 5-නියැදි පරීක්ෂණයක් ඇමුණුම් කොටස: වලංගු, හිස්, '@' නැත, ද්විත්ව '@', හිස්තැන් පමණි.
වෙනස ඇත්තේ සන්දර්භය තුළ ය. බලවත් ක්ෂණික; එයට භාෂාව, අනුවාදය, ආදාන-ප්රතිදාන ගිවිසුම, සීමාවන් සහ පරීක්ෂණ අපේක්ෂාව ඇතුළත් වේ. මෙම තනි විනය මායාවන් සහ අනාරක්ෂිත කේතයේ අවදානම බෙහෙවින් අඩු කරයි.
කුඩා නඩු
නඩුව 1 - කුමන්ත්රණය කළ ක්රමය. දින පුස්තකාලයක date.addBusinessDays(5) යනුවෙන් ක්රමයක් ඇති බව සංවර්ධකයෙකුට AI වෙතින් අසන්නට ලැබෙන අතර එය විශ්වාසදායක ලෙස පැහැදිලි කරයි. ලියකියවිලි දෙස බලන විට, එවැනි ක්රමයක් නොමැති බව ඔහු දකිනවා, නිවැරදි මාර්ගය වන්නේ manual loop එකකි. මිනිත්තු 10ක සත්යාපනයක් සමඟ නිෂ්පාදනයට යාමට පෙර මායාව අල්ලා ගනු ලැබේ.
නඩුව 2 - Edge state loss. AI "ගණනය කිරීමේ සාමාන්ය" ශ්රිතයක් නිෂ්පාදනය කරයි; එය දත්ත පේළි 1,000ක් සමඟ පරීක්ෂා කළ විට ක්රියා කරයි. කෙසේ වෙතත්, ලැයිස්තුව හිස් වූ විට, එය ශුන්ය දෝෂයකින් බෙදීම ලබා දෙයි. ඉංජිනේරුවරයා හිස් ආදාන පරීක්ෂණය එක් කළ බැවින්, එය සජීවී වීමට පෙර ඔහු දෝෂය දැක නිවැරදි කරයි. තනි දාර තත්ත්ව පරීක්ෂණයක් අලුයම 3ට නිෂ්පාදන අනතුරු ඇඟවීම වළක්වයි.
නඩුව 3 - පෞද්ගලිකත්ව අවදානම. විශේෂඥයෙක් සත්ය දත්ත සමුදා සම්බන්ධතා තන්තුවක් සහ API යතුරක් සහිත ගොනුවක් පොදු මෙවලමකට ඇලවීමට සූදානම් වේ. ආයතනයේ ප්රතිපත්තිය සිහි කරයි; එය රහස් <REDACTED> සමඟ ප්රතිස්ථාපනය කරයි, කේතය නියෝජිත උදාහරණයකට අඩු කරයි, සහ එය ඉල්ලයි. මේ අනුව, ඔහු විනාඩි 5 කින් උදව් ලබා ගනී, නමුත් ඔහුගේ අනන්යතා තොරතුරු පිටතට නොපැමිණේ.
රහස් කේතය සහ අනන්යතා තොරතුරු සමඟ වැඩ කිරීමේ මූලධර්මය
මෘදුකාංගයේ වඩාත්ම සංවේදී කොටස; මූලාශ්ර කේත රහස්, අනන්යතා තොරතුරු (API යතුර, මුරපදය, ටෝකනය) සහ පාරිභෝගික/පුද්ගලික දත්ත. මූලික මූලධර්මය: බෙදා ගැනීමට පෙර පිරිසිදු කරන්න, හැකි නම් නියෝජිත උදාහරණයක් සමඟ ගැටලුවේ සාරය පමණක් විමසන්න.
නිර්නාමික විමසුම් රටාව: "පහත සඳහන් ශ්රිතයේ දෝෂයක් ඇත. මම සැබෑ ව්යාපාර තර්කනය සහ සැඟවුණු නියතයන් නියෝජන අගයන් (API යතුර, වගු නාම, ක්ෂේත්ර නාම ජෙනරික්) සමඟ ප්රතිස්ථාපනය කළෙමි. ගැටළුව: මට ආදානය X හි Y දෝෂයක් ලැබේ. මෙම නියෝජිත කේතයේ තාර්කික දෝෂය සොයාගෙන නිවැරදි කළ අනුවාදය පැහැදිලි කරන්න. [නියෝජිත කේතය]"
ඉඟිය: සැකයක් ඇත්නම්, මෙම පරීක්ෂණය කරන්න: "මම මෙය සංසදයක ප්රසිද්ධියේ ලිව්වොත් මගේ සංවිධානයට කරදරයක් වෙයිද?" පිළිතුර අපැහැදිලි වුවත් පළමුව එය ඉවත් කරන්න. පසුව කාන්දු වීම පසුපස හඹා යාමට වඩා නැවත සැකසීම සැමවිටම ලාභදායී වේ.
පොදු වැරදි
- සම්පාදනය/පරීක්ෂා කිරීමකින් තොරව ප්රතිදානය භාවිතා කිරීම. "AI ලිවීය" යනු යුක්තිසහගත කිරීමක් නොවේ; සෑම කේතයක්ම එය ධාවනය කිරීමෙන් සත්යාපනය කෙරේ.
- සන්දර්භය නොමැතිව ඉල්ලීම් ඉදිරිපත් කිරීම. භාෂාව, අනුවාදය, ආදාන-ප්රතිදානය සහ සීමා කිරීම් ලබා නොදෙන්නේ නම්, කේතය සාමාන්ය වන අතර බොහෝ විට අනාරක්ෂිත වේ.
- නොසිතා රහසිගත තොරතුරු බෙදා ගැනීම. API යතුර, මුරපදය සහ පාරිභෝගික දත්ත හිස් කිරීමකින් තොරව නිකුත් නොකළ යුතුය.
- නිරවද්යතාවයෙන් නිවැරදි භාෂාව ව්යාකූල කිරීම. AI වඩාත් විශ්වාසයෙන් කතා කරන තරමට, ඔබ වඩාත් ප්රවේශම් විය යුතුය; විශ්වාසදායක ස්වරය සාක්ෂියක් නොවේ.
- තීරණය AI වෙත පැවරීම. නිෂ්පාදනය, ආරක්ෂාව සහ ගෘහනිර්මාණ ශිල්පයට ඇතුළත් කිරීමේ තීරණය ඉංජිනේරුවරයා සතුය; AI නිෂ්පාදනය කරන්නේ ද්රව්ය පමණි.
සාරාංශයක් ලෙස
AI මෘදුකාංග කාර්යයේ පුනරාවර්තන සහ කාලය ගතවන කොටස් වේගවත් කරයි: ඇටසැකිලි කේතය, පරීක්ෂණ කෙටුම්පත් කිරීම, දෝෂ පටු කිරීම, ලේඛනගත කිරීම. කෙසේ වෙතත්, තීරණය සහ වගකීම ඉංජිනේරුවරයා සතුව පවතී. සෑම ප්රතිදානයක්ම පාලන ස්ථර තුනක් සමත් විය යුතුය (compile/static, testing, source). සන්දර්භය සමඟ විමසීම් ලිවීම සහ සැඟවුණු තොරතුරු ඉවත් කිරීම මෙම මොඩියුලයේ සෑම ඒකකයකම අපි නැවත නැවතත් කරන ප්රධාන පුරුදු දෙකකි. ඔබ විනයකින් යුතුව AI භාවිතා කරන විට, ඔබට වේගයක් ලැබේ; ඔබ එය විනයකින් තොරව භාවිතා කරන විට, ඔබ නිෂ්පාදනයට දෝෂ සහ දුර්වලතා ගෙන යයි.
යෙදුම් කාර්යය
ඔබේම කාර්යයකින් හෝ මනඃකල්පිත ව්යාපෘතියකින් (උදා: වලංගු කිරීමේ කාර්යයක්) කුඩා කේතීකරණ කාර්යයක් තෝරන්න. මුලින්ම දුර්වල ප්රේරකයක් ලියා ප්රතිදානය ලබා ගන්න. ඉන්පසු මෙම ඒකකයෙන් බලගතු විමසුම් රටාව යොදන්න: භාෂාව/අනුවාදය, ආදාන-ප්රතිදාන ගිවිසුම, සීමා කිරීම් සහ පරීක්ෂණ අපේක්ෂාව එක් කරන්න. ප්රින්ට් අවුට් දෙක දෙපැත්තට දාලා වෙනස ලියන්න. ඉන්පසු ශක්තිමත් ප්රතිදානය සම්පාදනය කර අවම වශයෙන් දාර අවස්ථා තුනකින් (ශුන්ය, ශුන්ය/සෘණ, අනපේක්ෂිත ආකෘතිය) එය පරීක්ෂා කර ඔබ කුමන පරීක්ෂණයෙන් සොයා ගන්නේදැයි සටහන් කරන්න.
පිරික්සුම් ලැයිස්තුව
- [ ] මම ප්රේරකයට භාෂාව, අනුවාදය සහ ආදාන-ප්රතිදාන ගිවිසුම එක් කළෙමි.
- [ ] මම ලිව්වා "ඒක හදන්න එපා, ඔයාට විශ්වාස නැත්නම් මට කියන්න" සහ විෂය පථය සීමා කිරීම.
- [ ] මම කේතය සම්පාදනය කර/ධාවනය කළෙමි, ස්ථිතික අනතුරු ඇඟවීම් සඳහා පරීක්ෂා කළෙමි.
- [ ] මම අවම වශයෙන් දාර අවස්ථා තුනක් සමඟ පරීක්ෂා කළෙමි.
- [ ] මම නිල ලියකියවිලි වලින් භාවිතා කරන API සත්යාපනය කළෙමි.
- [ ] මම කිසියම් රහස් කේතයක්/ අක්තපත්ර ඉවත් කර හෝ ව්යවසාය මෙවලමක් භාවිත කළෙමි.
- [ ] නිෂ්පාදනය සහ ආරක්ෂාව සඳහා තීරණය කිරීම මිනිසා සතු බව මම තහවුරු කළෙමි.