"Ar trebui să folosești mai mult Bash." În ultimele săptămâni, Thariq de la Anthropic a avut conferințe telefonice cu zeci de companii care produc agenți cu scop general. Asistenți de email, roboți de servicii pentru clienți, gestionarea programelor – există tot felul de formulare de produs. După ce au stat de vorbă o vreme, s-a surprins repetând aceeași propoziție iar și iar. Bash? Nu este acesta un instrument de linie de comandă pentru programatori și ce legătură are cu aceste produse? Să analizăm mai întâi un scenariu specific. Să zicem că ai un agent de e-mail și îl întrebi: "Cât am cheltuit pe taxi săptămâna asta?" ” Abordarea tradițională este aceasta: agentul sună API-ul pentru a extrage emailul, poate prelua 100 de emailuri simultan și apoi cere modelului să găsească chitanțe de la Uber și Lyft de la acesta, adunând suma. Problema este că 100 de mesaje sunt înghesuite în context, iar modelul trebuie să le rețină în același timp, să le filtreze și să le calculeze. Acest lucru nu este ușor pentru modelele de limbaj mari. Este ușor să ratezi, e ușor să faci greșeli și nu poți verifica ce emailuri citește. Aceasta este o problemă tipică de zonă de confort a modelului: cantitatea de date nu este suficient de mare pentru a fi procesată de un program special, dar depășește capacitatea modelului de a efectua calcule dificile de o singură dată. Prins la mijloc, e stânjenitor. Soluția lui Thariq este să ofere agentului un instrument Bash și să-l lase să salveze rezultatele intermediare ca fișier. Sună simplu, dar logica din spatele ei este interesantă. Un apel tradițional al uneltelor ar fi așa: Instrumentul → modelul procesează → ieșire Toate stările intermediare se află în "creierul" modelului, pe care nu îl poți vedea și nici verifica. După trecerea la Bash, procesul s-a schimbat: Unelte → fișiere de salvare→ căutare/filtru → procesare a modelului → rezultate de ieșire ...