레이블이 Python인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Python인 게시물을 표시합니다. 모든 게시물 표시

2026/06/02

LangChain으로 나만의 AI Agent 만들기 — 초보자 가이드

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) 패턴을 사용합니다:

  1. Thought: 현재 상황을 분석하고 다음 행동 계획
  2. Action: 도구 선택 및 실행
  3. Observation: 도구 실행 결과 확인
  4. 반복: 목표 달성까지 순환

커스텀 도구 만들기

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의 생태계는 방대하므로 공식 문서와 커뮤니티를 적극 활용하는 것이 중요합니다.

CrewAI로 멀티 AI Agent 시스템 구축하기

혼자 일하는 에이전트를 넘어, 여러 AI Agent가 팀으로 협업하는 멀티 에이전트 시스템이 주목받고 있습니다. CrewAI는 이를 가장 직관적으로 구현할 수 있는 프레임워크입니다.

CrewAI란?

CrewAI는 역할 기반 멀티 에이전트 오케스트레이션 프레임워크입니다. 각 에이전트에게 역할(Role), 목표(Goal), 배경(Backstory)을 부여하고, 태스크를 분배하여 협업하게 합니다.

설치

pip install crewai crewai-tools

기본 구조

CrewAI의 핵심은 세 가지입니다:

  • Agent: 역할과 도구를 가진 개별 AI
  • Task: 에이전트에게 할당되는 작업 단위
  • Crew: 에이전트와 태스크의 조합

예제: 리서치 + 작성 에이전트 팀

from crewai import Agent, Task, Crew
from crewai_tools import SerperDevTool

search_tool = SerperDevTool()

# 리서처 에이전트
researcher = Agent(
    role="AI 트렌드 리서처",
    goal="최신 AI Agent 관련 정보를 수집하고 분석한다",
    backstory="5년 경력의 AI 리서처로, 최신 기술 트렌드에 밝다",
    tools=[search_tool],
    verbose=True
)

# 작성자 에이전트
writer = Agent(
    role="테크 블로그 작성자",
    goal="리서치 내용을 독자 친화적인 블로그 포스트로 작성한다",
    backstory="IT 전문 매체 기자 출신으로 복잡한 기술을 쉽게 설명한다",
    verbose=True
)

# 태스크 정의
research_task = Task(
    description="2024년 AI Agent 분야 주요 발전 사항 3가지를 조사하라",
    agent=researcher,
    expected_output="3가지 트렌드와 각각의 의미를 담은 리포트"
)

writing_task = Task(
    description="리서치 결과를 바탕으로 1000자 분량의 블로그 포스트를 작성하라",
    agent=writer,
    expected_output="한국어 블로그 포스트"
)

# Crew 실행
crew = Crew(
    agents=[researcher, writer],
    tasks=[research_task, writing_task],
    verbose=True
)

result = crew.kickoff()
print(result)

멀티 에이전트의 강점

복잡한 프로젝트를 단일 에이전트에게 맡기면 컨텍스트가 폭발하고 품질이 저하됩니다. 멀티 에이전트 시스템은 분업을 통해 각 에이전트가 자신의 전문 영역에 집중하게 하여 전체 품질을 높입니다.

마치 실제 팀처럼, AI Agent들도 역할 분담이 핵심입니다.

SK하이닉스 ADR 상장 이후 한국 증시 급락의 원인 분석

분류: 증시분석 SK하이닉스 ADR 상장 이후 한국 증시 급락의 원인 분석 지난 7월 10일, SK하이닉스가 미국 나스닥에 미국주식예탁증서(ADR)를 상장했다. 공모가 149달러로 상장한 하이닉스 ADR은 첫 거래일인 13일 기준 약 168달...