Skip to main content

AI Agent 개요

AI Agent는 LLM이 자율적으로 의사결정하고, 도구를 활용하여 작업을 수행하는 시스템입니다. 사전에 정의된 파이프라인을 따르는 것이 아니라, 상황을 판단하여 다음 행동을 스스로 결정합니다.

Agent란?

Agent의 핵심 특징:
  • 자율적 의사결정: LLM이 다음 행동을 판단
  • 도구 활용: 검색, 계산, API 호출 등 외부 도구 사용
  • 반복 실행: 충분한 정보를 얻을 때까지 도구 호출을 반복
  • 상태 관리: 대화 이력과 중간 결과를 추적

Agent vs Workflow

항목WorkflowAgent
실행 흐름사전 정의된 고정 경로LLM이 동적으로 결정
제어 방식코드로 조건부 분기LLM의 판단으로 분기
유연성낮음 (설계 시 경로 확정)높음 (런타임에 경로 결정)
예측 가능성높음낮음
적합한 경우정해진 절차, 반복 작업개방형 질문, 복잡한 추론
예시문서 요약 파이프라인연구 보조, 코딩 에이전트
대부분의 프로덕션 시스템은 Workflow와 Agent의 혼합입니다. 핵심 흐름은 Workflow로 설계하고, 의사결정이 필요한 노드에서 Agent를 활용하는 패턴이 일반적입니다.

LangGraph 프레임워크

LangGraph는 LangChain 팀이 개발한 Agent 및 Workflow 구축 프레임워크입니다. 그래프 기반으로 상태(State), 노드(Node), 엣지(Edge)를 정의하여 복잡한 AI 시스템을 구성합니다.

StateGraph 기본 개념

개념설명역할
State그래프 전체에서 공유되는 상태메시지, 데이터 저장
Node상태를 입력받아 처리하는 함수실제 로직 실행
Edge노드 간 연결실행 흐름 정의
Conditional Edge조건에 따라 다음 노드 결정동적 라우팅
START / END시작/종료 지점그래프 경계
from langgraph.graph import StateGraph, START, END

# 상태 정의
class MyState(TypedDict):
    messages: list

# 그래프 구성
graph = StateGraph(MyState)
graph.add_node("my_node", my_function)
graph.add_edge(START, "my_node")
graph.add_edge("my_node", END)

app = graph.compile()

이 섹션에서 다루는 내용