AI 에이전트의 이해
Agentic AI와 에이전트 정의
- Agentic AI: AI가 주체성을 가지고 프롬프트 없이도 행동하며, 목표 달성을 위한 단계를 스스로 수행하고 인간과 유사하게 작동하는 개념입니다.
- 에이전트: Agentic AI의 기반이 되는 소프트웨어 시스템으로, 자율적으로 행동하고, 의사결정을 내리며, 문맥을 이해하고, 하드코딩 없이도 작업을 연결할 수 있습니다. 현대 에이전트는 일반적으로 목표, 도구, 플래너/오케스트레이터, 장단기 기억을 포함합니다.
워크플로우와 에이전트의 차이
- 워크플로우: 에이전트의 핵심 개념이지만 동일하지는 않습니다. 학습 능력이나 유연성이 떨어지며, 매우 규격화되고 규칙 기반으로 작동합니다. 특정 단계를 정확히 알고 있을 때 유용합니다.
- 에이전트: 모델 기반으로 작동하며, 적응력이 뛰어나고 개방형 문제 해결에 더 적합합니다. 워크플로우는 에이전트의 일부가 될 수 있습니다.
에이전트의 필수 구성 요소 (Rails 예시)
발표자는 Rails 애플리케이션을 기반으로 한 더미 지원 봇(에이전트) 예시를 통해 각 구성 요소를 설명합니다.
1. 툴링 레이어 (Tooling Layer)
- MCP (Model Context Protocol): Anthropic에서 개발한 표준으로, AI 모델이 외부 도구, 서비스 및 구조화된 JSON 인터페이스를 안전하게 탐색하고 호출하는 방법을 정의합니다. Zendesk MCP 서버를 호출하여 지원 티켓 컨텍스트를 얻는 예시가 제시됩니다.
2. 기억 (Memory)
- 장기 기억 (Long-term Memory):
AgentMemory테이블을 사용하여 에이전트의 생각과 컨텍스트 타임라인을 기록합니다. 플래너 응답, 도구 호출, 사용자 입력 후 매번 행을 추가하여 망각을 방지하고 장기 세션에 대한 컨텍스트를 유지합니다. - 단기 기억 (Short-term Memory) - State Store: 에이전트 실행의 단일 진실 소스 역할을 하는
run객체(JSONB 컬럼)입니다. 실행 메타데이터, 현재 계획, 도구 출력, 오류 재시도, 게이트 결정 등을 추적하여 재개 가능성, 동시성 및 올바른 의사결정을 지원합니다.
3. 에이전트 오케스트레이션 (Agent Orchestration)
- 다단계 에이전트 작업을 계획, 실행 및 감독하는 로직입니다. LLM 또는 도구를 호출하고, 가드레일을 구현하며, 상태를 유지하고, 재시도 및 롤백을 처리하며, 관찰 및 감사를 수행합니다. LLM과 비즈니스 성과를 연결하는 ‘접착제’ 역할을 합니다.
4. 계획 (Planning)
- 에이전트의 ‘실행 기능’으로, 목표를 일련의 단계와 검증 가능한 행동으로 전환합니다. 네 가지 주요 전술이 있습니다:
- Subgoal Composition: 큰 목표를 작은 단계로 분할하고 다음 행동을 제안합니다.
- Reflection: 최신 출력을 검토하고 개선 또는 다음 시도할 것을 결정합니다.
- Self-Critique: 즉각적 또는 최종 결과를 기준에 따라 평가하고 수정하거나 에스컬레이션합니다.
- Chain of Thought: 다음에 무엇을 할지 내부적으로 추론합니다.
에이전트 구축 모범 사례
- 모듈화 및 유지보수성: 에이전트의 복잡성과 빠른 변화 속도를 고려할 때, 모듈화는 지속적인 반복 및 발전에 필수적입니다.
- 게이트 (Gates) 및 가드레일 (Guardrails): 정책 검사, 속도 제한, 사용자 확인(예: GitHub Co-pilot의 코드 유지/취소) 등은 에이전트의 안전과 통제에 필수적입니다.
- 프롬프트 변경 최소화: 사소한 프롬프트 변경도 플래너의 도구 사용 중단, 환각 또는 JSON 계약 위반을 초래할 수 있으므로 최소한의 지침만 제공해야 합니다.
- 광범위한 테스트: 야간 평가(nightly evaluations)를 통한 철저한 테스트는 에이전트의 신뢰성을 보장합니다.
- 테스트 하네스 (Test Harnesses): 동작을 고정하고, 프롬프트를 조정하며, 도구 호출 수를 줄이는 데 도움이 됩니다.
- 관찰 가능성 (Observability): 에이전트의 모든 활동은 추적, 검사 및 설명 가능해야 합니다. 이는 책임감과 윤리적, 신뢰성 있는 에이전트 운영에 중요합니다 (예: Co-pilot의 ‘세션 보기’ 기능).
에이전트의 미래
- 인간 유사성 (Humanlike): 에이전트는 점점 더 인간과 유사해질 것이며, ‘느낌’, ‘성격’, ‘관계 구축’이 중요해질 것입니다. 기억력 향상과 함께 사용자를 더 잘 이해하고 브랜드 가치에 부합하게 될 것입니다.
- 서브 에이전트 (Sub-agents): 단일 책임 원칙(SRP)과 유사하게, 각 에이전트가 고유한 책임을 갖는 서브 에이전트의 계층 구조가 나타날 것입니다.
- 워크플로우 네이티브 (Workflow Native): 현재 LLM을 중심으로 구축되는 워크플로우는 미래에는 브랜칭, 재시도, 체크포인트, 롤백을 포함하는 워크플로우 엔진 내의 LLM 단계로 발전할 것입니다 (Airflow, Temporal과 같은 전통적인 오케스트레이션 도구와의 결합).
윤리적 고려사항
- 투명성: 에이전트의 작동 방식과 사용자 참여를 보장하는 것이 중요합니다.
- 편향성 (Bias): 사용되는 LLM의 편향성을 의심하고 인식해야 합니다.
- 안전장치, 게이트, 정책 검사: 에이전트가 올바른 방향으로 작동하도록 필수적입니다.
- 보안 및 보존 정책: 개발자에게 명확하게 보이는 보안 및 데이터 보존 정책을 수립해야 합니다.
- 감사 (Audits): 정기적인 감사와 ‘도그푸딩(dogfooding)’을 통해 에이전트의 예상 동작과 편향성 여부를 확인해야 합니다.