Deep Agents
TMTLLM을 사용하여 도구를 반복적으로 호출하는 것은 에이전트의 가장 단순한 형태입니다. 그러나 이러한 아키텍처는 “얕은(shallow)” 에이전트를 만들어내며, 이는 더 길고 복잡한 작업을 계획하고 실행하는 데 실패할 수 있습니다. “Deep Research”, “Manus”, “Claude Code”와 같은 애플리케이션들은 계획 도구, 하위 에이전트, 파일 시스템 접근, 그리고 상세한 프롬프트의 조합을 구현함으로써 이러한 한계를 극복했습니다.
감사의 말: 이 탐구는 주로 Claude Code와 사람들이 그것을 코딩 그 이상으로 사용하는 사례에서 영감을 받았습니다. Claude Code의 어떤 점이 그것을 범용적으로 만들었으며, 이러한 특성을 추상화하고 일반화할 수 있을까요?
실제 환경의 딥 에이전트
가장 널리 퍼진 에이전트 아키텍처는 또한 가장 단순합니다: 반복적으로 실행되며 도구를 호출합니다.
하지만 이를 단순하게 구현하면 에이전트가 다소 얕아집니다. 여기서 “얕다”는 것은 에이전트가 더 긴 시간 동안 계획을 세우고 더 복잡한 작업을 수행하는 데 한계가 있음을 의미합니다.
리서치와 코딩은 이러한 경향을 벗어난 에이전트가 등장한 두 분야입니다. 주요 모델 제공업체들은 모두 딥 리서치와 “비동기” 코딩 작업을 위한 에이전트를 보유하고 있습니다. 많은 스타트업과 고객들도 자신들의 특정 분야에 맞는 버전을 만들고 있습니다.
저는 이러한 에이전트를 “딥 에이전트”라고 부릅니다. 이들은 주제에 깊이 파고들 수 있는 능력을 가지고 있습니다. 일반적으로 더 복잡한 작업을 계획하고, 그 목표를 향해 더 긴 시간 동안 실행할 수 있습니다.
이 에이전트들이 깊이 파고들 수 있는 이유는 무엇일까요?
핵심 알고리즘은 사실 동일합니다 — LLM이 반복적으로 실행되며 도구를 호출합니다. 쉽게 만들 수 있는 단순한 에이전트와의 차이점은 다음과 같습니다:
- 상세한 시스템 프롬프트
- 계획 도구
- 하위 에이전트
- 파일 시스템
딥 에이전트의 특징
상세한 시스템 프롬프트
Claude Code의 재구성된 시스템 프롬프트는 길고, 도구 사용 방법에 대한 상세한 지침을 포함합니다. 특정 상황에서 어떻게 행동해야 하는지에 대한 예시(few shot prompts)도 포함되어 있습니다.
Claude Code만의 특이점이 아닙니다 — 최고의 코딩 또는 딥 리서치 에이전트 대부분은 꽤 복잡한 시스템 프롬프트를 가지고 있습니다. 이러한 시스템 프롬프트 없이는 에이전트가 그만큼 깊어질 수 없습니다. 프롬프트 설계는 여전히 중요합니다!
계획 도구
Claude Code는 Todo 리스트 도구를 사용합니다. 재미있게도 — 이 도구는 실제로 아무 일도 하지 않습니다! 단지 에이전트를 올바른 방향으로 이끌기 위한 컨텍스트 엔지니어링 전략일 뿐입니다.
딥 에이전트는 더 긴 시간 동안 더 복잡한 작업을 실행하는 데 능숙합니다. 계획(비록 아무 일도 하지 않는 도구 호출을 통해서라도)은 그 중요한 요소입니다.
하위 에이전트
Claude Code는 하위 에이전트를 생성할 수 있습니다. 이를 통해 작업을 분할할 수 있습니다. 또한 사용자가 직접 커스텀 하위 에이전트를 만들 수도 있습니다. 이는 “컨텍스트 관리 및 프롬프트 단축키” 역할을 합니다.
딥 에이전트는 주제에 더 깊이 파고듭니다. 이는 주로 개별 작업에 집중하는 하위 에이전트를 생성하고, 그 하위 에이전트가 해당 작업에 깊이 파고들 수 있도록 허용함으로써 이루어집니다.
파일 시스템
Claude Code는(당연히) 파일 시스템에 접근할 수 있으며, 단순히 작업을 완료하는 것뿐만 아니라 메모를 남기기 위해서도 파일을 수정할 수 있습니다. 또한 모든 에이전트(및 하위 에이전트)가 협업할 수 있는 공유 작업 공간 역할도 합니다.
Manus는 “메모리”로 파일 시스템을 적극적으로 활용하는 딥 에이전트의 또 다른 예시입니다.
딥 에이전트는 오랜 시간 동안 실행되며 많은 컨텍스트를 축적해야 합니다. 이를 관리하기 위해 파일 시스템을 활용하여 저장하고, 나중에 다시 읽는 것이 유용합니다.
딥 에이전트 만들기
누구나 자신만의 분야에 맞는 딥 에이전트를 쉽게 만들 수 있도록, 주말 동안 오픈 소스 패키지(deepagents)를 개발했습니다. pip install deepagents
로 간단히 설치할 수 있으며, 사용법에 대한 안내는 여기에서 확인할 수 있습니다.
이 패키지는 위에서 언급한 특징에 대응하는 내장 컴포넌트를 제공합니다:
- Claude Code에서 영감을 받았지만 더 일반적으로 수정된 시스템 프롬프트
- 동일한 방식의 no-op Todo 리스트 계획 도구(Claude Code 처럼)
- 하위 에이전트 생성 및 직접 지정 가능
- 에이전트 상태(기존 LangGraph 개념)를 활용한 “가상 파일 시스템” 모킹
사용자는 커스텀 프롬프트(전체 시스템 프롬프트 내에 커스텀 지침으로 삽입됨), 커스텀 도구, 커스텀 하위 에이전트를 전달하여 자신만의 딥 에이전트를 쉽게 만들 수 있습니다. deepagents 위에 구축된 “딥 리서치” 에이전트의 간단한 예시도 함께 제공합니다.