What is Agent?
AI Agent란 주변 환경을 인식하고, 정보를 처리하고, 결정을 내리고, 목표를 달성하기 위해 행동하는 소프트웨어 기반 시스템
AI Agent의 발전 단계
Rule-based Agent
- 가장 초기의 AI Agent 개념으로, 사람이 미리 정의한 조건-행동 규칙에 따라 작동
- 특정 문장을 인식하면 정해진 응답을 하는 챗봇 등이 대표적이며, 상태 추론 없이 입력에 대한 정해진 반응만 수행
- 사전 정의된 환경에서만 안정적으로 동작하기 때문에 복잡한 문제에는 대응이 어려움
Planning Agent (고전 AI 기반 계획 에이전트)
- AI가 목표를 달성하기 위해 일련의 행동 계획을 스스로 수립
- AI가 가능한 행동의 조합을 시뮬레이션하며 현 상태에서 어떤 행동이 최선인지를 판단
- 주로 게임 AI나 로봇 행동 제어 등에서 사용
- 단순 반응형이 아니라, 상태와 목표를 고려하는 구조로 진화
LLM-based Reactive Agent (반응형 LLM 에이전트)
- GPT-3 등장 이후, 자연어만으로도 고차원적 사고와 판단이 가능해지면서 등장
- ReAct (Reasoning + Acting)패턴이 2022년 제안되면서, 추론과 도구가 결합
- Agnet가 자연어로 문제를 분석하고, 필요한 경우 Tool 호출
Autonomous Agent (자율 에이전트)
- LLM에 목표를 주면 계획 수립, 태스크 분해, 반복 실행까지 가능한 자율 Agent 등장
- 목표 -> 작업 생성 -> 실행 -> 검토 -> 반복하는 loop 기반 작동
- 파일 시스템 접근, 브라우저 조작, 외부 API 호출 등이 가능해지며 실제 환경과 상호작용
Multi-Agent & Graph-based Agent
- 단일 LLM 대신 여러 역할을 가진 Agent들이 협업하는 Multi-Agent 구조 등장
- Agent가 단순한 도구가 아니라 하나의 작업 주체로서 설계되고 있음
Agent가 동작하는 방식
Agent가 정보를 처리하고 의사 결정을 내리며 행동하는 방식을 Cognitive Architectures (인지 아키텍쳐)라고 함
ReAct(Reasoning + Acting)
LLM이 추론(Reasoning)과 행동(Acting)을 동시에 수행하도록 유도하는 방법으로, 모델이 먼저 추론(생각 단계)을 하고, 이 추론을 기반으로 행동 (정보 검색, tool calling)을 실행
Chain-of-Thoughts(CoT)
모델이 복잡한 문제를 해결할 때, 답변을 바로 도출하지 않고 단계별 추론 과정을 거쳐 최종 답을 도출하도록 유도하는 방식으로, 논리적 추론, 수학 문제 혹은 답변 과정이 명확해야 하는 상황에 적합
Tree-of-Thoughts(ToT)
Chain-of-Thoughts에서 파생된 프레임워크로 모델이 문제를 해결하는 과정에서 여러 가능성들을 나무처럼 갈래를 분기하여 탐색하는 방법으로 단일 경로에 지나치게 의존하지 않고, 다양한 해결책이나 전략을 고려하는 작업에서 유용하게 사용될 수 있음
AI Agent 주요 구성 요소
에이전트의 핵심 기능은 세 가지 필수 구성 요소인 모델, 도구, orchestration으로 이루어져 있음
유저의 쿼리가 들어오면 orchestration layer에서 처리가 되는데, 여기서 orchestration layers는 에이전트를 구성할 때 미리 정의해 둔 에이전트의 생각의 구조이다. 그 안에는 미리 정의해 둔 instraction이나, 메모리 처리방식, 모델의 reasoning과 planning에 대한 단계가 포함된다.
유저의 쿼리를 처리하는 과정에서 추가적인 데이터나 외부와 상호작용이 필요하다면, tool이나 api call을 통해 필요한 정보를 획득할 수 있다. 그리고 모델은 사전 지식을 바탕으로 정확한 결정을 내리고, 이를 요약하여 사용자에게 다시 정보를 제공한다.
모델 (Model)
- Agent의 의사결정과 행동 계획에 핵심적인 역할로, 주로 LLM을 지칭
모델 종류
- 범용 모델 (General Purpose Model): 다양한 작업을 수행할 수 있는 다목적 언어 모델
- 다중모델 모델 (Multimodal Model): 텍스트 뿐 아니라 이미지, 음성 등 다양한 데이터를 이해할 수 있는 모델
- 미세 조정 모델 (Fine-Tuned Model): 특정 작업에 최적화된 데이터로 추가 학습된 모델
도구 (Tools)
- Agent가 외부 세계와 상호작용하고 데이터를 처리할 수 있도록 하는 구성요소
- API호출, 데이터베이스 접근, 코드 실행, 데이터 변환 같이 Agent와 외부 시스템 간의 연결
- LLM은 텍스트 생성은 뛰어나지만, 복잡한 계산이나 최선 정보 접근에는 한계가 있기 때문에 도구가 필요함
도구 유형
- 확장(Extension): Agent가 API를 쉽게 호출하고 실행할 수 있도록 표준화된 인터페이스 제공
- 함수 (Functions): 클라이언트 측에서 실행되는 독립적인 코드 조각으로, Agent는 적절한 함수와 매개변수를 선택해 데이터를 생성하거나 작업 실행
- 보안 제약이 있거나, API호출을 실시간으로 처리할 수 없는 경우 유용
- 데이터 저장소 (Data Stores): 구조화된 데이터(PDF, spreadsheet)나 비구조화된 데이터 (html, txt)를 Agent가 활용할 수 있도록 하는 시스템
오케스트레이션 계층 (Orchestration Layer)
- 입력 정보를 기반으로 작업을 계획하고 실행, 그 결과를 분석하여 후속 작업을 결정
- Agent의 내부 논리를 담당하는 ‘두뇌’에 해당
- 사용자의 요청이 최종적으로 완벽히 처리되기 까지의 모든 과정 조율
- 실시간으로 변하는 환경과 사용자의 요구에 대응하며, 작업의 우선순위를 정하고 적합한 도구를 선택하여 실행하는 능력으로 자율성을 유지하면서 효율적으로 작동
Orchestration Layer 구성 요소
- 정보 수집과 입력 처리
- 오케스트레이션 계층의 첫 단계에서 사용자 입력 처리
- 정보 수집: 사용자의 자연어 요청을 분석하며 핵심 정보 추출
- 컨텍스트 관리: 대화의 맥락을 유지하고, 이전 작업 결과를 바탕으로 현재 요청의 의도 파악
- 정보 정제: 중복되거나 불필요한 데이터를 제거하여 효율적인 처리를 가능하게 함
- 내부 추론 및 계획 수립
- 입력된 정보가 정제되면, 오케스트레이션 계층은 이를 기반으로 실행 계획 수립
- 최적의 결과를 도출하기 위해 논리적이고 전략적으로 작업 배치
- 추론 모델 활용: Chain-of-Thought(CoT)와 Tree-of-Though(ToT)같은 프레임워크를 사용해 다단계 추론 수행
- 작업 우선순위 결정: 작업의 순서를 정하고, 필요한 도구와 리소스 할당
- 결정 트리 구성: 작업 흐름을 시뮬레이션하여 최적의 결과를 얻을 수 있는 경로 선택
- 도구 호출 및 작업 실행
- 계획 수립 후 Agent는 외부 도구를 호출하여 작업 수행
- 도구 선택: API 함수, 데이터 저장소 중 적합한 도구 선택
- 작업 실행: 선택된 도구를 호출하여 작업을 수행
- 결과 평가: 작업 결과를 분석하고, 후속 작업에 활용
AI Agent 핵심 작동 원리
Tool Calling
- Agent가 외부 시스템과 상호작용할 수 있게 하는 핵심 기능
- API 호출, 데이터베이스 쿼리, 웹 검색 등 다양한 도구를 활용해 정보를 수집하고 작업을 수행
Momory
- Agent가 이전 상호작용과 관찰 결과를 저장하고 활용할 수 있게 하는 구성 요소
- 단기 메모리: 시퀀스 이전 단계에서 획득한 정보 접근
- 장기 메모리: 이전 상호작용 정보(대화의 이전 메시지 등)를 기억
Planning
- Agent가 복잡한 작업을 해결하기 위해 일련의 단계를 설계하는 과정
- 목표를 달성하는 데 필요한 단계를 체계적으로 수행하기 위함
Reasoning
- Agent가 정보를 처리하고 결정을 내리는 과정
- 다음 단계 결정, 도구 선택, 입력 해석, 출력 생성 등이 포함
- 추론의 품질은 Agent의 전반적인 성능에 직접적인 영향을 미침
Reference
- [1] https://day-to-day.tistory.com/82
- [2] https://www.skax.co.kr/insight/trend/3094
- [3] https://cloud.google.com/discover/what-are-ai-agents?hl=ko