[portfolio](https://geonwoo.kim/ko/portfolio) › 도구와 오픈소스

# orch · 멀티 에이전트 오케스트레이터

https://geonwoo.kim/ko/portfolio/orch

기간: 2026.09 — 현재

에이전트 세션 하나에서 모든 일을 처리하지 않고, 판단만 하는 메인 세션을 따로 두려고 만들었습니다. 메인 세션은 계획을 세우고 작업을 배정하고 결과를 판단합니다. 실행은 계약 파일을 받은 작업 에이전트가 맡고, 결과는 작성한 모델과 다른 계열의 모델이 검토합니다.

작성한 모델과 다른 모델이 검증해야 끝나는 작업 흐름

- [github](https://github.com/takealook97/orch)

팀: 1인

역할: 설계 · Go CLI 개발

Go · YAML · Herdr · Claude Code · Codex · Antigravity

- Codex·Claude·Gemini 계열 7개 모델 키 중에서 고르는 작업 배정
- 작업 범위와 결과 형식을 적은 계약 파일, 결과 파일과 상태 기록
- 창을 열지 않고 끝내는 단발 조사·수정, 실패만 요약하는 테스트 실행
- 작성한 모델과 다른 계열에 맡기는 독립 검토
- 의존 관계에 따른 순차·병렬 실행과 중단 뒤 이어서 실행
- Herdr 작업 창의 배치와 정리, 사용자 화면 포커스 보호

## 지침만으로는 지켜지지 않던 역할

문제: 규칙을 지침 문서에만 두면 자체 위임 기능을 쓰는 명령에서는 지침이 적용되지 않았습니다. 작업 에이전트도 같은 지침을 읽고 다시 위임할 수 있었습니다.

해결: 규칙을 공통 지침, Go 실행기, 우회 경로를 막는 hook, 작업 유형별 YAML 절차의 네 층으로 나눴습니다. 작업 에이전트는 작업자 표시를 달고 실행되므로 다시 위임하지 못합니다. 모델 이름이나 정리 절차 같은 규칙은 모델이 매번 다시 적지 않아도 실행기가 지킵니다.

## 작업 중 옮겨 가던 화면

문제: 작업 창을 조작할 때 사용자가 보던 화면이 작업 창으로 옮겨 갔습니다. 서버 로그에서 확대 해제 요청 때 55건, 입력 전달 때 78건의 포커스 이동을 확인했습니다.

해결: 실제로 확대된 창에만 해제를 요청하고, 입력은 한 줄 전송과 Enter 키 입력으로 나눠 보내도록 바꿨습니다. 수정 뒤 측정에서 orch 요청으로 생긴 포커스 이동은 0건이었습니다.

## 작은 작업에는 느렸던 병렬 실행

문제: 작은 구현 작업을 창 3개로 나눈 평가에서 병렬 실행이 평균 84초로, 단일 실행 49초보다 오래 걸렸습니다.

해결: 짧은 단발 작업은 창 없이 바로 실행하는 ask·do로 넘기고, 테스트는 모델 없이 실패 요약만 돌려받게 했습니다. 위임 기준도 걸리는 시간에서 메인 세션이 쓰는 토큰으로 바꿨습니다.


[wiki-island · 벤더 중립 AI 메모리](https://geonwoo.kim/ko/portfolio/wiki-island) · [hermes-agent · Hermes Agent 오픈소스 컨트리뷰션](https://geonwoo.kim/ko/portfolio/hermes-agent)
