Rozprávka o parametri, ktorý zaklapol posledné koliesko
V jednom termináli žil systém menom AI OS Layer.
Nebola to obyčajná aplikácia. Bol to malý stroj zložený z mnohých koliesok: runtime, nástroje, agent, test runner a watcher. Všetko bolo napísané v obyčajnom POSIX shelli.
Stroj vedel robiť zaujímavé veci. Vedel otvárať súbory, prechádzať projekty a používať nástroje ako:
cat
ls
tree
grep
write_file
Keď dostal úlohu, napríklad:
analyzuj projekt a dopíš testy
vedel začať pracovať.
Stroj už mal kroky
Systém od začiatku mal slučku.
Vyzerala približne takto:
AI
↓
tool
↓
AI
↓
tool
↓
AI
Teoreticky teda mohol pracovať dlho.
Ale v praxi sa stávalo niečo zvláštne.
Model niekedy spravil:
tree
cat
cat
finish
Niekedy:
tree
cat
cat
cat
cat
cat
cat
finish
A niekedy dokonca úlohu dokončil.
Ale často sa stalo, že po pár krokoch model jednoducho spadol.
Neodpovedal. Nedal ďalší tool call. Slučka sa prerušila.
A stroj sa zastavil.
Chýbalo posledné koliesko
Stroj teda nebol pokazený.
Len mu chýbal jeden mechanizmus.
Niečo, čo by povedalo:
keď model spadne, skús to ešte raz
Niečo, čo by uzavrelo slučku.
Malý parameter
A tak vznikol parameter:
-mt
Na prvý pohľad znamenal len:
max tools
Ale v skutočnosti robil niečo dôležitejšie.
Držal celú slučku pokope.
Keď model po niekoľkých krokoch spadol alebo skončil prázdnou odpoveďou, runtime ho jednoducho znova zavolal.
Slučka pokračovala.
A zrazu všetko zapadlo
Systém začal fungovať takto:
AI
↓
tool
↓
AI
↓
tool
↓
AI
↓
tool
...
A ak model zakopol, runtime ho znovu postavil na nohy.
Stroj sa nezastavil.
Posledné koliesko
Keď sa toto spravilo, tvorca si uvedomil zvláštnu vec.
Celý systém už vlastne fungoval.
Mal:
- runtime
- nástroje
- agent vrstvu
- test runner
- modely
Len jedno malé koliesko nebolo úplne zacvaknuté.
A parameter -mt ho zaklapol na miesto.
Morálka
Niekedy veľké zmeny neprídu s veľkou architektúrou.
Prídu s malým detailom.
Jedným parametrom.
Jedným mechanizmom, ktorý uzavrie slučku.
A keď sa posledné koliesko zacvakne do stroja, celý mechanizmus sa zrazu začne otáčať tak, ako mal od začiatku.