𝗔𝗴𝗲𝗻𝘁𝗶 wa Kodingi Huandika Swift Vizuri, Lakini Hawamalizi
Nilitumia miezi kadhaa nikijaribu agent za kodingi za AI kwenye kazi halisi za Swift na Xcode. Sikutumia maonyesho (demos) rahisi. Nilizipa kazi halisi zenye malengo ya ujenzi (build targets) na majaribio (tests).
Rasimu ya kwanza kwa kawaida huwa nzuri. Model yenye uwezo huandika kodi inayoonekana kuwa sahihi. Aina za data (types) zinaendana. Mitazamo (views) inaeleweka. Ikiwa kuandika Swift ingekuwa tatizo pekee, zana hizi zingekuwa zimekamilika.
Tatizo halisi hutokea baada ya rasimu ya kwanza. Ni pengo kati ya kodi inayoonekana imekamilika na kodi ambayo ni sahihi kweli.
Zana za kisasa kama Claude Code au Codex hushughulikia makosa ya uundaji (compile errors) vizuri. Hazikupi kodi inayoshindwa kujengwa (build). Kushindwa kwa kweli ni kile ambacho kiondoa makosa (compiler) hakiwezi kuona.
Kushindwa huku kunapoteza muda wangu:
• Kutofautiana kwa nia (Intent mismatch): Kodi inajengwa na majaribio yanapita. Hata hivyo, tabia yake ni mbaya. Agent hufuata ishara ya kijani ya jaribio lililopita badala ya lengo lako halisi. Haina njia ya kuhakiki nia.
• Mashindano ya uendeshaji sambamba (Concurrency races): Kodi inajengwa bila hitilafu lakini ina mashindano ya data (data races). Haya huonekana wakati tu wa utendaji (runtime). Agent huona ujenzi wa kijani na kuendelea. Kurekebisha haya kwa kawaida kunahitaji usanifu upya, jambo ambalo agent hushindwa kufanya.
• Mizunguko ya urejeo (Regression loops): Agent hurekebisha hitilafu (bug) moja lakini inaharibu nyingine. Wakati ikirekebisha hitilafu ya pili, inafuta marekebisho ya kwanza. Inaingia kwenye mzunguko ambapo inayumba kati ya hali mbili mbovu. Inakosa kumbukumbu ya kile kilichoshindwa hapo awali.
• Usanifu mbaya (Poor architecture): Agent huandika kodi inayopingana na mfumo (framework). Inapuuza muundo wa programu yako. Inafanya kazi kwa skripti ya muda lakini inashindwa kwenye kanuni za kodi (codebase) halisi.
Haya si matatizo ya lugha. Model inajua Swift. Inakosa kile ambacho compiler haiwezi kuona. Haijui ikiwa matokeo yanaendana na nia yako au ikiwa muundo ni wa kitaalamu.
Hii inahamisha gharama kutoka kwenye tokeni kwenda kwenye umakini. Agent inayokulazimu kuifuatilia kila baada ya hatua chache hajakuepushia kazi. Imegeuza uandishi kuwa usimamizi.
Ninaboresha matokeo yangu kwa kubadilisha mzunguko unaozunguka model. Ninazingatia kile ambacho agent hukagua na kukumbuka.
Je, hii inafanana na uzoefu wako? Unaporun agent kwenye mifumo ya Apple, ni wapi inapofeli? Je, ni kutofautiana kwa nia, mashindano ya runtime, au kitu kingine?
Chanzo: https://dev.to/jbrackin/coding-agents-are-good-at-writing-swift-theyre-bad-at-finishing-it-md3
Jumuiya ya kujifunza ya hiari: https://t.me/GyaanSetuAi
