방금 tmux의 마법같은 기능으로 에이전트 워크플로를 한층 더 자동화하는 방법을 알아냈습니다. 이제 mcp 에이전트 메일 프로젝트를 사용하여 여러 에이전트가 계획을 구현하는 것에 대해 서로 이야기하도록 하고(또한 작업 관리를 위해 beads 프로젝트를 사용하여 조정하고 있음), 여전히 에이전트에게 "먹이"를 주기 위해 codex에 많은 메시지를 대기열에 넣어 에이전트를 바쁘게 유지해야 합니다. 여기에는 다양한 tmux 창(각 코덱스 인스턴스당 하나씩)을 하나씩 살펴보고 일부 통조림 메시지를 붙여 넣거나 위쪽 화살표를 몇 번 눌러 다음과 같은 이전 메시지를 재사용하는 작업이 포함됩니다. "지금 당장 유용하게 쓸 수 있는 다음 구슬을 골라서 바로 코딩을 시작하세요. 다른 에이전트에게 에이전트 메일을 통해 작업 내용을 전달하세요." 각 상담원에게 1시간 이상 바쁘게 지낼 수 있을 만큼 충분한 지시를 내리는 데 그렇게 오랜 시간이 걸리지는 않지만, 이렇게 하는 것은 약간 어리석고 비효율적이라고 느껴집니다. 하지만 지금은 tmux 세션 외부의 콘솔에 이것을 복사해서 붙여넣기만 하면 모든 관련 tmux 창에 한꺼번에 많은 메시지를 자동으로 대기열에 넣을 수 있다는 걸 깨달았습니다(이 기능은 zsh에서 테스트되었고 정상적으로 작동합니다). --- PANES=(${(f)"$(tmux 목록-판 -a -F '#S:#I.#P' | 꼬리 -n +3 | 머리 -n -2)"}) $PANES의 pane에 대해; tmux send-keys -t $pane -l '지금 당장 유용하게 사용할 수 있는 다음 작업을 선택하고 즉시 코딩을 시작하세요. 다른 에이전트에게 에이전트 메일을 통해 무엇을 하고 있는지 전달하세요.' 수면 0.1 tmux send-keys -t $pane Enter i in {1..4}에 대해; tmux send-keys -t $pane -l '계속해서 유용한 작업을 하고, 소통하세요!' 수면 0.1 tmux send-keys -t $pane Enter 완료 tmux send-keys -t $pane -l '좋습니다. 이제 새로 작성한 코드와 수정한 기존 코드를 "새로운 시각"으로 주의 깊게 읽어보고 눈에 띄는 버그, 오류, 문제, 혼란 등이 있는지 매우 주의 깊게 살펴보세요.' 수면 0.1 tmux send-keys -t $pane Enter tmux send-keys -t $pane -l '에이전트 메일을 확인하고 필요한 경우 메시지에 즉시 응답하세요. 그 후에는 계획을 꼼꼼하게 진행하면서 남은 미완료 작업을 체계적으로 처리하고 계획 문서, 비즈, 그리고 에이전트 메일 메시지를 통해 진행 상황을 지속적으로 기록하세요. 아무것도 완료되지 않는 "소통의 연옥"에 빠지지 마세요. 해야 할 작업은 적극적으로 시작하되, 작업을 시작할 때는 메시지를 통해 동료 에이전트에게 알리고 계획 문서에 기록하세요. 무엇을 해야 할지 잘 모르겠다면 유용하게 활용할 수 있는 다음 비즈를 선택하여 시작하세요.' 수면 0.1 tmux send-keys -t $pane Enter tmux send-keys -t $pane -l '좋아요, 이제 동료 에이전트들이 작성한 코드를 검토하고 문제, 버그, 오류, 문제점, 비효율성, 보안 문제, 안정성 문제 등을 확인하는 데 집중할 수 있을까요? 그리고 기본 원칙 분석을 사용하여 근본적인 원인을 신중하게 진단한 후 필요한 경우 수정하거나 수정하는 것이 어떨까요? 최신 커밋에만 국한하지 말고, 더 넓은 범위를 탐색하고 깊이 있게 파고들어 보세요!' 수면 0.1 tmux send-keys -t $pane Enter 완료 --- 이 스크립트: 창 가져오기: 처음 2개와 마지막 2개를 제외한 모든 tmux 창을 찾습니다. 선택한 각 창에 8개의 메시지를 보냅니다. "다음 구슬을 골라요..." - 에이전트에게 다음 작업을 시작하라고 지시합니다. "계속해..." × 4 - 계속 일하라는 반복적인 격려 "주의 깊게 읽어보세요..." - 새로운 코드 검토를 지시합니다. "에이전트 메일 확인..." - 조정, 의사소통 마비 방지, 생산성 유지에 대한 긴 메시지 "동료 에이전트가 작성한 코드 검토..." - 버그/문제에 대한 동료 코드 검토 각 메시지는 Codex CLI가 메시지를 올바르게 처리하도록 Enter 키를 누르기 전에 0.1초 지연 시간을 두고 문자 그대로 전송됩니다(-l 플래그).
사실, 이 방법이 더 나은데, 패널 이름(제 경우에는 코덱스 패널의 경우 "노드")으로 필터링하고, 초기 0.1초의 수면 시간을 두는 것입니다. 이 시간이 없으면 메시지를 올바르게 보내지 않고 첫 번째로 일치하는 패널을 건너뜁니다. PANES=(${(f)"$(tmux 목록-판 -a -F '#S:#I.#P #{판_현재_명령}' | rg ' 노드$' | 잘라내기 -d' ' -f1)"}) $PANES의 pane에 대해; sleep 0.1 # 패널이 준비되었는지 확인하기 위한 초기 sleep tmux send-keys -t $pane -l '지금 당장 유용하게 사용할 수 있는 다음 작업을 선택하고 즉시 코딩을 시작하세요. 다른 에이전트에게 에이전트 메일을 통해 무엇을 하고 있는지 전달하세요.' 수면 0.1 tmux send-keys -t $pane Enter i in {1..4}에 대해; tmux send-keys -t $pane -l '계속해서 유용한 작업을 하고, 소통하세요!' 수면 0.1 tmux send-keys -t $pane Enter 완료 tmux send-keys -t $pane -l '좋습니다. 이제 새로 작성한 코드와 수정한 기존 코드를 "새로운 시각"으로 주의 깊게 읽어보고 눈에 띄는 버그, 오류, 문제, 혼란 등이 있는지 매우 주의 깊게 살펴보세요.' 수면 0.1 tmux send-keys -t $pane Enter tmux send-keys -t $pane -l '에이전트 메일을 확인하고 필요한 경우 메시지에 즉시 응답하세요. 그 후에는 계획을 꼼꼼하게 진행하면서 남은 미완료 작업을 체계적으로 처리하고 계획 문서, 비즈, 그리고 에이전트 메일 메시지를 통해 진행 상황을 지속적으로 기록하세요. 아무것도 완료되지 않는 "소통의 연옥"에 빠지지 마세요. 해야 할 작업은 적극적으로 시작하되, 작업을 시작할 때는 메시지를 통해 동료 에이전트에게 알리고 계획 문서에 기록하세요. 무엇을 해야 할지 잘 모르겠다면 유용하게 활용할 수 있는 다음 비즈를 선택하여 시작하세요.' 수면 0.1 tmux send-keys -t $pane Enter tmux send-keys -t $pane -l '좋아요, 이제 동료 에이전트들이 작성한 코드를 검토하고 문제, 버그, 오류, 문제점, 비효율성, 보안 문제, 안정성 문제 등을 확인하는 데 집중할 수 있을까요? 그리고 기본 원칙 분석을 사용하여 근본적인 원인을 신중하게 진단한 후 필요한 경우 수정하거나 수정하는 것이 어떨까요? 최신 커밋에만 국한하지 말고, 더 넓은 범위를 탐색하고 깊이 있게 파고들어 보세요!' 수면 0.1 tmux send-keys -t $pane Enter 완료
