ඉතිහාසයේ පළමුවැනි වරට, AI මොඩලයක් ඔබේ දත්ත ගබඩාවට කළ ප්රශ්නය නිවැරදි වුවත්, එහි පිළිතුර සම්පූර්ණයෙන්ම වැරදි බව ඔබට අහම්බෙන් හමුවේ. මෙවැනි තත්ත්වයක්, සංවර්ධකයන්ට සහ ව්යාපාරිකයන්ට අතිශය අවදානමක් වන අතර, එය කොහොමද සිදු වුනාද කියලා බලමු.
උදාහරණයක් ලෙස, "orders" වගුවේ "details" නමැති jsonb කොළොන්නෙහි "express_delivery" යන ගුණය ඇත්තේදැයි සොයන ප්රශ්නයක් ගැන කතා කරමු. AI ඒජන්ට් එක SELECT count(*) FROM orders WHERE details->>'express_delivery' = 'true' යන SQL විධානය ක්රියාත්මක කරයි. එය "0" ප්රතිඵලයක් ලබා දුන්නාම, වර්තමාන වාර්තාවේ එම ගුණය නොමැති බවට විශ්වාස කරයි. නමුත් සැබැවින්ම 2,317 ඇණවුම් වල එය තිබුණි.
මෙම වැරදි සිදුවීමට හේතුව, PostgreSQL හි jsonb වර්ගය එකම ස්කේලර් වර්ගයක් ලෙස සැලකීමයි. එහි ගොඩනැගීමේ ව්යුහය (nested keys, camelCase, snake_case) දත්ත වශයෙන් පමණක් පවතින අතර, කේතය (catalog) ඒ ගැන කිසිදු තොරතුරක් නොදේ. ඒ නිසා AI ඒජන්ට් එක column නාමය හා සංවාදයෙන් ලබා ගත් තොරතුරු මත පදනම්ව කීයක් හෝ යෝජනා කරයි, නමුත් වැරදි යෝජනා කරද්දී NULL ප්රතිඵලයක් ලැබෙයි. NULL = 'true' ප්රකාශය NULL වෙයි, එය පේළියක් නොදැක්වීමෙන් "දත්ත නැත" කියා වාර්තාවේ පෙනේ.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ සංවර්ධකයන්ට, මෙම ගැටලුවේ අවධානයෙන් ඉගෙන ගත යුතු කරුණු කිහිපයක් ඇත:
- jsonb දත්ත වර්ගය භාවිතා කරන විට, සකස් කළ query වල key නාමය නිවැරදිව හඳුනා ගැනීම අත්යවශ්යය.
- AI මොඩලයක් භාවිතා කරමින් query ලියන විට, එම මොඩලයට තොරතුරු වර්ගය හා ගොඩනැගීම පිළිබඳ ප්රතිපෝෂණයක් (feedback) ලබා දීමට අවශ්ය වේ.
- PostgreSQL හි recursive CTE, jsonb_each, jsonb_array_elements, jsonb_typeof වැනි functions භාවිතා කර server‑side aggregation කිරීමෙන්, AI මොඩලයට අවශ්ය අන්තර්ගතය සරලව ලබා දිය හැක.
මෙම තාක්ෂණික විධානයන් භාවිතා කර, දත්ත ගබඩාව තුළ ගොඩනැගීම් සොයාගැනීමේ කාර්යය සරල කර, AI මොඩලයට වැරදි ප්රශ්න වලින් පසුබැසීමේ අවශ්යතාවය අඩු කරයි. එමඟින් ශ්රී ලංකාවේ startups, data‑driven ව්යාපාර, සහ විශ්ව විද්යාල සිසුන්ට data engineering කුසලතා ඉක්මනින් වර්ධනය කළ හැක.
අවසානයේ, AI ඒජන්ට් එකක් නිවැරදිව පණිවිඩයක් ලබා දීමට, දත්ත ගොඩනැගීමේ සැලැස්ම server‑side එකේම විසඳා ගැනීම වඩාත් විශ්වාසදායකයි. මෙය අපේ දේශීය තාක්ෂණ සමාජයට නව පියවරක් වේ.