DEV හි Summer Bug Smash තරඟයේ නවතම සාර්ථකත්වයක් වශයෙන්, AI මොඩලය විසින් ජනනය කරන කේතය ක්රියාත්මක කරන smolagents සැන්ඩ්බොක්ස් එකේ Python හි ඉතා ප්රචලිත unpacking විධානය *rest = scores වැරදි පණිවිඩයක් දක්වමින් අසාර්ථක වීම හෙළිවී තිබේ.
ඇත්තෙන්ම scores යන ලැයිස්තුවේ අයිතම හතරක් තිබුණද, සැන්ඩ්බොක්ස් “Cannot unpack tuple of wrong size” යන දෝෂය උත්පාදනය කරයි. එම පණිවිඩය වැරදියි, මන්ද Python හි a, *b = iterable වැනි වාක්යය ඕනෑම දිගකින් යුත් iterable එකකට අනුකූල වේ. ඒ අමතරව, a, b = "hi" හෝ [a, b] = [1,2] වැනි සාමාන්ය පරිදිද එම සැන්ඩ්බොක්ස් අසාර්ථක වේ.
මෙම ගැටලුවට හේතුව smolagents විසින් භාවිතා කරන AST විශ්ලේෂකයේ set_value ක්රියාවලිය තුළ tuple, list, starred target ආදිය සකස් කිරීමේ අඩුපාඩුය. විශේෂයෙන් starred target (*) නොසලකා, දිග පරීක්ෂා කිරීමේදී len(target.elts) != len(value) යන කොන්දේසියට වැටෙයි. එමෙන්ම strings හා bytes අභ්යන්තරයෙන් බැහැර කර ඇති නිසා, string unpacking පවා වැරදි ලෙස ප්රතික්ෂේප වේ. List pattern එකත් අදාළ branch එකකට නොගොස්, නිශ්ශබ්දව කිසිදු අගයක් නිකුත් නොකරයි.
මෙම වැරදි පණිවිඩය Sentry විසින් රෙකෝඩ් කර ඇති අතර, ඒ නිසා AI ඒජන්ට් එක එකම කේතය නැවත-නැවත යොදා ගැනීමට බලපායි. එම ලූප් එක නිසා වැඩ කාලය වැඩිවීමත්, සම්පූර්ණ ක්රියාකාරිත්වය අත්හිටුවීමත් සිදු වේ. Sentry හි Seer මෙය “starred unpacking not supported” ලෙස හඳුනාගෙන, කේතය CPython ආකාරයට අනුකූල කිරීමට යාවත්කාලීන කිරීමේ යෝජනාව ඉදිරිපත් කරයි.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ Python භාවිතා කරන විද්යාත්මක සිසුන්, පද්ධති සංවර්ධකයන් සහ තාක්ෂණ ආයතන සඳහා මෙම ගැටලුවේ වැදගත්කම අති විශාලයි. බොහෝ විශ්වවිද්යාල පන්ති, මෘදුකාංග ආරම්භක වැඩසටහන් සහ ස්ථානික startup ගණි තුළ unpacking syntax එක ප්රතිදානයේ මූලික කොටසක් වන බැවින්, මෙවැනි බග් එක නිවැරදිව සළකා නොගැනීමෙන් කේත අසාර්ථකතා, කාලය හා සම්පත් අහිමි වීම සිදුවේ.
AI මොඩලයක් මත පදනම්ව code generation කරන පද්ධති භාවිතා කරන සංවර්ධකයන්ට, smolagents වැනි sandbox පරිසරයන්හි නිවැරදි Python interpreter එකක් තිබීම අත්යවශ්ය වේ. මෙය දේශීය සංවර්ධකයන්ට තත්ත්වය හොඳින් තේරුම් ගත හැකි, දෝෂ හඳුනා ගැනීමේ මෙවලම් (Sentry) සමඟ වැඩි දියුණුවක් ලබා දෙයි. එමෙන්ම, Python පාඨමාලා අධ්යයනය කරන සිසුන්ට, මෙවැනි බග් එකේ විශ්ලේෂණය කිරීමෙන් real‑world debugging කුසලතා වර්ධනය කරගැනීමට අවස්ථාව ලැබේ.
අවසන් වශයෙන්, smolagents සංවර්ධකයන් විසින් ඉදිරිපත් කළ යාවත්කාලීන කේතය starred unpacking, string unpacking සහ list pattern unpacking සෑම අවස්ථාවකම CPython සමඟ අනුකූල කරයි. මේ නිසා AI‑driven code generation පරිසරයන්හි විශ්වාසනීයත්වය වැඩි වෙයි, ශ්රී ලංකාවේ තාක්ෂණික නවෝත්පාදනයේ තවත් පියවරක් ඉදිරියට ගෙන යාමට හැකි වේ.