Wakala wangu wa coding alikumbuka vikao, siyo kazi
Wakala wa coding anaweza kuweka mfululizo wa mazungumzo (thread) hai lakini bado akahisi kama anasahau.
Nilikutana na tatizo hili wakati nikitengeneza CliGate. Nilitatua suala la mwendelezo wa kikao (session continuity), lakini kazi zinazojirudia zilikuwa bado polepole sana.
Wakala alikumbuka mazungumzo, lakini hakukumbuka kazi.
Mwendelezo wa kikao unatatua tatizo moja. Unasaidia kwa amri za ufuatiliaji kama:
- endelea
- fanya vivyo hivyo kwa faili hili
- jaribu tena hiyo
Hiyo ni muhimu. Lakini haisaidii unaporudia mtiririko wa kazi (workflow) siku kadhaa baadaye.
Wakala anahitaji kukumbuka kile kilichofanya mzunguko uliopita ufanikiwe. Anahitaji kujua:
- ni kitufe gani kinafanya kazi
- ni hatua gani haina mwisho (dead end)
- ni sehemu (field) gani inahitaji ushughulikiaji maalum
- ni sheria gani unataka itumike kila wakati
Mzunguko wa kwanza ndio wenye gharama kubwa zaidi. Hapo ndipo wakala anapochunguza na kupata maelezo ambayo hayapo kwenye maelekezo yako (prompt).
Kabla ya marekebisho yangu, maelezo haya yalikuwa kwenye kumbukumbu ghafi (raw logs) pekee. Wakala alikuwa na historia, lakini hakuwa na kumbukumbu inayoweza kutumika tena. Alilazimika kugundua kila kitu upya kila wakati.
Hiyo si akili. Hiyo ni kulipia gharama ile ile ya kutafuta makosa (debugging) mara mbili.
Njia isiyo sahihi ni kuhifadhi historia nyingi zaidi na kutumaini kuwa modeli itaitumia. Hiyo inatengeneza kelele (noise).
Badala yake, nilijenga tabaka dogo la kumbukumbu linaloweza kutumika tena. Nilijikita kwenye:
- taratibu (procedures)
- ukweli (facts)
- maelekezo (directives)
- marejeleo (references)
Niliacha kujaribu kuhifadhi kila kitu kilichotokea. Nilianza kuhifadhi kile kinachopaswa kukumbukwa.
Sasa, msaidizi anatumia tabaka la kumbukumbu linalozingatia faili ili kukumbuka:
- taratibu: hatua bora na njia zisizofaa zilizojulikana
- ukweli: URL au mipangilio maalum
- maelekezo: jinsi unavyotaka mambo yafanyike
- marejeleo: mahali nyaraka (documentation) zilipo
Hivi ndivyo watu wanavyofanya kazi.
Sitaki marudio kamili ya yaliyopita kwa sababu miongozo (interfaces) inabadilika na vitufe vinahama. Nataka wakala:
- Akumbuke taratibu bora inayojulikana
- Ajaribu kwanza
- Athibitishe kila hatua
- Arudi kwenye uchunguzi ikiwa itafeli
- Aboreshe kumbukumbu baada ya kufanikiwa
Hii inageuza otomatiki dhaifu kuwa kumbukumbu ya kiutendaji yenye manufaa.
Pia nilitenganisha sheria za kudumu kutoka kwenye historia ya mazungumzo. Sheria kama "jibu kila wakati kwa Kichina" au "usiguse data za uzalishaji (production data)" si muktadha wa kikao. Ni sheria za uendeshaji.
Mara tu nilipotenganisha hizi, msaidizi akawa na uwezo wa kutabirika. Hatakiwi tena kugundua upendeleo wako katikati ya kazi.
Kazi zinazojirudia sasa ni fupi zaidi. Msaidizi anasonga haraka kwa sababu hauanzi na modeli tupu kila wakati.
Usichanganye mfululizo wa mazungumzo (continuous thread) na mfumo unaojifunza.
Kikao kinatunza mazungumzo hai. Kumbukumbu inatunza mafunzo yenye manufaa hai.
Ikiwa unatengeneza wakala wa coding, jiulize: Je, mfumo wako unakumbuka mfululizo wa mazungumzo, au unakumbuka taratibu iliyofanikiwa?
Chanzo: https://dev.to/codekingai/my-coding-agent-remembered-sessions-not-work-that-was-the-bug-2fig
