# AI 에이전트 개념 및 프레임워크 가이드
## 핵심 주장
- AI 에이전트는 단순 응답 시스템이 아니라, 목표 달성을 위해 환경과 상호작용하고 필요한 행동을 스스로 결정하는 자율적 소프트웨어다.
- 에이전트의 핵심은 `Agent`, `Memory`, `Tools`, `Planning`, `Action`의 결합이며, 고급 수준에서는 `Reflection`, `Self-critics`, `Subgoal decomposition`까지 확장된다.
- AI 에이전트는 생산성 향상과 비용 절감에 기여하지만, 동시에 프라이버시, 윤리, 기술 복잡성, 컴퓨팅 자원 제약을 수반한다.
- LangGraph는 멀티 에이전트 협업을 그래프 구조로 명시해 상태 관리와 흐름 제어를 체계화하는 프레임워크로 제시된다.
- 복잡한 에이전트 시스템은 프롬프트 설계, 종료 조건, 비용 관리, 디버깅, 휴먼 인터벤션까지 포함해 워크플로우 수준에서 설계해야 한다.
## 주요 내용
### AI 에이전트 정의
AI 에이전트는 환경과 상호작용하고, 데이터를 수집하며, 사전 결정된 목표를 달성하기 위해 필요한 작업을 스스로 판단해 수행할 수 있는 소프트웨어 프로그램으로 설명된다.
원문은 다음 세 가지 속성을 특히 강조한다.
- 자율성: 사람이 목표를 주면 목표 달성을 위한 최적 조치를 독립적으로 선택한다.
- 지능적 판단: 상황에 따라 스스로 해결할지 사람에게 전달할지 결정한다.
- 도구 활용: 외부 도구와 시스템을 연동해 실제 작업을 수행한다.
원문에는 여행 예약 시나리오도 제시된다. 사용자가 예산과 일정 조건을 주면, 에이전트는 항공권 검색, 숙소 예약, 렌트카, 일정 관리, 정보 검색 도구를 조합해 작업을 수행하는 식이다.
### 핵심 구성 요소
원문은 AI 에이전트의 핵심 구성 요소를 다음과 같이 정리한다.
- `Agent`: 중앙 제어 시스템
- `Memory`: 단기 기억과 장기 기억
- `Tools`: Calendar, Calculator, Code Interpreter, Search 등 외부 기능
- `Planning`: 작업 계획 수립
- `Action`: 실제 작업 수행
고급 기능으로는 다음이 추가된다.
- `Reflection`: 수행 결과 검토
- `Self-critics`: 성능 개선을 위한 자체 평가
- `Chain of thoughts`: 논리적 추론 과정
- `Subgoal decomposition`: 복잡한 목표를 작은 단위로 분해
이 구조는 기존의 [[ai/llm/concepts/agents/llm-agent|LLM Agent (에이전트)]]에서 설명하는 ReAct 루프와 연결되며, 특히 Tool Use와 계획 기반 실행의 관점을 보강한다.
### 장단점
#### 장점
원문이 제시하는 AI 에이전트의 장점은 다음과 같다.
- 생산성 향상
- 비용 절감
- 정보에 입각한 의사 결정
- 고객 경험 개선
#### 어려운 점과 한계
원문은 장점보다 실무적 난점을 더 구체적으로 적는다.
- 데이터 프라이버시 문제: 대량의 데이터 획득, 저장, 이동이 필요하며 프라이버시와 보안 요구 사항 충족이 필요하다.
- 윤리적 과제: 편향되거나 불공정한 결과가 발생할 수 있어 사람의 검토와 추가 안전장치가 필요하다.
- 기술적 복잡성: 머신러닝 전문성, 라이브러리 통합, 엔터프라이즈 데이터 학습 모두 구현 난도가 높다.
- 제한된 컴퓨팅 리소스: 학습과 배포 모두 상당한 자원을 요구하며, 온프레미스 환경에서는 인프라 부담이 크다.
### 주요 프레임워크
#### LangGraph
원문에서 가장 상세히 다루는 프레임워크는 LangGraph다. LangGraph는 LangChain 생태계에서 제공하는 멀티 에이전트 오케스트레이션 프레임워크로 소개되며, 여러 LLM 에이전트를 그래프 형태로 연결해 복잡한 작업을 수행하게 한다.
핵심 내용은 다음과 같다.
- 멀티 에이전트 철학: 하나의 범용 에이전트보다 역할이 분화된 여러 에이전트의 협업을 통해 성능을 높인다.
- 상태 기계 관점: 각 노드를 상태처럼 보고, 노드 간 전이를 상태 전이처럼 관리해 복잡한 상호작용을 제어한다.
- 그래프 구조: 노드는 독립된 에이전트, 엣지는 메시지 전달 및 조건부 전이를 뜻한다.
- 상태 기반 설계: 공유 상태에 메시지, 중간 결과, 컨텍스트를 저장하고 각 노드가 이를 읽고 갱신한다.
- 메시지 흐름과 제어 흐름: 라우터 노드나 조건부 엣지를 통해 분기, 반복, 종료를 설계할 수 있다.
- 실무 고려사항: 종료 조건, 프롬프트 설계, 비용, 모니터링, human-in-the-loop를 함께 설계해야 한다.
활용 사례로는 다음이 제시된다.
- QA 시스템
- 코드 생성과 코드 리뷰의 협업 루프
- 문서 요약 파이프라인
- 일정 관리나 이메일 작성 등 전문 에이전트 전환형 비서
자세한 개념 정리는 [[ai/llm/concepts/agents/langgraph|LangGraph]]와 [[_shared/entities/langgraph|LangGraph]]에서 이어서 볼 수 있다.
#### Microsoft AutoGen
Microsoft Research에서 개발한 다중 에이전트 오케스트레이션 프레임워크로, 자율 에이전트 간의 협력을 통해 복잡한 작업을 수행한다.
**특징:**
- 회화 중심(conversation-centric) 프로그래밍 모델
- 에이전트 간 대화 기반 상호작용
- 단순하고 직관적인 추상화
**현황(2026):**
AutoGen은 2026년 기준 유지보수 모드로 전환되었으며, 새로운 기능 추가는 중단되고 커뮤니티가 관리한다. Microsoft는 AutoGen의 경험을 바탕으로 **Microsoft Agent Framework 1.0**을 출시했으며, 새 프로젝트는 이 프레임워크를 권장한다. 신규 Agent Framework는 다음을 통합한다:
- Semantic Kernel의 엔터프라이즈 기능 (세션 상태 관리, 타입 안전성, 미들웨어, 텔레메트리)
- AutoGen의 단순한 에이전트 추상화
- LangGraph 스타일의 그래프 기반 워크플로우
- MCP(Model Context Protocol) 지원
- A2A(Agent-to-Agent) 프로토콜 (다른 프레임워크와 상호운용)
자세한 내용은 [[_shared/entities/autogen|AutoGen]]에서 확인할 수 있다.
#### CrewAI
CrewAI는 오픈소스 다중 에이전트 오케스트레이션 프레임워크로, 역할 기반의 에이전트 팀(crew)이 협력하여 복잡한 작업을 수행하도록 설계되었다. LangChain이나 다른 에이전트 라이브러리와 독립적으로 설계된 가볍고 빠른 Python 프레임워크다.
**특징:**
- **역할 기반 오케스트레이션**: 각 에이전트가 명확한 역할과 책임을 가짐
- **낮은 진입 장벽**: 20줄 이하의 Python 코드로 에이전트, 작업, 크루 정의 가능
- **독립적 설계**: 무거운 추상화 없이 경량 구성
- **다양한 프로세스 타입**: 순차 실행, 병렬 실행, 계층적 실행 등
**프로덕션 준비:**
- 2026년 3월 기준 GitHub 45,900+ 스타, v1.10.1 안정 릴리스
- 일일 1,200만 에이전트 실행 처리 (프로덕션 규모)
- MCP 네이티브 지원, A2A(Agent-to-Agent) 통신 지원
**사용 사례:**
- 복잡한 멀티스텝 워크플로우 (계획 → 실행 → 검증)
- 전문화된 에이전트 팀 조율 (마치 인간 팀처럼)
- 빠른 프로토타이핑과 실험
자세한 내용은 [[_shared/entities/crewai|CrewAI]]에서 확인할 수 있다.
## 기존 지식과의 연결
- [[ai/llm/concepts/agents/llm-agent|LLM Agent (에이전트)]]: 이 문서는 에이전트의 정의, 도구 사용, 계획, 메모리, 오케스트레이션을 보다 실무적인 강의형 설명으로 보강한다.
- [[ai/llm/concepts/agents/langgraph|LangGraph]]: LangGraph의 그래프 구조, 상태 기반 설계, 메시지 흐름, 제어 흐름을 별도 개념으로 정리할 필요가 있다.
- [[_shared/entities/langgraph|LangGraph]]: LangGraph를 프레임워크 엔티티로 다루면 LangChain 생태계와의 관계를 더 명확히 연결할 수 있다.
- [[_shared/entities/autogen|AutoGen]]: Microsoft AutoGen의 회화 중심 설계, 유지보수 모드 전환, Microsoft Agent Framework로의 진화 과정을 정리한다.
- [[_shared/entities/crewai|CrewAI]]: CrewAI의 역할 기반 설계, 경량 구조, 프로덕션 규모의 채택률을 문서화한다.
- [[_shared/entities/langchain|LangChain]]: 원문에서 LangGraph는 LangChain이 제공하는 프레임워크로 설명되므로 상위 생태계 연결이 중요하다.
- [[ai/llm/concepts/chain|Chain]]: LangGraph는 순차 체인보다 그래프 기반 분기와 상태 전이를 강조하므로 체인 개념과 대비해 이해할 수 있다.
## 인용할 만한 구절
> "AI 에이전트는 환경과 상호 작용하고, 데이터를 수집하고, 데이터를 사용하여 사전 결정된 목표를 달성하기 위해 필요한 작업을 스스로 결정해서 수행할 수 있는 소프트웨어 프로그램이다."
> "LangGraph는 LangChain에서 제공하는 멀티 에이전트 오케스트레이션 프레임워크입니다."
> "전통적인 체인(chain)은 고정된 순서를 따르지만, 그래프 구조에서는 유연한 경로 선택과 분기/병렬 흐름이 가능합니다."
> "LangGraph의 핵심은 에이전트들 사이에 공유되는 그래프 상태입니다."
> "그래프 노드 간의 흐름을 명시적으로 관리함으로써 예측 가능성을 높이고, 각 에이전트를 모듈화하여 개발과 유지보수를 용이하게 합니다."