Argomenti di tendenza
#
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.
Ho appena scoperto come automatizzare ulteriormente il mio flusso di lavoro degli agenti con un po' di magia tmux.
Ora che sto usando il mio progetto di agent mail mcp per far comunicare un gruppo di agenti tra loro riguardo all'implementazione di un piano (e anche coordinandomi usando il progetto beads per la gestione dei compiti), ho ancora bisogno di "nutrire" gli agenti mettendo in coda un sacco di messaggi in codex per tenerli occupati.
Questo comporta di andare uno per uno attraverso i vari pannelli tmux (uno per ogni istanza di codex) e incollare alcuni messaggi predefiniti o premere la freccia su alcune volte per riutilizzare messaggi passati, come ad esempio:
"Scegli il prossimo bead che puoi effettivamente utilizzare utilmente ora e inizia a codificare immediatamente; comunica ciò che stai facendo agli altri agenti tramite agent mail."
Sembra un po' sciocco e inefficiente fare questo, anche se non ci vuole molto tempo per dare a ciascun agente abbastanza istruzioni per tenerli occupati per oltre un'ora.
Ma ora ho realizzato che posso mettere automaticamente in coda un sacco di messaggi in ogni pannello tmux rilevante contemporaneamente, semplicemente copiando e incollando questo nella console al di fuori della sessione tmux (questo è testato e funziona in zsh):
---
PANES=(${(f)"$(tmux list-panes -a -F '#S:#I.#P' | tail -n +3 | head -n -2)"})
for pane in $PANES; do
tmux send-keys -t $pane -l 'scegli il prossimo bead che puoi effettivamente utilizzare utilmente ora e inizia a codificare immediatamente; comunica ciò che stai'"'"' facendo agli altri agenti tramite agent mail.'
sleep 0.1
tmux send-keys -t $pane Enter
for i in {1..4}; do
tmux send-keys -t $pane -l 'continua, fai un lavoro utile! e comunica!'
sleep 0.1
tmux send-keys -t $pane Enter
done
tmux send-keys -t $pane -l 'ottimo, ora voglio che tu legga attentamente tutto il nuovo codice che hai appena scritto e il codice esistente che hai appena modificato con "occhi freschi" cercando attentamente eventuali bug, errori, problemi, confusioni, ecc.'
sleep 0.1
tmux send-keys -t $pane Enter
tmux send-keys -t $pane -l 'Assicurati di controllare la tua agent mail e di rispondere prontamente se necessario a eventuali messaggi; successivamente procedi meticolosamente con il piano, svolgendo tutti i tuoi compiti rimanenti in modo sistematico e continuando a annotare i tuoi progressi nel documento del piano, tramite beads e tramite messaggi di agent mail. Non'"'"' rimanere bloccato in "purgatorio della comunicazione" dove nulla viene fatto; sii proattivo nell'iniziare i compiti che devono essere svolti, ma informa i tuoi colleghi agenti tramite messaggi quando lo fai e annota ciò nel documento del piano. Quando non sei davvero sicuro di cosa fare, scegli il prossimo bead su cui puoi lavorare utilmente e inizia.'
sleep 0.1
tmux send-keys -t $pane Enter
tmux send-keys -t $pane -l 'ok puoi ora concentrare la tua attenzione sulla revisione del codice scritto dai tuoi colleghi agenti e controllare eventuali problemi, bug, errori, problemi, inefficienze, problemi di sicurezza, problemi di affidabilità, ecc. e diagnosticare attentamente le loro cause profonde utilizzando un'analisi di primo principio e successivamente correggerli o rivederli se necessario? Non limitarti agli ultimi commit, allarga la rete e vai in profondità!'
sleep 0.1
tmux send-keys -t $pane Enter
done
---
Questo script:
Ottiene i pannelli: Trova tutti i pannelli tmux, escludendo i primi 2 e gli ultimi 2
Invia 8 messaggi a ciascun pannello selezionato:
"scegli il prossimo bead..."
- dice agli agenti di iniziare a lavorare sul prossimo compito
"continua..." × 4 - incoraggiamento ripetuto a continuare a lavorare
"leggi attentamente..." - istruzioni per una revisione del codice fresca
"controlla l'agent mail..." - lungo messaggio riguardo al coordinamento, evitando la paralisi comunicativa, rimanendo produttivi
"rivedi il codice scritto dai colleghi agenti..." - revisione del codice tra pari per bug/problemi
Ogni messaggio viene inviato letteralmente (-l flag) con un ritardo di 0.1 secondi prima di Enter per garantire che il CLI di Codex li elabori correttamente.

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
Potresti dover aumentare il tempo di inattività se la tua macchina è lenta. Odio quanto sia tutto così capriccioso; troverò un modo più affidabile per farlo.
26,62K
Principali
Ranking
Preferiti

