LLM 기반 Agent의 부상과 가능성: 서베이
The rise and potential of large language model based agents: a survey
TL;DR Highlight
한 종합 서베이가 LLM 기반 AI 에이전트의 구조, 능력, 응용, 한계를 단일 논문에서 정리했다.
Who Should Read
AI 에이전트 시스템을 설계하거나 도입을 검토 중인 백엔드/ML 엔지니어. LLM을 단순 챗봇이 아닌 자율 행동 시스템으로 발전시키고 싶은 개발자.
Core Mechanics
- LLM 에이전트는 크게 '인지(Perception) → 두뇌(Brain) → 행동(Action)' 세 모듈로 구성됨. 인지는 텍스트/이미지 등 입력, 두뇌는 LLM이 담당, 행동은 API 호출·코드 실행 등
- 메모리 구조를 단기(컨텍스트 윈도우), 장기(외부 벡터DB), 파라메트릭(모델 가중치에 내재) 세 가지로 분류해서 설계 가이드 제시
- 에이전트가 도구(Tool)를 쓰는 방식: 검색, 계산기, 코드 실행, 외부 API 호출로 LLM의 지식 한계를 보완
- 멀티 에이전트 시스템에서 협업·경쟁·역할분담 구조를 쓰면 단일 에이전트보다 복잡한 태스크 처리 가능
- 에이전트 적용 도메인: 소프트웨어 개발(코드 생성·디버깅), 과학 연구, 게임, 웹 자동화, 로보틱스 등 광범위
- 현재 에이전트의 주요 한계: 장기 플래닝 실패, 환각(hallucination), 보안 취약점(프롬프트 인젝션), 고비용 추론
Evidence
- 서베이 논문 특성상 단일 수치보다 광범위한 연구 정리가 목적 — 100개 이상의 LLM 에이전트 관련 논문을 체계적으로 분류·분석
- ReAct, Reflexion, AutoGPT, BabyAGI, HuggingGPT 등 주요 에이전트 프레임워크를 비교 분석하여 아키텍처 패턴 정리
- 에이전트 벤치마크로 ALFWorld, WebShop, HotpotQA 등 다양한 환경에서의 성능 트렌드를 비교
How to Apply
- 새 에이전트 시스템 설계 시, 논문의 Perception-Brain-Action 프레임을 청사진으로 쓰면 됨: 입력 모달리티 정의 → LLM 선택 → 사용할 도구 목록 확정 순서로 설계
- 장기 태스크를 에이전트에 맡기려면 단기 메모리(컨텍스트)만 쓰지 말고 외부 벡터DB를 장기 메모리로 연결하는 구조를 채택할 것
- 복잡한 워크플로우는 단일 에이전트 대신 역할을 나눈 멀티 에이전트(예: Planner 에이전트 + Executor 에이전트 + Critic 에이전트)로 분리하면 성능 향상 기대 가능
Code Example
# ReAct 패턴 기반 에이전트 프롬프트 예시 (논문에서 소개된 핵심 패턴)
SYSTEM_PROMPT = """
You are an agent. For each step, follow this format:
Thought: [현재 상황 분석 및 다음 행동 계획]
Action: [사용할 도구 이름]
Action Input: [도구에 전달할 입력값]
Observation: [도구 실행 결과 — 시스템이 채워줌]
위 사이클을 반복하다가 최종 답을 알면:
Final Answer: [최종 답변]
"""
# LangChain으로 간단 구현
from langchain.agents import initialize_agent, AgentType
from langchain.tools import Tool
from langchain.chat_models import ChatOpenAI
llm = ChatOpenAI(model="gpt-4", temperature=0)
tools = [
Tool(name="Search", func=search_fn, description="인터넷 검색이 필요할 때"),
Tool(name="Calculator", func=calc_fn, description="수학 계산이 필요할 때"),
Tool(name="CodeExecutor", func=exec_fn, description="Python 코드 실행이 필요할 때"),
]
agent = initialize_agent(
tools=tools,
llm=llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
verbose=True
)
result = agent.run("2024년 AI 에이전트 관련 논문 수를 조사하고 전년 대비 증가율을 계산해줘")Terminology
관련 논문
adamsreview: Claude Code용 멀티 에이전트 PR 코드 리뷰 파이프라인
Claude Code에서 최대 7개의 병렬 서브 에이전트가 각각 다른 관점으로 PR을 리뷰하고, 자동 수정까지 해주는 오픈소스 플러그인이다. 기존 /review나 CodeRabbit보다 실제 버그를 더 많이 잡는다고 주장하지만 커뮤니티에서는 복잡도와 실효성에 대한 회의론도 나왔다.
Claude를 User Space IP Stack으로 써서 Ping에 응답시키면 얼마나 빠를까?
Claude Code에게 IP 패킷을 직접 파싱하고 ICMP echo reply를 구성하도록 시켜서 실제로 ping에 응답하게 만든 실험으로, 'Markdown이 곧 코드이고 LLM이 프로세서'라는 아이디어를 네트워크 스택 수준까지 밀어붙인 재미있는 사례다.
AI Agent를 위한 Git: re_gent
AI 코딩 에이전트(Claude Code 등)가 수행한 모든 툴 호출을 자동으로 추적하고, 어떤 프롬프트가 어느 코드 줄을 작성했는지 blame까지 가능한 버전 관리 도구다.
Agent-Native CLI를 위한 설계 원칙 10가지
AI 에이전트가 CLI 도구를 더 잘 사용할 수 있도록 설계하는 원칙들을 정리한 글로, 에이전트가 CLI를 도구로 활용하는 빈도가 높아지면서 이 설계 방식이 실용적으로 중요해지고 있다.
Agent-harness-kit: MCP 기반 멀티 에이전트 워크플로우 오케스트레이션 프레임워크
여러 AI 에이전트가 서로 역할을 나눠 협업할 수 있도록 조율하는 scaffolding 도구로, Vite처럼 설정 없이 빠르게 멀티 에이전트 파이프라인을 구성할 수 있다.
Tilde.run – AI Agent를 위한 트랜잭션 기반 버전 관리 파일시스템 샌드박스
AI 에이전트가 실제 프로덕션 데이터를 건드려도 롤백할 수 있는 격리된 샌드박스 환경을 제공하는 도구로, GitHub/S3/Google Drive를 하나의 버전 관리 파일시스템으로 묶어준다.