> For the complete documentation index, see [llms.txt](https://byulseop-til.gitbook.io/sinheeseop_til/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://byulseop-til.gitbook.io/sinheeseop_til/ai-agent/claude/undefined-2.md).

# 서브에이전트

작업 중 일부를 메인 대화가 아닌 별도의 에이전트에게 맡기는 방식이다. 메인 세션이 직접 조사나 반복 작업을 다 떠안는 대신, 하위 작업을 서브에이전트에게 넘기고 결과만 받아온다.

## 왜 쓰는가

파일을 수십 개 뒤져야 하는 탐색 작업을 메인 세션이 직접 하면, 검색 과정에서 나온 자잘한 도구 결과가 전부 대화 맥락에 쌓인다. 정작 필요한 건 "결론"인데 거기 도달하기까지의 중간 과정까지 맥락을 다 차지하는 셈이다. 서브에이전트에게 탐색을 맡기면 중간 과정은 서브에이전트 쪽에 남고, 메인 세션은 정리된 결과만 받아서 맥락을 깨끗하게 유지할 수 있다.

## 두 가지 방식

* 완전히 새로 시작하는 에이전트: 이전 대화 맥락을 전혀 모르는 상태로 시작한다. 검색이나 조사처럼 독립적으로 수행 가능한 작업, 또는 의도적으로 편향 없는 시각이 필요한 검토 작업에 맞다. 맥락이 없는 만큼 작업 배경을 프롬프트에 충분히 설명해줘야 한다.
* 현재 세션을 그대로 이어받는 에이전트(포크): 지금까지의 대화 맥락을 전부 가진 채로 백그라운드에서 이어서 작업한다. 이미 파악하고 있는 맥락을 다시 설명할 필요가 없어서, 지금 하던 작업의 연장선에 있는 조사나 구현을 맡길 때 적합하다.

> \[!TIP] 서브에이전트를 쓸지 말지는 "이 작업의 중간 결과물을 내가 계속 갖고 있어야 하는가"로 판단하면 된다. 다시 참고할 일이 없는 중간 산출물이라면 서브에이전트로 넘기는 편이 낫다.

## 격리 수준

서브에이전트는 현재 작업 디렉토리를 그대로 공유하며 실행할 수도 있고, 별도의 git 워크트리에서 독립된 브랜치로 실행할 수도 있고, 원격 샌드박스 환경에서 실행할 수도 있다. 워크트리로 격리하면 서브에이전트가 파일을 바꿔도 메인 작업 디렉토리에는 영향이 없고, 작업이 끝나면 결과를 검토한 뒤 병합할지 버릴지 정할 수 있다.
