AI 에이전트는 환경을 인지하고, 의사 결정을 내리며, 특정 목표 달성을 위해 행동을 취할 수 있는 자율 시스템으로 정의됩니다. 이는 대화형 패턴으로 인간의 지시를 지속적으로 따르는 AI 어시스턴트와는 달리, 초기 작업 지시 후 스스로 작업을 수행하는 백그라운드 작업과 유사합니다. AI 에이전트를 구축하기 위한 핵심 구성 요소는 크게 네 가지입니다. 첫째, 계획 및 추론(Planning & Reasoning)은 목표 달성을 위한 단계를 계획하고, 그 계획을 재귀적으로 검토하여 최적화하는 과정입니다. ‘Chain of Thought’ 기법은 AI가 추론 과정을 단계별로 설명하도록 강제하여 더 정확한 답변을 도출하게 하며, ‘Role Play’는 AI가 특정 성격이나 행동을 채택하도록 유도하는 프롬프트 엔지니어링 기법입니다. 둘째, 환경 인지(Environment Perception)는 AI 에이전트가 작동하는 컨텍스트를 제공하는 것으로, 실시간 데이터 접근이 제한적인 LLM의 특성을 보완하기 위해 현재 날짜나 관련 데이터를 명시적으로 제공할 수 있습니다. 셋째, 도구 호출(Tool Calling/Function Calling)은 AI 에이전트가 외부 API를 호출하거나, 실시간 데이터에 접근하거나, 특정 작업을 수행하도록 하는 기능입니다. 이는 LLM이 확률론적 시스템이므로 산술 계산과 같은 결정론적 작업에는 외부 도구를 사용하도록 유도하여 정확성을 높입니다. 마지막으로, 메모리(Memory)는 AI 에이전트가 작업 진행 상황과 환경 변화를 기억하도록 돕는 기능입니다. ‘RAG(Retrieval-Augmented Generation)’는 외부 데이터 소스에서 텍스트 데이터를 가져와 프롬프트에 삽입함으로써 LLM이 해당 정보를 활용하도록 하는 기법입니다.
현재 AI 에이전트 시스템은 환각(hallucination), 추론 능력의 불확실성, 불안정한 도구 호출과 같은 문제에 직면해 있습니다. 이를 해결하기 위해 AI 에이전트의 성능을 평가하는 다양한 공개 벤치마크와 LLM을 심판으로 활용하는 접근 방식이 제시됩니다. 연사는 미래에는 추론을 담당하는 모델과 도구 호출, 분류 등 특정 작업을 수행하는 모델이 분리된 아키텍처로 발전할 것이라고 예측합니다.
이러한 맥락에서, 연사는 LLM 기반 애플리케이션 구축을 위한 오픈소스 Ruby 프레임워크인 link_chrb
를 소개합니다. 이 프레임워크는 다양한 LLM 제공업체를 통합된 인터페이스로 지원하여 쉽게 교체하고 테스트할 수 있도록 합니다. 발표에서는 ‘Nerds and Threads’라는 가상의 전자상거래 상점을 예시로 AI 에이전트가 어떻게 복잡한 비즈니스 로직을 오케스트레이션하는지 시연했습니다. 고객 계정 생성, 재고 확인, 금액 계산, 결제 처리, 주문 기록 생성, 배송 라벨 생성(주소에 따라 FedEx 또는 DHL 선택), 이메일 알림 발송 등 일련의 표준 운영 절차를 AI 어시스턴트가 여러 외부 서비스(고객 관리, 재고 관리, 결제, 주문 관리, 배송, 이메일 서비스)를 연동하여 자동화하는 과정을 보여주었습니다. 이는 요구사항 변경에 대한 즉각적인 대응이나 텍스트-SQL 변환과 같은 유스케이스에서 AI 에이전트의 유연성과 효율성을 입증합니다.