강의

멘토링

커뮤니티

AI 에이전트의 서론 및 기초

AI 튜터랩

2025. 10. 06. 20:46

수정됨

1. 서론 (Introduction)

생성형 AI 에이전트의 정의와 원리

생성형 AI 에이전트는 기존의 독립형 언어 모델(standalone language models)을 뛰어넘어, 문제 해결과 상호작용에 동적인 접근 방식을 제공하는 진일보한 개념입니다. 에이전트는 특정 목표를 달성하기 위해 설계된 애플리케이션으로, 주어진 도구(tools)를 사용하여 환경을 인지하고 전략적으로 행동합니다. 그 근간에는 추론(reasoning), 논리(logic), 그리고 외부 정보 접근 능력을 통합하여 기반 모델 자체의 역량을 넘어서는 복잡한 작업을 수행하고 최적의 결정을 내리는 원리가 있습니다.


에이전트 아키텍처의 필수 요소

에이전트의 행동과 의사결정은 다음의 세 가지 필수 요소로 구성된 아키텍처에 의해 결정됩니다.


  • 모델 (Model): 에이전트의 두뇌

    에이전트 아키텍처의 핵심에는 중앙 의사결정 유닛(central decision-making unit) 역할을 하는 언어 모델(LM)이 있습니다. 이 모델은 명령어 기반의 추론과 논리적 프레임워크를 사용하여 사고합니다. 에이전트의 구체적인 요구사항에 따라 범용 모델, 멀티모달 모델, 또는 특정 목적을 위해 미세 조정된(fine-tuned) 모델이 선택될 수 있습니다.

  • 도구 (Tools): 외부 세계와의 상호작용

    도구는 에이전트의 내부 역량과 외부 세계를 연결하는 중요한 매개체입니다. 이를 통해 에이전트는 실시간 외부 데이터와 서비스에 접근하고 상호작용할 수 있습니다. 도구에는 API 실행을 가능하게 하는 확장(extensions), 특정 작업을 수행하는 함수(functions), 그리고 최신 정보에 접근을 제공하는 데이터 저장소(data stores) 등이 포함됩니다.

  • 오케스트레이션 레이어 (Orchestration Layer): 지능적 행동 관리

    오케스트레이션 레이어는 에이전트가 정보를 처리하고, 내부적인 추론을 통해 행동 계획을 수립하며, 그 결과를 다음 행동에 반영하는 순환적인 프로세스를 총괄합니다. 이 레이어는 에이전트의 메모리, 상태, 추론, 계획을 관리하며, 프롬프트 엔지니어링을 통해 전체 과정을 조율합니다. 특히, ReAct, CoT(Chain-of-Thought), ToT(Tree-of-Thoughts) 와 같은 고도화된 추론 기술이 이 레이어에 적용되어 에이전트가 더 효과적으로 환경과 상호작용하고 과업을 완수하도록 돕습니다.



2. 에이전트란 무엇인가? (What is an agent?)

에이전트의 핵심적인 특성은 자율성(autonomy)에 있습니다. 에이전트는 단순히 명령을 수행하는 것을 넘어, 명시적인 지시 없이도 스스로 목표를 설정하고, 이를 달성하기 위한 후속 행동을 능동적으로 결정합니다. 이 과정에서 추론, 논리, 외부 정보 접근 능력을 통합하고, 가용한 도구 중 가장 적절한 것을 동적으로 선택하고 활용하여 전략적인 의사결정을 내립니다.



3. 언제 에이전트를 구축해야 하는가? (When should you build an agent?)

에이전트는 복잡하고 변수가 많은 현실 세계의 문제(complex, real-world problems)를 해결해야 할 때 가장 큰 가치를 발휘합니다. 정적인 데이터나 예측 가능한 시나리오를 다루기보다는, 동적인 환경에서 여러 제약 조건을 고려하며 최적의 해결책을 찾아야 하는 과제에 적합합니다. 예를 들어, 자동차 AI와 같이 수많은 변수를 동시에 처리하고 사용자 경험을 개선해야 하는 분야에서는 여러 에이전트가 협력하는 다중 에이전트 아키텍처(multi-agent architecture)가 효과적으로 사용됩니다.


4. 에이전트 설계 기반 (Agent Design Foundations)

효과적인 에이전트를 설계하기 위해서는 모델, 도구, 명령어를 체계적으로 구성해야 합니다.


모델 선택 및 최적화

모델은 에이전트의 중앙 의사결정 유닛이므로, 해결하려는 과제의 특성에 가장 적합한 모델을 선택하는 것이 중요합니다. 범용 모델로 시작하되, 필요에 따라 이미지나 소리를 이해하는 멀티모달 모델을 사용하거나 특정 도메인의 성능을 극대화하기 위해 미세 조정된 모델을 선택하여 최적화할 수 있습니다.


도구 정의

도구는 에이전트의 능력을 언어 처리 이상으로 확장시키는 핵심 요소입니다. 도구 통합 하위 시스템을 통해 에이전트가 외부 세계와 상호작용하도록 설계하며, 도구는 다음과 같이 분류될 수 있습니다.

  • 데이터 도구: 동적이고 최신 정보 접근을 제공하는 데이터베이스나 데이터 저장소.

  • 행동 도구: 특정 작업을 직접 수행하는 함수(functions)나 외부 서비스 API를 실행하는 확장(extensions).

  • 오케스트레이션 도구: 상황에 따라 필요한 도구를 동적으로 찾고 등록하는 레지스트리나, 관련 정보를 바탕으로 최적의 도구를 추천하는 "Tool RAG" 같은 고급 기능.


명령어 구성

명령어는 에이전트의 행동을 규정하는 청사진입니다. '에이전트 브레인 프롬프트(agent brain prompt)'는 에이전트의 목표(goal), 프로필(profile), 그리고 구체적인 지침(instructions)을 포함하여 전체적인 행동 방향을 설정합니다. 오케스트레이션 레이어는 이 명령어를 바탕으로 CoT나 ReAct 같은 인지 프레임워크를 활용하여 복잡한 작업을 논리적인 단계로 분해하고, 실행 과정에서 발생하는 오류를 스스로 수정(self-correction)하며 계획을 수행하도록 지시합니다.


즉, 생성형 AI 에이전트는 언어 모델을 핵심 두뇌(Model)로 삼아 자율적으로 목표를 추구하는 지능형 시스템입니다. 에이전트는 API와 같은 외부 도구(Tools)를 동적으로 활용해 현실 세계와 상호작용하며, 오케스트레이션 레이어를 통해 ReAct나 CoT 같은 추론 기술로 복잡한 작업을 계획하고 실행합니다. 이러한 구조 덕분에 에이전트는 정적인 응답을 넘어, 변화하는 실제 환경의 복잡한 문제를 해결하기 위해 스스로 행동을 결정하고 수정해 나갈 수 있습니다. 효과적인 에이전트 설계는 해결할 문제에 최적화된 모델, 도구, 그리고 명확한 명령어를 체계적으로 구성하는 것에서 시작됩니다. 이로써 에이전트는 명시적인 지시 없이도 스스로 과업을 완수하는 능력을 갖추게 됩니다.