Skip to main content

AI Agent

LLM이 도구를 사용하여 자율적으로 추론하고 행동하는 시스템


1. Agent란

1.1 LLM vs Agent

LLM (단독)Agent
동작입력 → 출력 (1회)관찰 → 추론 → 행동 → 반복
도구✅ API, 코드 실행, 웹 검색, 파일 조작
외부 데이터❌ (학습 데이터만)✅ 실시간 검색/조회
자율성없음목표를 향해 자율적으로 단계 수행

1.2 Agent 동작 패턴


2. 핵심 패턴

2.1 ReAct (Reasoning + Acting)

Question: Proxmox 클러스터의 노드별 디스크 사용량을 확인해줘

Thought: 노드 목록을 먼저 확인해야 함
Action: api_call("GET /nodes")
Observation: [pve1, pve2, pve3]

Thought: 각 노드의 디스크 상태를 확인해야 함
Action: api_call("GET /nodes/pve1/status")
Observation: {disk: 75%, ...}

Thought: 모든 노드 정보를 수집했음. 정리하여 답변
Answer: pve1: 75%, pve2: 92%, pve3: 45%. pve2가 임계값 초과.

2.2 Plan-and-Execute

복잡한 태스크를 먼저 계획을 세우고 단계별로 실행.


3. Tool Use / Function Calling

3.1 Function Calling이란

LLM이 "이 도구를 이 파라미터로 호출해야 한다"고 구조화된 형태로 출력하면, 시스템이 실제로 도구를 실행하는 방식.

// LLM 출력 (Function Call)
{
"function": "get_server_status",
"arguments": {
"hostname": "pve1",
"metric": "disk_usage"
}
}

// 시스템이 실행 후 결과를 LLM에 전달
{"disk_usage": "75%", "total": "500GB", "used": "375GB"}

3.2 대표 API

플랫폼명칭특징
OpenAIFunction Calling / ToolsJSON Schema 기반 도구 정의
AnthropicTool UseXML + JSON 하이브리드
GoogleFunction CallingGemini API

4. Agent 프레임워크

4.1 LangChain / LangGraph

컴포넌트역할
LangChainLLM + 도구 + 체인을 연결하는 프레임워크
LangGraphLangChain 위에 그래프 기반 워크플로우 구축. 상태 관리, 분기, 반복
LangSmith관찰/디버깅/평가 플랫폼

4.2 CrewAI

멀티 에이전트 협업 프레임워크. 여러 Agent가 역할을 나누어 협력.

4.3 프레임워크 비교

LangChain/LangGraphCrewAIAutoGen
초점체인/그래프 오케스트레이션멀티 에이전트 협업대화 기반 멀티 에이전트
난이도중간~높음쉬움중간
유연성✅ 최고중간중간
프로덕션✅ (LangGraph)성장 중실험적

5. MCP (Model Context Protocol)

5.1 MCP란

Anthropic이 제안한 LLM과 외부 도구를 연결하는 표준 프로토콜.

5.2 핵심 구조

컴포넌트역할
MCP ClientLLM 측. 도구 발견, 호출, 결과 수신
MCP Server도구 제공 측. 도구 목록, 실행, 결과 반환
Transport통신 채널 (stdio, SSE)

5.3 왜 MCP인가

기존 방식MCP
각 LLM마다 다른 도구 연결 방식표준화된 프로토콜
도구 추가마다 코드 수정MCP Server 추가만 하면 됨
LLM 교체 시 도구 연동 재구축프로토콜이 같으므로 호환

6. 메모리 관리

유형설명구현
단기 메모리현재 대화의 히스토리컨텍스트 윈도우 내 메시지
장기 메모리과거 대화에서 추출한 요약/사실Vector DB, 요약 저장
작업 메모리현재 태스크의 중간 결과상태 변수, scratchpad

7. Agent 안전성

위험설명대응
무한 루프Agent가 목표를 달성하지 못하고 반복최대 반복 횟수 제한
위험한 행동파일 삭제, 무단 API 호출허용 도구 화이트리스트, 확인 단계
환각 기반 행동잘못된 추론으로 엉뚱한 도구 호출Human-in-the-loop
비용 폭발반복 호출로 API 비용 급증비용 상한 설정

다음 글

LLM 활용 패턴


📝 참고 자료