심층 에이전트(Deep Agents)
원문: https://blog.langchain.com/deep-agents/
작성일: 2025년 7월 30일
저자: Harrison Chase
LLM이 루프 안에서 도구를 호출하는 방식은 에이전트의 가장 단순한 형태입니다. 하지만 이러한 아키텍처는 “얕은(shallow)” 에이전트를 만들어내며, 더 길고 복잡한 작업에 대해 계획하고 실행하는 데 실패할 수 있습니다. “Deep Research”, “Manus”, “Claude Code”와 같은 애플리케이션들은 네 가지 요소의 조합을 구현함으로써 이러한 한계를 극복했습니다: 계획 도구, 하위 에이전트, 파일 시스템 접근, 그리고 상세한 프롬프트입니다.
감사의 말: 이 탐구는 주로 Claude Code와 사람들이 이를 코딩 이상의 용도로 사용한 보고서에서 영감을 받았습니다. Claude Code를 범용으로 만든 것은 무엇이며, 이러한 특성들을 추상화하고 일반화할 수 있을까요?
실제 환경의 심층 에이전트
등장한 지배적인 에이전트 아키텍처는 또한 가장 단순합니다: 루프에서 실행하면서 도구를 호출하는 것입니다.
하지만 이를 순진하게 구현하면 다소 얕은 에이전트가 만들어집니다. 여기서 “얕다”는 것은 에이전트가 더 긴 시간 범위에 걸쳐 계획을 세우고 더 복잡한 작업을 수행하는 능력이 부족함을 의미합니다.
연구와 코딩은 이러한 추세를 거스르는 에이전트가 만들어진 두 가지 영역으로 부상했습니다. 모든 주요 모델 제공업체는 심층 연구(Deep Research)와 “비동기” 코딩 작업을 위한 에이전트를 보유하고 있습니다. 많은 스타트업과 고객들이 자신들의 특정 분야에 맞는 버전을 만들고 있습니다.
저는 이러한 에이전트들을 “심층 에이전트(deep agents)“라고 부릅니다 - 주제를 깊이 파고드는 능력 때문입니다. 이들은 일반적으로 더 복잡한 작업을 계획하고, 그 목표에 대해 더 긴 시간 범위에 걸쳐 실행할 수 있습니다.
이러한 에이전트들이 깊이 들어가는 데 뛰어난 이유는 무엇일까요?
핵심 알고리즘은 사실 동일합니다 - LLM이 루프에서 실행되며 도구를 호출합니다. 쉽게 만들 수 있는 순진한 에이전트와 비교했을 때의 차이점은:
- 상세한 시스템 프롬프트
- 계획 도구
- 하위 에이전트
- 파일 시스템

심층 에이전트의 특성
상세한 시스템 프롬프트
Claude Code의 재현된 시스템 프롬프트는 매우 깁니다. 도구를 사용하는 방법에 대한 상세한 지침이 포함되어 있습니다. 특정 상황에서 어떻게 행동해야 하는지에 대한 예시(퓨샷 프롬프트)도 포함되어 있습니다.
Claude Code가 예외적인 것은 아닙니다 - 대부분의 최고 수준 코딩 또는 심층 연구 에이전트들은 상당히 복잡한 시스템 프롬프트를 가지고 있습니다. 이러한 시스템 프롬프트가 없다면, 에이전트들은 거의 깊이 있지 못할 것입니다. 프롬프팅은 여전히 중요합니다!
계획 도구
Claude Code는 할 일 목록 도구를 사용합니다. 재미있게도 - 이것은 실제로 아무것도 하지 않습니다! 기본적으로 no-op입니다. 에이전트를 정해진 방향으로 유지하기 위한 컨텍스트 엔지니어링 전략일 뿐입니다.
심층 에이전트는 더 긴 시간 범위에 걸쳐 복잡한 작업을 실행하는 데 더 뛰어납니다. 계획(no-op 도구 호출을 통해 수행되더라도)은 그것의 큰 구성 요소입니다.
하위 에이전트
Claude Code는 하위 에이전트를 생성할 수 있습니다. 이를 통해 작업을 분할할 수 있습니다. 또한 더 많은 제어를 위해 커스텀 하위 에이전트를 만들 수도 있습니다. 이는 “컨텍스트 관리 및 프롬프트 단축”을 가능하게 합니다.
심층 에이전트는 주제를 더 깊이 파고듭니다. 이는 주로 개별 작업에 특별히 집중하는 하위 에이전트를 생성하고, 이러한 하위 에이전트들이 그곳에서 깊이 들어갈 수 있도록 함으로써 달성됩니다.
파일 시스템
Claude Code는 (당연히) 파일 시스템에 접근할 수 있으며, 작업을 완료하기 위해서뿐만 아니라 메모를 작성하기 위해서도 파일을 수정할 수 있습니다. 또한 모든 에이전트(및 하위 에이전트)가 협업할 수 있는 공유 작업 공간 역할을 합니다.
Manus는 “메모리”를 위해 파일 시스템을 광범위하게 활용하는 심층 에이전트의 또 다른 예입니다.
심층 에이전트는 오랜 시간 동안 실행되며 관리해야 할 많은 컨텍스트를 축적합니다. 저장하고(나중에 읽을 수 있는) 파일 시스템을 손쉽게 사용할 수 있다는 것은 이를 수행하는 데 도움이 됩니다.
심층 에이전트 구축하기
모두가 자신의 특정 분야를 위한 심층 에이전트를 더 쉽게 구축할 수 있도록, 주말 동안 오픈 소스 패키지(deepagents)를 해킹했습니다. pip install deepagents로 쉽게 설치할 수 있으며, 사용 방법에 대한 지침은 여기에서 읽을 수 있습니다.
이 패키지는 자신만의 커스텀 버전을 만들기 위해 커스터마이징할 수 있는 범용 심층 에이전트를 만들려고 시도합니다.
위의 특성들에 매핑되는 내장 구성 요소가 함께 제공됩니다:
- Claude Code에서 영감을 받았지만 더 범용적이도록 수정된 시스템 프롬프트
- no-op 할 일 목록 계획 도구(Claude Code와 동일)
- 하위 에이전트를 생성하고 자신만의 하위 에이전트를 지정하는 기능
- 에이전트 상태를 사용하는 모의 “가상 파일 시스템”(기존 LangGraph 개념)
커스텀 프롬프트(커스텀 지침으로 더 큰 시스템 프롬프트에 삽입됨), 커스텀 도구, 커스텀 하위 에이전트를 전달하여 자신만의 심층 에이전트를 쉽게 만들 수 있습니다. deepagents 위에 구축된 “심층 연구” 에이전트의 간단한 예제를 만들었습니다.