Populære emner
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Jeg har nettopp funnet ut hvordan jeg virkelig kan automatisere agentarbeidsflyten min enda mer med litt tmux-trolldom.
Nå som jeg bruker mcp-agentpostprosjektet mitt til å få en haug med agenter til å snakke med hverandre om å implementere en plan (og også koordinere ved hjelp av perleprosjektet for oppgavestyring), må jeg fortsatt "mate" agentene ved å sette en haug med meldinger i kø i codex for å holde dem opptatt.
Dette innebærer å gå en etter en gjennom de forskjellige tmux-rutene (en for hver codex-forekomst) og lime inn noen hermetiske meldinger eller trykke på pil opp noen ganger for å gjenbruke tidligere meldinger, for eksempel:
"Velg den neste perlen du faktisk kan gjøre nyttig nå, og begynn å kode på den umiddelbart; kommuniser hva du gjør til de andre agentene via agentpost.»
Det føles litt dumt og ineffektivt å gjøre dette, selv om det ikke tar så lang tid å gi hver agent nok instruksjoner til å holde dem opptatt i over en time.
Men nå innså jeg at jeg automatisk kan sette en haug med meldinger i kø i alle relevante tmux-ruter samtidig, ganske enkelt ved å kopiere og lime inn dette i konsollen utenfor tmux-økten (dette er testet og fungerer i zsh):
---
PANES=(${(f)"$(tmux list-panes -a -F '#S:#I.#P' | hale -n +3 | hode -n -2)"})
for rute i $PANES; gjøre
tmux send-keys -t $pane -l 'velg den neste perlen du faktisk kan gjøre nyttig nå og begynn å kode på den umiddelbart; Kommuniser hva du gjør til de andre agentene via agentpost.'
sove 0,1
tmux send-nøkler -t $pane Enter
for i i {1..4}; gjøre
tmux send-keys -t $pane -l 'Fortsett og gjør nyttig arbeid! og kommunisere!'
sove 0,1
tmux send-nøkler -t $pane Enter
gjort
tmux send-keys -t $pane -l 'flott, nå vil jeg at du skal lese nøye gjennom all den nye koden du nettopp skrev og annen eksisterende kode du nettopp endret med "friske øyne" og se supernøye etter eventuelle åpenbare feil, feil, problemer, problemer, forvirring osv.'
sove 0,1
tmux send-nøkler -t $pane Enter
tmux send-keys -t $pane -l 'Sørg for å sjekke agentposten din og svare raskt om nødvendig på meldinger; Deretter fortsetter du nøye med planen, gjør alle gjenværende uferdige oppgaver systematisk og fortsetter å notere fremdriften din i plandokumentet, via perler og via agent-e-postmeldinger. Ikke bli sittende fast i «kommunikasjonsskjærsilden» der ingenting blir gjort; Vær proaktiv når det gjelder å starte oppgaver som må gjøres, men informer dine andre agenter via meldinger når du gjør det, og noter det på linje i plandokumentet. Når du virkelig ikke er sikker på hva du skal gjøre, velg den neste perlen du kan jobbe med og kom i gang.'
sove 0,1
tmux send-nøkler -t $pane Enter
tmux send-keys -t $pane -l 'ok Kan du nå rette oppmerksomheten mot å gjennomgå koden skrevet av dine andre agenter og se etter eventuelle problemer, feil, feil, problemer, ineffektivitet, sikkerhetsproblemer, pålitelighetsproblemer, etc. og nøye diagnostisere deres underliggende årsaker ved hjelp av første-prinsippanalyse og deretter fikse eller revidere dem om nødvendig? Ikke begrens deg til de siste forpliktelsene, kast et bredere nett og gå superdypt!'
sove 0,1
tmux send-nøkler -t $pane Enter
gjort
---
Dette skriptet:
Henter ruter: Finner alle tmux-ruter, unntatt de første 2 og siste 2
Sender 8 meldinger til hver valgte rute:
"Velg neste perle ..."
- ber agenter om å begynne å jobbe med neste oppgave
«Fortsett ...» × 4 - gjentatt oppfordring til å fortsette å jobbe
"Les nøye over ..." - instruerer fersk kodegjennomgang
"Sjekk agentpost..." - lang melding om koordinering, unngå kommunikasjonslammelse, holde seg produktiv
"Gjennomgå kode skrevet av andre agenter ..." - Gjennomgang av fagfellekode for feil/problemer
Hver melding sendes bokstavelig talt (-l-flagg) med en forsinkelse på 0,1 sekund før Enter for å sikre at Codex CLI behandler dem riktig.

Actually, this is a better way to do it, by filtering on the name of the pane (in my case, it's "node" for the codex panes), and it has the initial 0.1 second sleep, without which it skips the first matching pane without sending the messages correctly:
PANES=(${(f)"$(tmux list-panes -a -F '#S:#I.#P #{pane_current_command}' | rg ' node$' | cut -d' ' -f1)"})
for pane in $PANES; do
sleep 0.1 # Initial sleep to ensure pane is ready
tmux send-keys -t $pane -l 'pick the next bead you can actually do usefully now and start coding on it immediately; communicate what you'"'"'re doing to the other agents via agent mail.'
sleep 0.1
tmux send-keys -t $pane Enter
for i in {1..4}; do
tmux send-keys -t $pane -l 'keep going, doing useful work! and communicate!'
sleep 0.1
tmux send-keys -t $pane Enter
done
tmux send-keys -t $pane -l 'great, now I want you to carefully read over all of the new code you just wrote and other existing code you just modified with "fresh eyes" looking super carefully for any obvious bugs, errors, problems, issues, confusion, etc.'
sleep 0.1
tmux send-keys -t $pane Enter
tmux send-keys -t $pane -l 'Be sure to check your agent mail and to promptly respond if needed to any messages; thereafter proceed meticulously with the plan, doing all of your remaining unfinished tasks systematically and continuing to notate your progress in-line in the plan document, via beads, and via agent mail messages. Don'"'"'t get stuck in "communication purgatory" where nothing is getting done; be proactive about starting tasks that need to be done, but inform your fellow agents via messages when you do so and notate that in-line in the plan document. When you'"'"'re really not sure what to do, pick the next bead that you can usefully work on and get started.'
sleep 0.1
tmux send-keys -t $pane Enter
tmux send-keys -t $pane -l 'ok can you now turn your attention to reviewing the code written by your fellow agents and checking for any issues, bugs, errors, problems, inefficiencies, security problems, reliability issues, etc. and carefully diagnose their underlying root causes using first-principle analysis and thereafter fix or revise them if necessary? Dont restrict yourself to the latest commits, cast a wider net and go super deep!'
sleep 0.1
tmux send-keys -t $pane Enter
done
Du må kanskje øke hviletiden hvis maskinen er treg. Jeg hater hvor kresen det hele er; Jeg skal finne en mer pålitelig måte å gjøre dette på.
25,9K
Topp
Rangering
Favoritter

