Olen yhä vakuuttuneempi siitä, että Unix-työkalujen lähestymistapa, jossa on joukko kohdennettuja, kootettavia funktionaalisia yksiköitä, joita voi käyttää erillään tai osana suurempaa putkistoa, on myös paras tapa työkalujen rakentamiseen koodausagenteille. Ongelma suuren yhtenäisen järjestelmän tekemisessä, joka hoitaa kaiken, on se, että ihmisillä on omat työnkulunsa ja tapansa tehdä kehitystä, ja on yleensä liian vaikeaa yrittää tehdä yhtä kaikille sopivaa projektia, joka pystyy toteuttamaan sen ilman, että siitä tulee laaja monimutkaisuus, joka ei toimi hyvin käytännössä. Minulla on siis yksi työkalu agenttisähköpostille, yksi työkalu tehtävien hallintaan (Steve Yeggen helmet), yksi työkalu tehtävien valintaan (bv), yksi työkalu menneisyyden historian hakuun (cass), yksi työkalu polyglottien linttaamiseen ja bugien tunnistamiseen (UBS), yksi herkkä komentojen käsittely (SLB), yksi tmux- ja agenttisessioiden hallintaan (ntm), yksi muistiin (csm) jne. Ja voit käyttää yhtä niistä, joitakin tai kaikkia. Ja ne ovat osittain integroituneita toisiinsa, mutta aina valinnaisesti. SLB voi siis käyttää agenttipostia, jos se on käytössä, mutta se toimii myös itsenäisesti. Ja NTM voi näyttää tietoja BV:stä, mutta se ei ole pakotettua. Ne muuttuvat pieniksi Lego-palikoiksi, joita voit käyttää rakentaaksesi minkä tahansa järjestelmän, ja on helppo luoda omia pieniä työkaluja, joilla voit lisätä haluamasi toiminnallisuuden. Sitten AGENTS dot md -tiedostosi muuttuu eräänlaiseksi käyttöjärjestelmäksi, jossa "asennat" työkalut agentin työmuistiin ja konfiguroit ne kuvailemalla, miten, milloin ja miksi niitä käytetään (outoa kyllä, nyt täytyy huolehtia siitä, miten kone suostutellut käyttämään työkaluja!) Voit siis asettaa kaikki työkalusi koneellesi, mutta aktivoida vain tietyt projektin mukaan lisäämällä vain tarvittavat tekstit, joissa selitetään, mitä työkaluja haluat käyttää.