본문으로 건너뛰기
공원나연조회 2

LangChain create_agent와 Middleware 및 Deep Agents 심층 분석

LangChain의 create_agent와 Middleware 구조를 파악하고, 이를 확장하여 복잡한 작업을 수행하는 Deep Agents의 아키텍처와 컨텍스트 관리 기법을 상세히 분석한다.

챕터별 상세

01:24

LangChain v1 create_agent와 ReAct 패턴

LangChain 버전 0에서 사용되던 create_react_agent가 버전 1로 넘어오면서 create_agent로 업데이트되었다. 이는 도구 호출(Tool Calling)을 기반으로 생각(Thought), 행동(Action), 관찰(Observation)을 반복하는 ReAct 패턴을 기본 아키텍처로 채택했다. 사용자의 요청이 모델로 들어오면 모델은 어떤 도구를 사용할지 결정하고, 도구 실행 결과를 바탕으로 최종 답변을 생성하는 루프를 수행한다.
03:28

Middleware의 등장과 개입 위치

기존의 에이전트 패턴은 도구 호출에만 초점이 맞춰져 있어 중간 과정을 커스텀하기 어려웠다. 이를 해결하기 위해 Middleware 개념이 도입되었으며, 에이전트 실행의 6가지 주요 지점에 개입할 수 있다. Before Agent, Before Model, Wrap Model Call, Wrap Tool Call, After Model, After Agent 단계에서 각각 전처리, 후처리, 재시도 로직 등을 삽입하여 에이전트의 행동을 세밀하게 제어한다.
python
from langchain.agents import create_agent

agent = create_agent(
    model=gpt_4_model,
    tools=[weather_tool, calculator_tool],
    middleware=[
        SummarizationMiddleware(...),
        HumanInTheLoopMiddleware(...)
    ]
)

LangChain v1에서 미들웨어를 포함하여 에이전트를 생성하는 기본 구조

09:18

Built-in Middleware: Summarization 및 PII

LangChain은 자주 사용되는 기능을 빌트인 미들웨어로 제공한다. SummarizationMiddleware는 대화 이력이 길어져 토큰 제한에 가까워지면 이전 내용을 요약하여 컨텍스트를 압축한다. PIIMiddleware는 이메일, 카드 번호, IP 주소 등 개인 식별 정보를 탐지하여 모델로 전달되기 전이나 사용자에게 출력되기 전에 마스킹 처리함으로써 보안을 강화한다.
16:18

Deep Agents의 구조와 TodoListMiddleware

Deep Agents는 복잡한 작업을 수행하기 위해 계획 수립과 서브 에이전트 활용에 특화된 라이브러리다. 내부적으로 create_agent를 기반으로 하며, TodoListMiddleware를 통해 작업 목록을 관리한다. 이 미들웨어는 모델이 복잡한 문제를 해결하기 위해 스스로 계획을 세우고(write_todos), 각 단계가 완료될 때마다 상태를 업데이트하며 진행 상황을 추적하도록 돕는다.
python
from deepagents import create_deep_agent

agent = create_deep_agent(
    tools=[get_weather],
    system_prompt="You are a helpful assistant."
)

# Run the agent
agent.invoke({"messages": [{"role": "user", "content": "what is the weather?"}]})

Deep Agents 라이브러리를 사용한 자율 에이전트 생성 및 실행 예시

25:06

Filesystem 및 SubAgent를 통한 컨텍스트 관리

Deep Agents는 컨텍스트 복잡성을 해결하기 위해 FilesystemMiddleware와 SubAgentMiddleware를 사용한다. FilesystemMiddleware는 도구 실행 결과가 너무 클 경우 이를 파일로 저장(Offloading)하고 필요할 때만 읽어오게 하여 컨텍스트 윈도우를 절약한다. SubAgentMiddleware는 특정 작업을 하위 에이전트에게 위임하고 결과만 받아옴으로써 메인 에이전트의 부담을 줄이고 작업을 격리한다.
40:06

에이전트 하네스(Harness) 개념과 결론

Deep Agents는 단순한 프레임워크를 넘어 '에이전트 하네스(Agent Harness)' 역할을 한다. 하네스는 LLM의 강력한 능력을 안전하고 통제된 방향으로 이끌기 위한 장치들을 의미한다. 미리 정의된 도구, 프롬프트, 미들웨어 세트를 통해 에이전트가 실전 환경에서 안정적으로 작동하도록 보장하며, 개발자는 이를 통해 고도로 자율적인 에이전트를 더 쉽게 설계할 수 있다.

용어 해설

미들웨어(Middleware)
소프트웨어 애플리케이션의 서로 다른 구성 요소 사이에서 데이터를 주고받거나 특정 로직을 실행하는 중간 계층이다. 에이전트 아키텍처에서는 모델 호출 전후나 도구 실행 시점에 개입하여 컨텍스트 요약, 보안 필터링 등의 부가 기능을 수행한다.
개인 식별 정보(PII)
이름, 이메일, 카드 번호와 같이 특정 개인을 식별할 수 있는 정보를 의미한다. LLM 애플리케이션에서는 보안을 위해 모델로 전달되기 전이나 사용자에게 출력되기 전에 이러한 정보를 탐지하고 마스킹하는 과정이 필수적이다.
컨텍스트 오프로딩(Context Offloading)
LLM의 컨텍스트 윈도우 크기 제한을 극복하기 위해 대용량 데이터를 모델에 직접 넣지 않고 외부 파일 시스템이나 데이터베이스에 저장하는 기법이다. 필요할 때만 해당 데이터를 로드하여 사용함으로써 토큰 비용을 절감하고 효율성을 높인다.
리액트 패턴(ReAct Pattern)
Reasoning(추론)과 Acting(행동)을 결합한 에이전트 작동 방식이다. 모델이 문제를 해결하기 위해 생각을 먼저 하고, 그에 따른 도구를 실행하며, 실행 결과를 관찰하여 다음 단계를 결정하는 루프를 반복한다.
하네스(Harness)
원래 말이나 기계의 힘을 제어하기 위한 장치를 뜻하며, AI 분야에서는 LLM의 능력을 안전하고 통제된 방향으로 이끌기 위한 프레임워크나 아키텍처 세트를 의미한다. 에이전트가 의도된 대로 작동하도록 돕는 안전 장치 역할을 한다.
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 02. 10.수집 2026. 02. 21.출처 타입 YOUTUBE

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.