LangChain은 AI Agent를 가장 빠르게 만들 수 있는 Python 프레임워크입니다. 이 글에서는 설치부터 간단한 에이전트 완성까지 단계별로 안내합니다.
설치
pip install langchain langchain-openai duckduckgo-search
핵심 개념
Chain
여러 처리 단계를 연결한 파이프라인입니다. 프롬프트 → LLM → 파서 순서로 연결합니다.
Agent
Chain과 다르게 LLM이 다음 행동을 동적으로 결정합니다. 어떤 도구를 언제 사용할지 스스로 판단합니다.
Tool
에이전트가 사용할 수 있는 기능 단위입니다. 웹 검색, 계산기, 파일 읽기 등을 도구로 등록합니다.
간단한 에이전트 예제
from langchain_openai import ChatOpenAI
from langchain.agents import create_react_agent, AgentExecutor
from langchain_community.tools import DuckDuckGoSearchRun
from langchain import hub
# LLM 설정
llm = ChatOpenAI(model="gpt-4o", temperature=0)
# 도구 등록
tools = [DuckDuckGoSearchRun()]
# ReAct 프롬프트 사용
prompt = hub.pull("hwchase17/react")
# 에이전트 생성
agent = create_react_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
# 실행
result = executor.invoke({"input": "2024년 AI Agent 관련 최신 뉴스를 요약해줘"})
print(result["output"])
ReAct 패턴 이해
LangChain의 기본 에이전트는 ReAct(Reasoning + Acting) 패턴을 사용합니다:
- Thought: 현재 상황을 분석하고 다음 행동 계획
- Action: 도구 선택 및 실행
- Observation: 도구 실행 결과 확인
- 반복: 목표 달성까지 순환
커스텀 도구 만들기
from langchain.tools import tool
@tool
def get_weather(city: str) -> str:
# 도시의 현재 날씨를 가져옵니다.
# 실제 API 호출 로직
return f"{city}의 현재 날씨: 맑음, 22°C"
tools.append(get_weather)
다음 단계
기본 에이전트를 만들었다면, 메모리 추가(ConversationBufferMemory), 멀티 에이전트 구성(LangGraph), RAG 연동 등을 시도해보세요. LangChain의 생태계는 방대하므로 공식 문서와 커뮤니티를 적극 활용하는 것이 중요합니다.
댓글 없음:
댓글 쓰기