create_agent
LangChain에서 에이전트를 구축하는 새로운 표준으로,
langgraph.prebuilt.create_react_agent를 대체합니다.표준 콘텐츠 블록
프로바이더 전반에서 최신 LLM 기능에 통합된 접근을 제공하는 새로운
content_blocks 속성입니다.간소화된 네임스페이스
langchain 네임스페이스가 에이전트를 위한 필수 구성 요소에 집중하도록 간소화되었으며, 레거시 기능은 langchain-classic으로 이동했습니다.create_agent
create_agent는 LangChain 1.0에서 에이전트를 구축하는 표준 방법입니다. langgraph.prebuilt.create_react_agent보다 간단한 인터페이스를 제공하면서도 미들웨어를 사용하여 더 큰 커스터마이징 가능성을 제공합니다.
create_agent는 기본 에이전트 루프를 기반으로 구축됩니다 — 모델을 호출하고, 실행할 도구를 선택하게 한 후, 더 이상 도구를 호출하지 않으면 종료합니다:

미들웨어
미들웨어는create_agent의 핵심 기능입니다. 매우 커스터마이징 가능한 진입점을 제공하여 구축할 수 있는 범위의 상한선을 높입니다.
훌륭한 에이전트는 컨텍스트 엔지니어링이 필요합니다: 적절한 시기에 모델에 올바른 정보를 제공하는 것입니다. 미들웨어는 구성 가능한 추상화를 통해 동적 프롬프트, 대화 요약, 선택적 도구 접근, 상태 관리 및 가드레일을 제어할 수 있도록 도와줍니다.
사전 구축된 미들웨어
LangChain은 일반적인 패턴을 위한 몇 가지 사전 구축된 미들웨어를 제공합니다:PIIMiddleware: 모델에 전송하기 전에 민감한 정보를 수정합니다SummarizationMiddleware: 대화 기록이 너무 길어지면 압축합니다HumanInTheLoopMiddleware: 민감한 도구 호출에 대한 승인을 요구합니다
커스텀 미들웨어
필요에 맞게 커스텀 미들웨어를 구축할 수도 있습니다. 미들웨어는 에이전트 실행의 각 단계에서 훅을 노출합니다:
AgentMiddleware 클래스의 서브클래스에서 다음 훅 중 하나를 구현하여 커스텀 미들웨어를 구축하세요:
| 훅 | 실행 시점 | 사용 사례 |
|---|---|---|
before_agent | 에이전트 호출 전 | 메모리 로드, 입력 검증 |
before_model | 각 LLM 호출 전 | 프롬프트 업데이트, 메시지 정리 |
wrap_model_call | 각 LLM 호출 전후 | 요청/응답 가로채기 및 수정 |
wrap_tool_call | 각 도구 호출 전후 | 도구 실행 가로채기 및 수정 |
after_model | 각 LLM 응답 후 | 출력 검증, 가드레일 적용 |
after_agent | 에이전트 완료 후 | 결과 저장, 정리 |
LangGraph 기반 구축
create_agent가 LangGraph를 기반으로 구축되었기 때문에, 다음을 통해 장기 실행 및 신뢰할 수 있는 에이전트를 위한 기본 지원을 자동으로 받게 됩니다:
영속성
기본 체크포인팅을 통해 세션 간 대화가 자동으로 유지됩니다
스트리밍
토큰, 도구 호출 및 추론 추적을 실시간으로 스트리밍합니다
휴먼-인-더-루프
민감한 작업 전에 사람의 승인을 위해 에이전트 실행을 일시 중지합니다
타임 트래블
대화를 임의의 시점으로 되돌리고 대체 경로와 프롬프트를 탐색합니다
구조화된 출력
create_agent는 개선된 구조화된 출력 생성 기능을 제공합니다:
- 메인 루프 통합: 구조화된 출력이 이제 추가 LLM 호출을 요구하지 않고 메인 루프에서 생성됩니다
- 구조화된 출력 전략: 모델이 도구 호출과 프로바이더 측 구조화된 출력 생성 중에서 선택할 수 있습니다
- 비용 절감: 추가 LLM 호출로 인한 추가 비용을 제거합니다
ToolStrategy의 handle_errors 파라미터를 통해 오류 처리를 제어합니다:
- 파싱 오류: 모델이 원하는 구조와 일치하지 않는 데이터를 생성할 때
- 다중 도구 호출: 모델이 구조화된 출력 스키마에 대해 2개 이상의 도구 호출을 생성할 때
표준 콘텐츠 블록
콘텐츠 블록 지원은 현재 다음 통합에서만 사용할 수 있습니다:콘텐츠 블록에 대한 더 광범위한 지원은 더 많은 프로바이더에 걸쳐 점진적으로 출시될 예정입니다.
content_blocks 속성은 프로바이더 전반에서 작동하는 메시지 콘텐츠의 표준 표현을 도입합니다:
장점
- 프로바이더 독립적: 프로바이더에 관계없이 동일한 API를 사용하여 추론 추적, 인용, 내장 도구(웹 검색, 코드 인터프리터 등) 및 기타 기능에 접근합니다
- 타입 안전: 모든 콘텐츠 블록 타입에 대한 완전한 타입 힌트를 제공합니다
- 하위 호환성: 표준 콘텐츠를 지연 로드할 수 있으므로 관련된 호환성 문제가 없습니다
간소화된 패키지
LangChain v1은langchain 패키지 네임스페이스를 간소화하여 에이전트를 위한 필수 구성 요소에 집중합니다. 개선된 네임스페이스는 가장 유용하고 관련성 있는 기능을 노출합니다:
네임스페이스
| 모듈 | 사용 가능한 기능 | 비고 |
|---|---|---|
langchain.agents | create_agent, AgentState | 핵심 에이전트 생성 기능 |
langchain.messages | 메시지 타입, 콘텐츠 블록, trim_messages | @[langchain-core]에서 재내보내기 |
langchain.tools | @tool, BaseTool, 인젝션 헬퍼 | @[langchain-core]에서 재내보내기 |
langchain.chat_models | init_chat_model, BaseChatModel | 통합 모델 초기화 |
langchain.embeddings | Embeddings, init_embeddings | 임베딩 모델 |
langchain-core에서 재내보내기되며, 에이전트 구축을 위한 집중된 API 표면을 제공합니다.
langchain-classic
레거시 기능은 핵심 패키지를 가볍고 집중적으로 유지하기 위해 langchain-classic으로 이동했습니다.
langchain-classic에 포함된 내용:
- 레거시 체인 및 체인 구현
- 리트리버(예:
MultiQueryRetriever또는 이전langchain.retrievers모듈의 모든 것) - 인덱싱 API
- 허브 모듈(프로그래밍 방식으로 프롬프트 관리)
langchain-community내보내기- 기타 더 이상 사용되지 않는 기능
langchain-classic을 설치하세요:
마이그레이션 가이드
LangChain v1로 코드를 업데이트하는 방법은 마이그레이션 가이드를 참조하세요.이슈 보고
1.0에서 발견된 모든 이슈는'v1' 레이블을 사용하여 GitHub에 보고해 주세요.
추가 리소스
LangChain 1.0
공지 사항 읽기
미들웨어 가이드
미들웨어에 대한 심층 분석
에이전트 문서
전체 에이전트 문서
메시지 콘텐츠
새로운 콘텐츠 블록 API
마이그레이션 가이드
LangChain v1로 마이그레이션하는 방법
GitHub
이슈 보고 또는 기여
참고
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.