Skip to main content
LangChain v1에서 에이전트의 출발점은 create_agent입니다. create_agent는 내부적으로 LangGraph 런타임 위에서 동작합니다.

create_agent부터 시작하나

  • 빠르게 동작하는 에이전트를 만들 수 있습니다.
  • 도구 호출 루프, 상태, 종료 조건이 기본 제공됩니다.
  • 복잡해지면 LangGraph의 StateGraph로 자연스럽게 내려갈 수 있습니다.

입문자 완주 목표

이 문서를 끝내면 아래를 할 수 있어야 합니다.
  • 도구 2~3개를 붙인 기본 에이전트 구현
  • thread_id 기반 대화 분리 실행
  • 스트리밍 응답 출력
  • LangGraph로 넘어가야 하는 시점 판단

최소 예제

from langchain.agents import create_agent
from langchain.tools import tool

@tool
def get_weather(city: str) -> str:
    """도시의 현재 날씨를 조회합니다."""
    return f"{city}는 맑음, 23°C"

agent = create_agent(
    model="openai:gpt-4.1-mini",
    tools=[get_weather],
    system_prompt="당신은 정확하고 간결한 어시스턴트입니다.",
)

result = agent.invoke(
    {"messages": [{"role": "user", "content": "서울 날씨 알려줘"}]}
)

print(result["messages"][-1].content)

create_agent 실행 상태 이해

스트리밍

for event in agent.stream(
    {"messages": [{"role": "user", "content": "RAG를 3줄로 설명해줘"}]},
    stream_mode="messages",
):
    msg, metadata = event
    if msg.content:
        print(msg.content, end="", flush=True)

언제 LangGraph로 내려가나

다음 조건 중 하나라도 있으면 StateGraph 직접 구현을 고려합니다.
  • 노드/엣지 단위로 실행 경로를 강하게 제어해야 할 때
  • 병렬 fan-out/fan-in, 복잡한 라우팅이 필요할 때
  • 승인 게이트(HITL), 세밀한 재시도 정책이 필요할 때
LangGraph v1에서는 create_react_agent 대신 LangChain create_agent 사용이 권장됩니다.

다음: 공통 컴포넌트

메모리/미들웨어/HITL을 프레임워크 공통 관점으로 먼저 정리합니다.

실무 적용 체크리스트

  • 목표와 성공 기준을 먼저 정의했습니다.
  • 예제를 현재 프로젝트 컨텍스트로 치환했습니다.
  • 실패 시 복구 절차를 문서화했습니다.
  • 다음 단계 문서로 연결해 학습 흐름을 유지합니다.

자주 나는 실수

  1. 학습 목표 없이 예제를 복사해 적용해 실패합니다.
  2. 성공/실패 기준이 없어 품질을 판단하지 못합니다.
  3. 다음 단계 연결 없이 문서를 단절적으로 소비합니다.

다음 문서

다음: LangChain 메시지 포맷

학습 흐름을 이어서 진행합니다.