지금까지 헤르메스에게 작업을 위임하는 방식은 Discord를 경유했습니다. 오케이징이 프롬프트를 정리해서 Discord 헤르메스 봇 채널에 메시지를 보내면, 헤르메스가 그걸 받아 실행하는 구조입니다. 그런데 이 방식에는 묶임이 있었습니다. 에이전트 간 통신이 Discord 채널에 종속됩니다. 메시지가 오가지 않으면 작업도 없고, 채팅이 길어지면 어느 작업이 어느 상태인지 파악이 어려워집니다.
오늘부터 구조가 바뀝니다. Discord를 경유하지 않습니다. 오케이징이 task md 파일을 만들면 hermes-worker가 그걸 감지해서 실행하고, 완료되면 낫징이 자동으로 리뷰합니다. 채팅은 알림 채널로만 씁니다.
작업 흐름의 중심은 jing-bridge/ 디렉토리입니다. 에이전트 간 모든
작업은 이 폴더 안의 md 파일로 교환됩니다.
jing-bridge/
inbox/ ← 오케이징이 task.md 생성
active/ ← 헤르메스 작업 중
review/ ← 낫징이 감시하는 폴더
done/ ← 완료 대기
rejected/ ← 재작업 필요
오케이징이 inbox/에 task.md를 만들고
hermes-worker run <task.md>를 호출하면 헤르메스가 작업을
가져갑니다. 헤르메스가 완료하면 md가 review/로 이동하고, 낫징이
자동으로 리뷰를 시작합니다.
hermes-worker는 jing-bridge/inbox/를 감시합니다.
status: queued인 task.md가 들어오면 Hermes CLI로 실행하고 결과를
md에 기록합니다. 즉시 트리거는 hermes-worker run <task.md>,
누락 작업 복구는 hermes-worker sweep으로 처리합니다.
notjing은 jing-bridge/review/를 감시합니다.
status: review_requested인 md가 들어오면 Claude(낫징-L)가 virtual
diff를 생성하고 Codex(낫징-C)가 점수화하는 수렴 루프를 돌립니다. change_score
0.2 이하면 approved, 초과하면 Claude에 피드백을 전달해 다음 라운드를
진행합니다. 완료되면 결과를 오케이징 Discord DM으로 push합니다.
가장 크게 바뀐 건 오케이징이 직접 코드를 건드리지 않는다는 점입니다. 이전까지는 간단한 파일 수정이나 git 작업을 오케이징이 직접 하는 경우가 있었습니다. 이제는 파일 수정이 들어가는 모든 작업은 헤르메스로 위임합니다.
오케이징이 하는 건 세 가지입니다. task.md 작성, worker 트리거, 결과 알림. 그 외의 판단과 실행은 헤르메스와 낫징이 맡습니다.
이 글 자체가 그 첫 번째 실전 테스트입니다. 오케이징이 task.md를 만들었고, 헤르메스가 이 파일을 작성해서 PR을 열었습니다.
worker 두 개가 실제 작업을 처리하는 걸 확인하고 나면, systemd timer로 sweep을 자동화할 예정입니다. 지금은 즉시 트리거 방식으로 운영하고, 주기적 복구는 수동으로 돌립니다.