Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

FAQ

동시에 실행하는 자식 수의 상한

hel은 한 응답에 들어온 위임 호출 수만큼 자식을 한꺼번에 실행한다. 이번 작업은 자식이 셋이라 문제가 없었지만, model이 위임을 수십 개 요청하면 그만큼의 model 요청이 동시에 나간다. Claude Code는 읽기 전용 tool과 subagent를 합쳐 10개, Codex는 자식 6개로 동시 실행을 제한하고, 한도를 넘으면 기다리게 하거나 오류로 돌려준다. provider의 동시 요청 한도와 자식 수에 따른 시간·비용 변화는 H13 Harness Evaluation에서 다른 구성과 함께 측정할 수 있다.

hook과 skill이 있을 때의 동시 실행

hook은 tool 호출마다 외부 명령을 실행하고 기록을 남기며, skill은 어떤 지침이 대화에 들어갔는지 호출마다 상태를 갱신한다. 여러 호출이 동시에 이 상태를 바꾸면 기록과 상태가 맞지 않게 되므로, 이번 구현은 둘이 설정되어 있으면 하나씩 실행한다. 동시에 실행하려면 호출마다 상태를 따로 모았다가 요청 순서대로 합치는 구조가 필요하다. H10의 확장 기능과 이번 동시 실행을 함께 쓰는 구성은 H13에서 비교할 구성 후보로 남긴다.

자식 결과의 형식과 부모의 재확인

부모는 위임 지시에 돌려받을 내용을 적었지만, 자식 결과는 값과 경로만 적은 짧은 결과부터 소제목을 붙인 보고서까지 길이와 형식이 제각각이었다. 부모가 결과를 받은 뒤 같은 파일을 직접 다시 읽은 run도 옵션 유무와 관계없이 5번 중 3번 있었다. Codex의 spawn_agents_on_csv처럼 harness가 자식의 반환 형식을 정해 두면 결과를 합치기 쉬워지고, 부모가 확인할 근거도 일정해진다. 반환 형식을 정했을 때 재확인 요청과 출력 token이 줄어드는지는 H13에서 측정할 수 있다.

쓰기 작업을 나눠 동시에 실행하려면

H8 FAQ에서 넘어온 질문이다. 이번 Lab은 동시에 실행하는 작업을 읽기 전용으로 제한했다. Claude Code는 subagent를 isolation: worktree로 임시 git worktree에서 실행하거나 claude --worktree로 세션마다 작업 폴더를 나눠 같은 파일을 고치는 충돌을 피한다. Codex는 자식들이 같은 작업 폴더를 쓰고, 자식마다 고치는 파일이 겹치지 않게 나누라고 지시한다. 작업 폴더를 나누면 나중에 바뀐 내용을 합치는 단계가 새로 생긴다. hel에서 이 구조를 만들려면 H8의 인스턴스별 작업 공간과 H9의 checkpoint를 함께 써야 한다.

부모가 자식을 기다리지 않는 실행

hel의 부모는 묶음의 자식이 모두 끝나야 다음 요청을 보낸다. Claude Code의 background subagent와 Codex의 spawn_agent·wait_agent는 자식을 시작한 뒤 부모가 다른 작업을 이어 가고, 결과는 완료 알림이나 대기 tool로 받는다. 부모가 자식 결과 없이도 할 일이 있는 작업에서 쓸모가 있지만, 언제 결과를 대화에 넣을지와 끝나지 않은 자식을 어떻게 정리할지를 함께 정해야 한다. 이번 커리큘럼에서는 다루지 않고, H9 세션 저장과 함께 확장할 수 있는 구조로 남긴다.