LangChain Deep Agents: 다단계 AI 에이전트를 위한 구조화 런타임
LangChain Deep Agents의 구조화 런타임 개념, 계획·메모리·오류 복구 구조, 코드 예시와 LangGraph와의 관계를 정리한다.
2026-08-14 · 최초 발행 2026-03-17
계획-실행-복구를 런타임 하나로 묶다
LangChain이 2026년 3월 발표한 Deep Agents는 복잡한 다단계 AI 에이전트 워크플로를 위한 새로운 구조화 실행 런타임이다. 기존 LangChain 에이전트가 단순 도구 호출 루프에 머물렀다면, Deep Agents는 계획 수립, 메모리 관리, 오류 복구를 하나의 통합 런타임 안에서 처리하도록 설계되었다. 이 발표는 프로덕션 환경에서 AI 에이전트를 안정적으로 운용하려는 엔지니어들에게 중요한 이정표가 된다.
Deep Agents는 LangChain 생태계 위에 올라타는 새로운 실행 계층이다. 기존 LangChain 에이전트가 단일 LLM 호출과 도구 선택을 반복하는 방식이었다면, Deep Agents는 에이전트의 실행 흐름 전체를 런타임 수준에서 제어한다.
핵심 개념은 구조화 런타임(Structured Runtime)이다. 에이전트가 수행하는 모든 행동, 즉 계획 생성, 도구 호출, 상태 저장, 오류 처리가 런타임의 명시적인 스테이지로 구분된다. 이를 통해 에이전트의 실행 과정이 투명하게 관찰 가능하고, 각 단계에서 개입하거나 재시도할 수 있다.
ReAct 루프가 못 다루는 것들
기존 LangChain의 에이전트 실행 방식은 ReAct(Reasoning + Acting) 루프를 기반으로 한다. LLM이 어떤 도구를 쓸지 결정하고, 도구를 호출하고, 결과를 다시 LLM에게 넘기는 단순 반복이다. 이 방식은 단일 작업에는 효과적이지만 여러 단계가 얽히는 복잡한 워크플로에서는 한계를 드러낸다.
기존 방식은 실행 중간에 계획이 바뀌어도 이전 컨텍스트를 효과적으로 반영하지 못하고, 도구 호출 실패 시 전체 루프를 재시작하는 조잡한 오류 처리에 머문다. 장기 실행 에이전트에서 메모리 관리가 개발자 몫으로 남고, 에이전트 상태를 외부에서 관찰하거나 중단하기도 어렵다.
Deep Agents는 이 한계를 런타임 설계로 해결한다. 각 실행 단계가 명시적 스테이지로 분리되어 있고, 런타임이 상태를 관리하므로 개발자는 비즈니스 로직에만 집중할 수 있다.
계획을 세우는 방식
Deep Agents의 계획 수립은 단순히 LLM에게 "다음에 뭘 할지 물어보는" 수준을 넘어선다. 런타임은 사용자의 목표를 분석하고, 사용 가능한 도구 목록과 현재 메모리 상태를 참조하여 실행 가능한 단계별 계획을 생성한다.
계획은 YAML 또는 JSON 형태의 구조화된 객체로 표현되며, 각 단계는 실행할 도구 또는 서브에이전트, 입력 파라미터와 예상 출력, 다음 단계로 넘어가는 조건, 대안 경로(오류 발생 시)를 포함한다.
이 구조화 계획 덕분에 런타임은 실행 전에 계획의 유효성을 검증할 수 있고, 불필요한 API 호출을 사전에 차단한다.
단기·작업·장기로 나뉘는 메모리
Deep Agents는 세 가지 메모리 계층을 런타임 수준에서 관리한다.
단기 메모리(Ephemeral Memory)는 현재 실행 세션 내에서만 유지되는 컨텍스트다. 이전 도구 호출 결과, 중간 계산값 등이 포함된다.
작업 메모리(Working Memory)는 여러 서브태스크에 걸쳐 공유되는 상태다. 예를 들어 웹 검색 에이전트가 찾은 URL 목록을 요약 에이전트가 참조할 때 사용된다.
장기 메모리(Persistent Memory)는 세션을 넘어 저장되는 사실과 학습이다. 벡터 데이터베이스나 외부 스토리지와 연동되며, 런타임이 자동으로 관련 메모리를 검색하여 컨텍스트에 주입한다.
도구를 체인으로 엮는다
Deep Agents에서 도구 호출은 단순 일회성 호출이 아니라 체인으로 구성된다. 한 도구의 출력이 다음 도구의 입력으로 자동 변환되고, 런타임은 데이터 형식 변환과 유효성 검증을 중간에서 처리한다.
특히 조건부 도구 체인이 눈에 띈다. 특정 도구의 결과에 따라 다음에 호출할 도구가 달라지는 분기 로직을 선언적으로 정의할 수 있다. 이는 기존에 Python 코드로 직접 구현해야 했던 복잡한 워크플로를 YAML 설정으로 표현할 수 있게 해준다.
재시도·폴백·재계획, 실패했을 때 되돌아오는 경로
Deep Agents의 오류 복구는 세 가지 전략을 지원한다.
재시도(Retry)는 일시적 오류(네트워크 타임아웃, API 레이트 리밋)에 대해 지수 백오프로 재시도한다.
폴백(Fallback)은 주 도구 실패 시 대체 도구로 자동 전환한다. 예를 들어 웹 검색 API가 실패하면 캐시된 결과를 활용하거나 다른 검색 제공자로 전환하는 것을 런타임이 처리한다.
재계획(Replan)은 현재 실행 계획이 더 이상 유효하지 않을 때(예: 필요한 리소스를 찾지 못함) 새로운 계획을 수립하고 처음부터 다시 시작한다. 이때 이미 완료된 단계의 결과는 메모리에 보존되어 재활용된다.
이벤트 기반으로 짜인 내부 구조
Deep Agents의 내부 아키텍처는 이벤트 기반 설계를 따른다.
런타임 엔진은 모든 이벤트를 중앙에서 수신하고, 현재 에이전트 상태에 따라 적절한 처리기에 라우팅한다. 이 설계 덕분에 외부 시스템에서 에이전트 실행을 실시간으로 관찰하거나 특정 시점에 개입(human-in-the-loop)할 수 있다.
기존 코드를 그대로 두고 갈아입힐 수 있다
Deep Agents는 기존 LangChain 코드와 높은 하위 호환성을 유지한다. 기존에 작성한 체인이나 도구 정의를 그대로 사용하면서 Deep Agents 런타임으로 래핑할 수 있다.
from langchain_deep_agents import DeepAgentRuntime, PlanningConfig
runtime = DeepAgentRuntime(
planner_llm=ChatAnthropic(model="claude-opus-4"),
tools=[search_tool, code_interpreter, file_manager],
memory_config=MemoryConfig(
working_memory=True,
persistent_store=vector_store
),
planning=PlanningConfig(
max_steps=20,
replan_on_failure=True
)
)
result = await runtime.run("분기별 영업 데이터를 분석하고 예측 모델을 만들어줘")
기존 LangChain 코드 대비 변경 사항이 최소화되어 있어 마이그레이션 비용이 낮다는 점이 강점이다.
데이터 분석부터 리서치까지, 어디에 쓰이나
데이터 분석 에이전트는 여러 데이터 소스를 순차적으로 조회하고, 중간 결과를 메모리에 저장하며, 최종 분석 보고서를 생성하는 복잡한 워크플로에 적합하다.
코드 개발 에이전트는 요구사항 분석 → 코드 작성 → 테스트 실행 → 오류 수정의 사이클을 자율적으로 반복하는 개발 보조 에이전트로 구현할 수 있다.
고객 지원 에이전트는 고객 히스토리 조회, 문제 진단, 해결책 제안, 후속 조치 예약 등 여러 시스템과 연동이 필요한 고객 서비스 자동화에 활용된다.
리서치 에이전트는 웹 검색, 문서 요약, 교차 검증, 보고서 작성을 자율적으로 수행하는 심층 리서치 에이전트로 구현이 가능하다.
LangGraph와는 다른 추상화 층
LangChain 생태계에는 이미 복잡한 에이전트 워크플로를 위한 LangGraph가 있다. Deep Agents와 LangGraph의 차이는 추상화 수준에 있다.
LangGraph는 개발자가 그래프 형태로 에이전트 흐름을 직접 설계하는 저수준 도구다. 반면 Deep Agents는 런타임이 실행 흐름을 자율적으로 관리하는 고수준 추상화를 제공한다. LangGraph가 "직접 워크플로를 그리는" 방식이라면, Deep Agents는 "목표를 주면 런타임이 계획하고 실행하는" 방식이다.
LangChain은 두 도구를 상호 보완적으로 포지셔닝하고 있으며, Deep Agents의 내부 실행 엔진은 LangGraph 위에 구축되어 있다.
런타임이 대신 짊어지는 문제들
LangChain Deep Agents는 프로덕션 AI 에이전트 개발에서 오랫동안 개발자들이 직접 해결해야 했던 문제들을 런타임 수준에서 해결하는 의미 있는 시도다. 계획 수립, 메모리 관리, 오류 복구가 통합된 구조화 런타임은 복잡한 다단계 에이전트를 더 안정적이고 관찰 가능하게 만든다. 기존 LangChain 사용자라면 높은 호환성 덕분에 점진적으로 도입할 수 있으며, 새로운 에이전트 시스템을 구축하는 팀에게는 견고한 기반을 제공한다.