AI 에이전트(AI Agent)는 자율적으로 환경을 인식하고 목표 달성을 위해 행동을 선택하는 AI 시스템이다. 단순 응답을 넘어 도구 사용, 계획 수립, 메모리 관리를 통해 복잡한 작업을 수행한다.
에이전트 구성 요소
┌─────────────────────────────────────────┐
│ AI 에이전트 │
│ ┌─────────┐ ┌───────────────────────┐ │
│ │ 인식 │ │ LLM 코어 │ │
│ │(지각층) │→ │ (추론 + 계획) │ │
│ └─────────┘ └───────────┬───────────┘ │
│ ┌─────────┐ │ │
│ │ 메모리 │←─────────────┤ │
│ │단기/장기│ ↓ │
│ └─────────┘ ┌───────────────────────┐ │
│ │ 도구 사용 │ │
│ │ (검색, 코드실행, API) │ │
│ └───────────────────────┘ │
└─────────────────────────────────────────┘
ReAct 패턴 구현
python
from langchain.agents import AgentExecutor, create_react_agent
from langchain_openai import ChatOpenAI
from langchain.tools import Tool
# 도구 정의
tools = [
Tool(name="Search", func=search_web, description="웹 검색"),
Tool(name="Calculator", func=calculate, description="수식 계산"),
Tool(name="CodeExecutor", func=run_code, description="Python 코드 실행"),
]
llm = ChatOpenAI(model="gpt-4o")
agent = create_react_agent(llm, tools, prompt=react_prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
result = executor.invoke({
"input": "2024년 한국 GDP를 찾아서 1인당 GDP를 계산해줘"
})
에이전트 아키텍처 유형
| 유형 | 특징 | 예시 |
|---|
| ReAct | 추론-행동 반복 | LangChain Agents |
| Plan & Execute | 계획 후 실행 | Auto-GPT 방식 |
| 멀티에이전트 | 여러 에이전트 협력 | AutoGen, CrewAI |
| 메모리 에이전트 | 장기 기억 유지 | MemGPT |
핵심 도전과제
- •환각(Hallucination): 잘못된 도구 호출, 사실 오류
- •장기 계획: 긴 작업 사슬에서 목표 추적 어려움
- •안전성: 의도치 않은 행동, 권한 남용 방지
- •비용: 많은 LLM 호출로 인한 API 비용
관련 개념