Copilot CLI delegation 공부 정리 | 언제 직접 하고 언제 넘기는가
Copilot CLI가 서브에이전트에 작업을 위임하는 판단 기준을 어떻게 다듬었는지 공부한 메모.
GitHub 블로그에 Copilot CLI 업데이트 글이 올라왔다. 제목에 “delegation”이라는 단어가 있어서 열었는데, AI 에이전트가 작업을 직접 처리할지 서브에이전트에게 넘길지 판단하는 구조에 관한 글이었다. 에이전트 내부 동작을 다루는 내용이라 처음엔 좀 낯설었는데, 읽다 보니 꽤 재미있는 문제를 다루고 있었다.
CLI 에이전트가 어떻게 작업을 배분하는지 공부해봤다. 핵심 질문은 하나다. “언제 직접 하고, 언제 넘기는가.”
1️⃣ 이게 뭐냐?
Copilot CLI는 복잡한 작업을 처리할 때 서브에이전트(subagent)에게 일부를 위임할 수 있다. 이걸 delegation이라고 부른다. 이전에는 이 판단 기준이 넓게 설정돼 있었던 것 같다. 파일을 찾고, 수정하고, 검증하는 비교적 좁은 흐름도 서브에이전트로 넘기다 보니 불필요한 중간 단계가 생기고, 오래된 파일 경로를 참조하거나 도구 호출이 실패하는 경우가 늘었다고 한다.
개선된 기준은 이렇다. 작업 범위가 좁은 경우에는 주 에이전트가 직접 처리한다. 광범위한 탐색이 필요하거나, 병렬로 처리하는 게 유리한 경우에만 서브에이전트에 위임한다. 메인 에이전트는 서브에이전트가 실행되는 동안 독립적인 작업을 병렬로 진행할 수도 있다.
결과적으로 도구 실패율이 줄고, 대기 시간도 소폭 개선됐다고 한다. 사용자가 따로 설정을 바꿀 필요는 없고, v1.0.42 이상으로 업데이트하면 변경된 동작이 적용된다.
2️⃣ 내가 든 생각
흥미로웠던 건 이 문제가 에이전트 아키텍처 특유의 것이 아니라는 점이다. “내가 직접 할까, 아니면 넘길까”라는 판단은 꽤 보편적인 질문이다.
디자이너 입장에서 보면 컴포넌트 책임 분리와 비슷한 느낌이었다. 컴포넌트 하나가 너무 많은 걸 직접 처리하면 무거워지고, 반대로 외부 상태에 과하게 의존하면 예측하기 어려워진다. Copilot CLI의 delegation 판단도 결국 비슷한 트레이드오프인 것 같다. 직접 처리의 속도감 vs 위임의 확장성.
👉🏻 사용자 입장에서 보면 그냥 “빠르냐 느리냐”의 차이지만, 그 뒤에서 이런 판단이 계속 일어나고 있다는 게 인상적이었다. 그리고 그 판단을 사용자가 개입하지 않아도 되도록 만드는 게 이 업데이트의 진짜 목표처럼 읽혔다.
💡 여기서 드는 질문? 에이전트가 “이건 내가 직접 해야겠다”고 판단하는 기준은 어떻게 설계하는 걸까. 규칙 기반인지, 모델이 학습해서 판단하는 건지 궁금해졌다.
⭐️ 마지막으로, 개발자 도구를 공부하면서 든 생각
정리해보니 이번 개선은 성능 수치보다도 “언제 넘기는가”라는 판단 기준을 다듬은 것에 가깝다. 새 설정 항목을 추가하지 않고도 동작이 나아졌다는 게 사실 그 방향을 잘 보여주는 것 같다.
이런 류의 도구를 볼 때 자꾸 같은 질문을 하게 되는 것 같다 — “어디까지가 도구의 판단이고, 어디서부터 사용자가 개입해야 하는가.”
참고 원문: How we made GitHub Copilot CLI more selective about delegation