Joost Faassen

T3 Code is waar ik werk

Een lege oranje systeemkaart op een lichte houten tafel, in koel raamlicht.

Het grootste deel van mijn dag speelt zich af in een app die T3 Code heet. Het is een open-source controlelaag voor coding agents, wat een wat grootse manier is om te zeggen dat het Claude Code, Codex, Cursor, Grok en de anderen op één scherm zet, met de abonnementen die ik toch al betaal. Elke taak die ik aan een agent geef wordt een thread. De thread onthoudt welk model ik koos, welke bestanden hij aanraakte en wat we tegen elkaar zeiden, en hij blijft op mijn machine draaien nadat ik het venster sluit. Op elk willekeurig moment heb ik er een stuk of twaalf lopen over verschillende projecten, en dat is precies waarom ik iets nodig had om ze allemaal vast te houden. T3 Code legt het product zelf goed uit. Deze notitie gaat over de ene gewoonte die ik erbovenop heb gebouwd.

De desktop-app ziet er zo uit: threads links, het gesprek in het midden, de diff rechts. De afbeelding is die van de homepage van t3.codes.

T3 Code op de desktop. Threads links, het gesprek in het midden, een diff rechts. Settled threads zitten ingeklapt onderaan de lijst.

T3 heeft een eigen handleiding voor die lijst, Working with threads, over pinnen, settlen, snoozen en een sectie die Working heet. Dat is allemaal goed zoals het is. Wat ik toevoeg is een manier om te beslissen wat ik met de lijst doe, want zonder regel wordt het dezelfde stapel open tabbladen waar ik juist vanaf wilde.

Het eerste wat ik doe is de Working-sectie aanzetten, onder Settings en dan General. Met die aan verdwijnt een thread uit de actieve lijst zodra ik er een bericht naartoe stuur, en wacht hij onder Working terwijl de agent bezig is. Hij komt pas terug bovenaan als er echt iets is gebeurd: hij is klaar, hij is gefaald, of hij heeft mijn goedkeuring of een antwoord nodig. Threads die ik heb gepind blijven waar ik ze heb gepind. T3 beschrijft dit onder Fold working threads.

Zodra dat loopt, wordt mijn werk een stuk kleiner, omdat ik de hele lijst niet meer hoef te scannen. Ik kijk naar de thread die net bovenaan is teruggekomen, en ik geef hem één van drie antwoorden.

Als nog één bericht er iets van zou maken dat ik echt zou publiceren, schrijf ik dat bericht en zakt de thread terug naar Working. Als ik weet dat ik hem morgen niet meer zou openen, settle ik hem, waardoor het gesprek bewaard blijft maar van de lijst verdwijnt. En als ik het uur kan noemen waarop hij er weer toe doet, snooze ik hem tot dan. Een gesnoozede thread blijft verborgen terwijl de agent doorwerkt, en komt eerder terug als hij mij nodig heeft of als de run faalt.

Daarna ga ik door met wat er nu bovenaan staat. Ik ben gestopt met de lijst sorteren of rijen slepen naar een volgorde die me beter bevalt, omdat de volgorde met Working aan gewoon de volgorde is waarin threads bij me terugkwamen, en dat blijkt een betere prioriteitenlijst dan alles wat ik met de hand zou bouwen. Een gesnoozede thread die wakker wordt terwijl zijn agent nog bezig is gaat terug onder Working in plaats van voor te dringen, en een gepinde die wakker wordt gaat terug naar zijn pin.

Wat ik hieraan fijn vind is dat de agent al het voorbereidende werk in de thread doet, en dat ik nog steeds beslis wat er daarna gebeurt. Het is dezelfde regel als in De mens beslist nog steeds, toegepast op een lijst in plaats van op één bestand.