Orch term
기능 검색…Ctrl K

대형 기능 · control plane MCP A2A

에이전트 오케스트레이션

대화 중인 AI가 다른 AI(claude·codex·agy·grok·opencode·hermes)를 워커로 띄워, 컨텍스트를 유지한 채 여러 턴에 걸쳐 협업시킵니다. 지휘자(commander)–워커(worker) 모델로 한 자리에서 팀을 부립니다.

무엇을 하는가

지휘자 AI가 orchterm 안의 워커를 인터랙티브 TUI 탭에 띄우고 메시지를 주고받습니다. 워커도 지휘자에게 먼저 말을 걸 수 있는 양방향 1:1 채널이며, 자기 세션이 아닌 워커는 건드릴 수 없어 남의 작업을 가로채지 못합니다.

commander
외부 Claude Code
지휘자
세션 열기
지시 · 응답
orchterm
MCP 서버
:9611
워커 탭
응답 반환
worker
codex · agy · claude
grok · opencode · hermes
인터랙티브 탭

시작하기 — 지휘자에게 시키기

  1. 오케스트레이션 켜기

    설정에서 오케스트레이션을 켜고(기본 off) 앱을 재시작합니다. 그러면 외부 Claude Code가 별도 설정 없이 바로 워커를 부릴 수 있습니다.

  2. 지휘자 탭에서 일 맡기기

    지휘자(claude) 탭에 자연어로 위임하면 워커 탭이 뜨고 응답이 돌아옵니다.

    commander · claudeorchestrating
    commander · claude
    backend · codex
    ❯ backend(codex)에게 SSH 터널 모듈 리뷰를 맡겨줘 ▸ open_session codex from=ep_claude_8f3a… → { session_id: s_4c1e } ▸ send "channel_open_direct_tcpip 동시성 안전한지 봐줘" ⟳ codex 작업 중… (출력 idle 대기) ◂ reply codex: "&self 차용이라 동시성 안전. -L/-D 리스너는 127.0.0.1 바인드 확인." ❯
    ▲ 지휘자가 워커를 열고 지시한 뒤 응답을 받는 한 사이클.

감독 대시보드 (Space당 1개)

명령 팔레트에서 "오케스트레이션 워커 지휘자"를 실행하면 감독 대시보드 탭이 열립니다. 현재 Space의 라이브 세션을 모아 보여주고, 각 워커로 이동·진행 중 턴 중지·세션 닫기를 한곳에서 합니다.

오케스트레이션 — 감독 대시보드
오케스트레이션 · Space 1● 2 세션
codex s_4c1e · ssh-core⟳ 턴 진행 중
agy s_91b7 · docs대기(idle)
① 상태 dot — 주황 진행 중 · 초록 대기. ② 행에서 이동 · 중지 · 닫기.

무엇을 주고받나

지휘자 AI가 자연어 뒤에서 호출하는 도구입니다 — 사용자가 직접 칠 일은 없고, 흐름을 이해할 때 참고하세요.

도구하는 일
list_agents실제로 설치된 워커만 (claude · codex · agy · grok · opencode · hermes 중)
open_session워커를 인터랙티브 탭으로 연다
send지시하고 응답이 올 때까지 기다린다(짧은 작업용)
send_async지시하고 기다리지 않고 접수증(turn_id)만 받는다 — 긴 작업용
wait_turnturn_id의 진행 상황을 확인한다(끝났으면 답신, 아직이면 running)
list_sessions내가 연 워커 목록 — 매번 새로 띄우지 않고 이어서 시킨다
orch_report워커가 최종 답신을 지휘자에게 돌려주는 통로(워커 쪽에서 호출)
close_session워커 탭을 닫는다

긴 작업은 send_async로 — 끊기지 않게

왜 있나 — 지휘자 AI의 CLI에는 도구 호출 제한 시간이 있습니다(실측: claude 60초 · opencode 62초 · agy 180초 · codex·hermes 300초). 워커에게 시킨 일이 그보다 오래 걸리면 send가 기다리다 끊깁니다. 더 나쁜 건, 끊겨도 워커는 계속 일하고 있어서 지휘자가 재시도하면 같은 지시가 한 번 더 주입된다는 점입니다.

send_async는 지시만 넣고 접수증(turn_id)을 즉시 돌려줍니다. 지휘자는 wait_turn으로 짧게 끊어 확인하다가 끝났을 때 답신을 받습니다. 호출 하나하나가 짧으니 제한 시간에 걸리지 않고, 같은 turn_id를 다시 물어보는 건 안전합니다(중복 주입 없음).

덕분에 몇 분씩 걸리는 리팩터링·리뷰·빌드 같은 일도 워커에게 맡길 수 있습니다. 지휘자 AI가 알아서 send와 send_async를 골라 쓰므로 사용자가 지정할 일은 없습니다.

워커가 빈 답신을 준다면 — 그 CLI를 터미널에서 직접 한 번 실행해 보세요. 워커는 각자의 설정(모델·인증)을 그대로 쓰기 때문에, CLI 자체가 못 도는 상태면 오케스트레이션도 돌지 않습니다. 특히 hermes는 설정된 모델을 쓸 수 없게 되면(구독 변경·모델 은퇴 등) HTTP 404: The model … does not exist로 한 턴도 못 돕니다. hermes model로 쓸 수 있는 모델을 고르고, hermes fallback add로 대비 모델을 하나 등록해 두면 나중에 그 모델이 은퇴해도 자동으로 다음 모델로 넘어갑니다.

안전 기본값

주의 — 오케스트레이션은 외부 프로그램이 로컬에서 AI를 부리는 통로입니다. 토큰·로컬 바인딩·안전 모드 기본값을 함부로 끄지 마세요.