Agents: AI 의 최상위 목표와 실패 모드 평가
요약
지능형 에이전트는 AI 연구의 최종 목표로 간주되며, 환경을 감지하고 그 환경에 작용할 수 있는 자율적인 지능 시스템입니다. Foundation 모델 덕분에 웹사이트 생성, 시장 조사, 고객 계정 관리 등 광범위한 작업을 수행하는 '보조원' 역할을 하는 에이전트 개발이 가능해졌습니다. 이 글은 에이전트를 구성하는 핵심 요소인 도구(tools)와 계획(planning)을 설명하고, 나아가 이러한 새로운 운영 방식에서 발생할 수 있는 다양한 실패 모드까지 평가하는 방법을 논의합니다.
핵심 포인트
- 에이전트는 환경을 감지하고 그 환경에 작용할 수 있는 모든 시스템으로 정의되며, 자율적 지능형 에이전트가 AI의 궁극적인 목표입니다.
- Foundation 모델은 에이전트에게 웹 크롤링, 데이터 분석, 코딩 등 이전에 불가능했던 광범위한 기능을 부여하여 경제적 가치를 창출하고 있습니다.
- 에이전트의 능력은 환경(use case)과 접근 가능한 도구 세트(tools)라는 두 가지 요소에 의해 결정되며, 이 둘 사이에는 강한 의존성이 존재합니다.
- AI 에이전트는 사용자가 부여한 작업을 달성하기 위해 행동 시퀀스를 계획하고 실행하는 과정을 거치며, 성공적인 개발을 위해서는 다양한 실패 모드까지 평가해야 합니다.
지능형 에이전트 (Intelligent Agents) 는 많은 전문가에게 AI 의 최종 목표로 여겨집니다. 스타터 러셀 (Stuart Russell) 과 피터 노비그 (Peter Norvig) 의 고전적인 책 『인공지능: 현대적 접근법』(Prentice Hall, 1995) 은 AI 연구 분야를 "합리적 에이전트의 연구 및 설계"로 정의합니다. Foundation 모델의 놀라운 능력은 이전에 상상할 수 없었던 에이전트 애플리케이션을 가능하게 했습니다. 이러한 새로운 능력은 이제 우리가 보조원 (assistants), 동료 (coworkers), 코치 (coaches) 로 행동할 수 있는 자율적 지능형 에이전트를 개발하는 것을 최종적으로 가능하게 합니다. 그들은 웹사이트를 생성하거나, 데이터를 수집하거나, 여행을 계획하거나, 시장 조사 (market research) 를 수행하거나, 고객 계정을 관리하거나, 데이터 입력을 자동화하거나, 면접 준비를 도와주거나, 지원자를 면접하거나, 거래를 협상할 수 있습니다. 가능성은 끝이 없으며, 이러한 에이전트의 잠재적 경제적 가치는 방대합니다. 이 섹션은 에이전트 개요로 시작하여 에이전트의 능력을 결정하는 두 가지 측면인 도구 (tools) 와 계획 (planning) 으로 이어집니다. 새로운 운영 모드를 가진 에이전트는 새로운 실패 모드도 가지고 있습니다. 이 섹션은 이러한 실패를 포착하기 위해 에이전트를 평가하는 방법에 대해 논의하며 마무리됩니다. 이 글은 AI Engineering (2025) 의 Agents 섹션에서 차용되었으며, 독립적인 글로 만들기 위한 소수 수정을 가했습니다.
참고 : AI 기반 에이전트는 아직 정의, 개발 및 평가를 위한 확립된 이론적 프레임워크가 없는 신흥 분야입니다. 이 섹션은 기존 문헌을 바탕으로 프레임워크를 구축하는 최선의 노력을 다한 것이지만, 이 분야가 진화함에 따라 함께 발전할 것입니다. 나머지 책에 비해 이 섹션은 더 실험적입니다. 초기 검토자로부터 유용한 피드백을 받았으며, 블로그 글 독자들의 피드백도 기대합니다. 이 책이 발표되기 직전인 2024 년 12 월, Anthropic 은 "효과적인 에이전트 구축"에 대한 블로그 게시물을 발행했습니다. Anthropic 의 블로그 게시물과 나의 에이전트 섹션은 개념적으로 일치하지만 용어가 약간 다르다는 것을 기쁘게 생각합니다. 그러나 Anthropic 의 게시물은 고립된 패턴에 초점을 맞추는 반면, 나의 게시물은 왜 (why) 그리고 어떻게 (how) 작동하는지에 대해 다룹니다. 또한 나는 계획 (planning), 도구 선택 (tool selection), 실패 모드 (failure modes) 에 더 집중합니다. 이 글에는 많은 배경 정보가 포함되어 있습니다. 너무 세부적인 내용이 느껴진다면 앞부분을 건너뛰셔도 좋습니다!
에이전트 개요: 에이전트라는 용어는 소프트웨어 에이전트, 지능형 에이전트, 사용자 에이전트, 대화형 에이전트, 강화학습 에이전트 (reinforcement learning agent) 등 다양한 공학적 맥락에서 사용되어 왔습니다. 그렇다면 에이전트는 정확히 무엇일까요? 에이전트는 환경을 감지하고 그 환경에 작용할 수 있는 모든 것입니다. 『인공지능: 현대적 접근법』(1995) 은 에이전트를 센서 (sensors) 를 통해 환경을 감지하고 액추에이터 (actuators) 를 통해 환경을 작용하는 것으로 볼 수 있는 모든 것이라고 정의합니다. 즉, 에이전트는 작동하는 환경과 수행할 수 있는 행동 집합으로 특징지어집니다. 에이전트가 작동할 수 있는 환경은 사용 사례 (use case) 로 정의됩니다. 예를 들어, 게임 (예: Minecraft, Go, Dota) 을 플레이하도록 개발된 에이전트의 경우 그 게임이 환경입니다. 인터넷의 문서를 크롤링하도록 에이전트를 만들고 싶다면 환경은 인터넷입니다. 자율주행차 에이전트의 환경은 도로 시스템과 그 주변 지역입니다. AI 에이전트가 수행할 수 있는 행동 집합은 접근 가능한 도구 (tools) 로 확장됩니다. 매일 상호작용하는 많은 생성형 AI 기반 애플리케이션은 단순한 도구들을 가진 에이전트입니다. ChatGPT 는 에이전트입니다. 웹 검색을 수행하거나 Python 코드를 실행할 수 있습니다.
이미지 생성 (image generation) 을 수행합니다. RAG 시스템은 에이전트이며, 텍스트 검색기 (text retrievers), 이미지 검색기 (image retrievers), SQL 실행기는 그 도구들입니다. 에이전트의 환경과 도구 세트 사이에는 강한 의존성이 있습니다. 환경은 에이전트가 잠재적으로 사용할 수 있는 도구를 결정합니다. 예를 들어, 환경이 체스 게임이라면 에이전트의 유일한 가능한 행동은 유효한 체스 이동입니다. 그러나 에이전트의 도구 인벤토리는 그 운영할 수 있는 환경을 제한합니다. 예를 들어, 로봇의 유일한 행동이 수영이라면 그것은 물 환경에 갇게 됩니다. Figure 6-8 은 GPT-4 를 기반으로 구축된 SWE-agent (Yang et al., 2024) 의 시각화를 보여줍니다. 그 환경은 터미널과 파일 시스템을 갖춘 컴퓨터입니다. 그 행동 세트에는 저장소 탐색 (navigate repo), 파일 검색, 파일 보기, 줄 편집이 포함됩니다.
Figure 6-8. SWE-agent 는 환경을 컴퓨터로 하고 행동에 탐색, 검색, 파일 보기 및 편집을 포함하는 코딩 에이전트입니다.
AI 에이전트는 일반적으로 사용자가 제공하는 작업을 수행하도록 설계되었습니다. AI 에이전트에서 AI 는 작업을 처리하고 해당 작업을 달성하기 위해 행동 시퀀스를 계획하며 작업이 완료되었는지 여부를 결정합니다. 위의 Kitty Vogue 예제와 함께 표 데이터가 있는 RAG 시스템으로 다시 돌아갑시다. 이는 세 가지 행동 (response generation, SQL query generation, SQL query execution) 을 가진 간단한 에이전트입니다. "Fruity Fedora 의 다음 세 달의 판매 수익을 계산해 주세요" 라는 쿼리에 대해 에이전트는 다음과 같은 행동 시퀀스를 수행할 수 있습니다:
- 이 작업을 달성하는 방법에 대해 추론합니다. 미래 판매를 예측하려면 먼저 지난 5 년간의 판매 숫자가 필요하다고 결정할 수 있습니다.
- 에이전트의 추론은 중간 응답으로 표시됩니다.
- 지난 5 년간의 판매 숫자를 얻기 위한 쿼리를 생성하기 위해 SQL query generation 을 호출합니다.
- SQL query execution 을 호출하여 이 쿼리를 실행합니다.
- 도구 출력 (SQL query execution 의 출력) 과 판매 예측에 도움이 되는 방법에 대해 추론합니다. 이 숫자가 신뢰할 수 있는 프로젝트를 만들기에는 불충분할 수 있습니다, 예를 들어 누락된 값 때문입니다.
- 따라서 과거 마케팅 캠페인에 대한 정보도 필요하다고 결정합니다.
- 과거 마케팅 캠페인을 위한 쿼리를 생성하기 위해 SQL query generation 을 호출합니다.
- SQL query execution 을 호출합니다.
- 이 새로운 정보가 미래 판매를 예측하는 데 충분하다고 추론합니다. 따라서 프로젝트를 생성합니다.
- 작업이 성공적으로 완료되었음을 추론합니다.
비 에이전트 사용 사례와 비교하면, 에이전트는 일반적으로 두 가지 이유로 더 강력한 모델을 필요로 합니다:
- 복합적 오류 (Compound mistakes): 에이전트는 작업을 수행하기 위해 종종 여러 단계를 수행해야 하며, 전체 정확도는 단계 수 증가에 따라 감소합니다. 모델의 정확도가 각 단계마다 95% 인 경우, 10 단계에서는 정확도가 60% 로 떨어지고, 100 단계에서는 정확도는 오직 0.6% 가 됩니다.
- 더 높은 stakes (Higher stakes): 도구 접근 권한을 통해 에이전트는 더 영향력 있는 작업을 수행할 수 있지만, 실패는 더 심각한 결과를 초래할 수 있습니다. 많은 단계를 필요로 하는 작업은 실행에 시간과 비용을 소요합니다. 일반적인 불만은 에이전트가 API 크레딧을 소모하는 데에만 좋은 것임을 지적하는 것입니다. 그러나 에이전트가 자율적 (autonomous) 이라면 인간 시간을 절약할 수 있어 비용이 합리적입니다.
환경이 주어지면, 환경에서 에이전트의 성공은 접근 가능한 도구와 AI 플래너의 강도에 따라 달라집니다. 우리는 모델이 사용할 수 있는 다른 종류의 도구를 살펴보기 시작하겠습니다. 우리는 AI 의 계획 (plann) 능력을 분석할 것입니다.
다음과 같은 도구 (Tools) 를 계속 사용합니다. 시스템이 에이전트 (agent) 로 기능하기 위해 외부 도구에 접근할 필요는 없습니다. 그러나 외부 도구가 없으면 에이전트의 능력은 제한됩니다. 모델 자체로는 일반적으로 하나의 행동만 수행할 수 있습니다—LLM 은 텍스트를 생성하고 이미지 생성기는 이미지를 생성합니다. 외부 도구는 에이전트의 능력을 훨씬 더 크게 향상시킵니다. 도구는 에이전트가 환경을 인식하고 환경에 작용하도록 도와줍니다. 에이전트가 환경을 인식할 수 있는 행동은 읽기 전용 (read-only) 행동이며, 에이전트가 환경에 작용할 수 있는 행동은 쓰기 (write) 행동입니다. 에이전트가 접근할 수 있는 도구 집합은 그 도구의 재고 (tool inventory) 입니다. 에이전트의 도구 재고는 에이전트가 무엇을 할 수 있는지 결정하므로, 어떤 도구와 몇 개의 도구를 제공해야 하는지 신중하게 생각해야 합니다. 더 많은 도구는 에이전트에게 더 많은 능력을 제공합니다. 그러나 도구가 많을수록 이해하고 잘 활용하는 것은 더 어렵습니다.
기능에는 일정 (calendar), 시간대 변환기, 단위 변환기 (예: 파운드에서 킬로그램으로 변환), 그리고 모델이 잘 못하는 언어로 번역하고 그 언어로 번역할 수 있는 번역기가 포함됩니다. 더 복잡하지만 강력한 도구는 코드 인터프리터입니다. 모델을 코드를 이해하도록 훈련하는 대신, 코드 인터프리터에 접근하여 코드를 실행하거나 결과를 반환하거나 코드의 실패를 분석할 수 있습니다. 이 기능은 에이전트를 코딩 어시스턴트, 데이터 분석가, 실험을 실행하고 결과를 보고할 수 있는 연구 어시스턴트까지로 만들 수 있습니다. 그러나 자동 코드 실행은 제 5 장의
AI 자동 생성 콘텐츠
본 콘텐츠는 Chip Huyen Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기