Gemini CLI 서브에이전트는 긴 작업을 한 번에 밀어붙이는 대신, 병렬로 분해하고 검증 가능한 단위로 다시 묶는 운영 방식에 가깝습니다. Google Developers Blog의 공식 글 https://developers.googleblog.com/en/subagents-have-arrived-in-gemini-cli/ 를 보면 핵심은 단순한 멀티태스킹이 아닙니다. 큰 작업을 더 빨리 처리하는 것보다, 문맥 손실과 작업 충돌을 줄이고 결과 품질을 안정화하는 데 초점이 있습니다. 이 관점으로 보면 서브에이전트는 “속도 옵션”이 아니라 “긴 작업을 망치지 않게 만드는 구조”입니다.
한 에이전트에게 리서치, 구현, 테스트, 문서화, 리뷰까지 모두 맡기면 처음에는 편해 보입니다. 하지만 실제로는 세 가지 문제가 반복됩니다. 첫째, 맥락이 길어질수록 초반 제약을 잊어버립니다. 둘째, 서로 다른 역할의 판단 기준이 섞입니다. 예를 들어 구현 모드와 리뷰 모드가 충돌합니다. 셋째, 작업이 길어질수록 “얼추 끝난 것처럼 보이는 조기 종료”가 늘어납니다.
서브에이전트 구조는 이 문제를 분리로 해결합니다. 리서치 담당, 구현 담당, 테스트 담당처럼 하위 작업을 역할별로 나누면 각 에이전트는 짧은 문맥에서 더 명확한 목표를 갖고 움직일 수 있습니다. 결국 성능 향상의 상당 부분은 모델 지능보다 작업 설계에서 나옵니다.
모든 일을 나누면 오히려 느려집니다. 아래 조건에 맞을 때 효과가 큽니다.
예를 들어 “신규 API 연동”은 공식 문서 조사, 샘플 코드 작성, 에러 케이스 정리, 테스트 시나리오 작성으로 나눌 수 있습니다. 서로 산출물이 다르기 때문에 병렬화 가치가 있습니다.
한 명은 구현하고 다른 한 명은 리뷰만 하게 만들면 품질이 좋아집니다. 특히 보안 체크, 비용 계산, 회귀 테스트처럼 실패 비용이 큰 작업에서 유용합니다.
서브에이전트가 모두 같은 거대한 코드베이스 전체를 읽어야 한다면 이득이 줄어듭니다. 대신 범위를 파일 단위, 기능 단위, 문서 묶음 단위로 잘라야 합니다.
첫 번째 에이전트는 공식 문서, 변경 이력, 제한사항만 정리합니다. 두 번째 에이전트는 그 결과를 받아 실제 구현을 합니다. 이렇게 하면 구현 에이전트가 검색에 시간을 쓰지 않고 결정된 사실만 기반으로 움직일 수 있습니다.
한 에이전트가 코드를 만들고, 다른 에이전트가 테스트 시나리오와 실패 가능성을 찾습니다. 이 구조는 “잘 되는 데모”와 “운영 가능한 결과물”의 차이를 크게 줄여줍니다.
같은 문제를 두 에이전트가 서로 다른 전략으로 풀게 한 뒤 비교합니다. 예를 들어 하나는 최소 수정, 다른 하나는 구조 개선 중심으로 구현합니다. 사람이 마지막에 선택하면 의사결정 속도가 빨라집니다.
“너는 앞부분, 너는 뒷부분” 식 분할은 충돌을 부릅니다. 역할과 산출물이 명확해야 합니다. 예를 들어 “공식 문서 기반 제약 정리”, “API 래퍼 구현”, “회귀 테스트 설계”처럼 쪼개야 합니다.
서브에이전트에게 일을 던질 때는 완료 조건이 있어야 합니다. 어떤 파일을 수정할지, 무엇을 증명해야 하는지, 어떤 형식으로 결과를 돌려줄지 정해줘야 병렬화가 이득이 됩니다.
여러 결과가 돌아왔을 때 누가 최종 판단을 하는지 없으면 다시 혼란이 생깁니다. 부모 에이전트나 사람이 병합 기준을 가져야 합니다. 일반적으로는 정확성, 수정 범위, 테스트 통과 여부, 유지보수성을 기준으로 삼으면 됩니다.
배포, 고객 메시지 발송, 권한 변경 같은 액션은 서브에이전트가 제안하더라도 승인 단계를 둬야 합니다. 병렬화가 빨라질수록 사고도 빨라질 수 있습니다.
Gemini CLI 서브에이전트 방식은 아래 같은 작업에서 특히 강합니다.
반대로 아주 작은 수정, 단일 파일 변경, 선택지가 거의 없는 단순 작업은 서브에이전트 오버헤드가 더 큽니다.
처음부터 복잡하게 갈 필요는 없습니다. 가장 쉬운 시작은 한 작업을 세 갈래로 나누는 겁니다. 예를 들어 1) 사실 조사, 2) 구현, 3) 검증입니다. 각 에이전트에 동일한 긴 배경 설명을 주지 말고, 자기 역할에 필요한 최소 문맥만 줍니다. 그리고 결과는 반드시 표준 형식으로 받으세요. 예를 들면 “핵심 결론 3개, 근거, 위험, 다음 액션” 형태가 좋습니다.
이렇게 하면 병렬화의 장점이 생깁니다. 각 에이전트가 짧은 문맥에서 더 정확하게 움직이고, 부모 에이전트는 전체 조정과 의사결정에 집중할 수 있습니다. 결국 서브에이전트 운영의 본질은 더 많은 AI를 동시에 돌리는 것이 아니라, 긴 작업을 관리 가능한 시스템으로 바꾸는 데 있습니다.