[번역] 칩 후옌: 에이전트(Agents)

[번역] 칩 후옌: 에이전트(Agents)

많은 사람들은 지능형 에이전트를 AI의 궁극적인 목표로 보고 있습니다. 스튜어트 러셀과 피터 노빅의 고전 교재 Artificial Intelligence: A Modern Approach (Prentice Hall, 1995)에서는 AI 연구 분야를 "합리적 에이전트의 연구와 설계"라고 정의합니다.

최근 파운데이션 모델들의 획기적인 성능은 이전에는 상상조차 할 수 없었던 에이전트 기반 응용 프로그램의 새 지평을 열었습니다. 이러한 혁신적인 기술력을 바탕으로, 우리의 조력자이자 동료, 멘토 역할을 수행할 수 있는 자율적이고 지능적인 에이전트를 개발하는 것이 마침내 현실화되었습니다.

이들은 웹사이트 제작부터 데이터 수집, 여행 계획 수립, 시장 조사, 고객 계정 관리, 데이터 입력 자동화, 면접 준비와 진행, 협상 진행에 이르기까지 다양한 업무를 지원할 수 있습니다. 그 가능성은 무궁무진하며, 이러한 에이전트들이 가져올 경제적 가치 또한 막대할 것으로 예상됩니다.

이 섹션에서는 우선 에이전트에 대한 전반적인 개요를 살펴본 후, 에이전트의 성능을 좌우하는 두 가지 핵심 요소인 도구 활용과 계획 수립에 대해 알아보겠습니다. 에이전트가 도입되면서 새로운 작동 방식과 함께 새로운 형태의 오류도 발생하게 됩니다. 이 섹션의 마지막 부분에서는 이러한 오류를 파악하기 위한 에이전트 평가 방법을 논의하겠습니다.

이 글은 AI Engineering (2025)의 Agents 섹션을 독립적인 포스트로 재구성하기 위해 일부 수정한 것입니다.

주석:

  1. AI 기반 에이전트는 아직 정의, 개발, 평가를 위한 확립된 이론적 틀이 없는 신생 분야입니다. 이 섹션은 기존 문헌을 토대로 프레임워크를 구축하려는 시도이나, 이 분야의 발전에 따라 계속 변화할 것입니다. 책의 다른 부분에 비해 이 섹션은 더 실험적인 성격을 띠고 있습니다. 초기 검토자들로부터 유익한 피드백을 받았으며, 이 블로그 독자들의 의견도 환영합니다.
  2. 이 책 출간 직전에 앤트로픽은 효과적인 에이전트 구축에 관한 블로그 포스트를 발표했습니다(2024년 12월). 앤트로픽의 포스트와 제 에이전트 섹션이 용어는 다소 다르지만 개념적으로 일치한다는 점이 고무적입니다. 다만 앤트로픽의 포스트가 개별 패턴에 초점을 맞춘다면, 제 포스트는 작동 원리와 방식에 중점을 둡니다. 또한 저는 계획 수립, 도구 선택, 오류 유형에 더 많은 비중을 두고 있습니다.
  3. 이 포스트는 상당한 배경 지식을 다루고 있습니다. 너무 상세하다고 느끼시면 건너뛰셔도 좋습니다!

에이전트 개요(Agents Overview)

'에이전트'라는 용어는 소프트웨어 에이전트, 지능형 에이전트, 사용자 에이전트, 대화형 에이전트, 강화학습 에이전트 등 다양한 엔지니어링 분야에서 사용되어 왔습니다. 그렇다면 에이전트란 정확히 무엇일까요?

에이전트는 주변 환경을 인식하고 그에 대응하여 행동할 수 있는 모든 존재를 의미합니다. Artificial Intelligence: A Modern Approach (1995)에서는 에이전트를 센서를 통해 환경을 감지하고 작동기를 통해 환경에 영향을 미칠 수 있는 모든 것으로 정의합니다.

즉, 에이전트는 자신이 활동하는 '환경'과 수행 가능한 '행동의 범위'로 특징지어집니다.

에이전트가 활동하는 '환경'은 그 용도에 따라 정해집니다. 예를 들어 게임(마인크래프트, 바둑, 도타 등)을 위해 개발된 에이전트의 경우 해당 게임이 환경이 되고, 인터넷에서 문서를 수집하는 에이전트라면 인터넷이 환경이 됩니다. 자율주행차 에이전트의 경우에는 도로 체계와 그 주변 영역이 환경이 됩니다.

AI 에이전트가 수행할 수 있는 '행동의 범위'는 사용 가능한 '도구들'에 따라 확장됩니다. 우리가 일상적으로 사용하는 많은 생성형 AI 기반 애플리케이션들은 도구를 활용할 수 있는 에이전트들이지만, 대체로 기본적인 수준에 머물러 있습니다. 예를 들어 ChatGPT는 웹 검색, 파이썬 코드 실행, 이미지 생성이 가능한 에이전트입니다. RAG 시스템 역시 텍스트 검색기, 이미지 검색기, SQL 실행기를 도구로 활용하는 에이전트입니다.

에이전트의 환경과 도구 세트는 밀접한 연관성을 가집니다. 환경은 에이전트가 활용할 수 있는 잠재적 도구를 결정하며, 반대로 에이전트의 도구 목록은 그것이 활동할 수 있는 환경을 제한합니다. 예를 들어 체스 게임이 환경이라면, 에이전트는 오직 규칙에 맞는 체스 수만 둘 수 있습니다. 반면 수영만 가능한 로봇이라면, 그 활동 영역은 수중 환경으로 한정될 수밖에 없습니다.