AI Agents
Agent란?
- 센서를 통해 환경(environment)를 인지하고, Actuator를 통해 환경에 대해 Action을 통해 영향을 미치는 것으로 간주될 수 있는 모든 것

- AI Agent란
- AI를 사용하여 사용자를 대신해 목표를 추구하고 작업을 수행하는 소프트웨어 시스템
-
실제로 우리는 AI와 AI 에이전트를 명확하게 구별하지는 않는다
특히 현대 대규모 언어모델 관점에서 AI를 바라볼 때 그 경계는 더욱 모호함
- Challenges
- 학술 연구 영역
- 다중 에이전트 협업 시스템
- 메모리와 컨텍스트 관리
- 작업 관리
- 확장성과 성능
- 실무 응용 영역
- 보안 및 개인정보 문제
- 자율성의 고위험 요소
- 추론 비용과 실시간 협업
- 윤리적 문제와 편향성에 대한 우려
- 학술 연구 영역
LLM Agent
- 거대언어모델을 backbone(핵심구조)로 삼아 환경을 이해하고 행동을 수행하는 에이전트
- LLM-first view : 기존 LLM을 활용한 시스템을 에이전트로 만든다
- 서치 에이전트, 심리상담 에이전트, 코드 에이전트
- Agent-first view : LLM을 AI 에이전트에 통합하여, 언어를 활용한 추론과 의사소통을 가능하게 함.
- 로봇, 임바디드 에이전트
- 성공적인 에이전트가 갖추어야 할 요건들
- 도구 사용 (Tool use)
- 추론과 계획 (Reasoning and Planning)
- 환경 표현 (Environment Representation)
- 환경 이해 (Environment understanding)
- 상호작용/의사소통 (Interaction/Conmmunication)
- LLM Agent 프레임워크
=> 여기서 이 네가지 요소는 무엇인가?
1. Tool Usage in LLMs
- Tool이란? (LLM agent를 위한)
- 언어 모델 외부에서 실행되는 프로그램에 연결 되는 함수 인터페이스를 의미함
- LLM은 함수 호출과 입력 인자를 생성함으로써 이 도구를 활용할 수 있음

- 도구 사용 패러다임
- 도구 사용 : 두 모드 간의 전환 1) 텍스트 생성 모드 2) 도구 실행 모드
- 도구 사용을 유도하는 방법 1) 추론 시 프롬프트 2) 학습 (Tool learning)
- Tool Learning 방식
- 일종의 모방 학습으로 인간의 도구 사용 행동 데이터를 기록함으로써, 언어모델이 인간의 행동을 모방하도록 학습한다
- 가장 간단하고 직관적인 방식

- OpenAI : WebGPT, Meta : Toolformer, ToolLLM
- 툴러닝의 최근 접근은?
- 멀티 모달 툴 러닝
- 멀티모달 대규모 언어모델을 기반으로 도구를 정의하고 활용하는 연구다

- 멀티모달 대규모 언어모델을 기반으로 도구를 정의하고 활용하는 연구다
- 강화 학습
- 지도 학습을 넘어 에이전트에서의 강화학습을 도입하는 연구
- 멀티 모달 툴 러닝
2. Environment
- 에이전트가 환경을 이해하기 위해 필요한것
1) Tool
2) 환경의 표현(Representation)
- Text -> 물리적 세계에 대한 정보를 언어모델이 텍스트 기반으로 이해하고 명령을 수행할 수 있도록 환경을 표현함

- 이미지 -> 시각적 환경을 텍스트와 연결하여 지시 수행 및 환경 이해를 가능케 함

- 텍스트 기반 웹 -> 구조화된 웹 표현 제공
3) 환경을 이해/탐색하기 위한 방법론들 - 환경 특화 프롬프트(환경에 맞게 수동으로 프롬프트 제작해서 에이전트가 따르도록 유도)
- 비지도 프롬프트 유도
- 환경 탐색(모델이 환경을 탐색할 때 보상을 부여하여 학습을 유도)
- 탐색 기반 궤적 기억(기존 데이터에 의존하지 않고 탐색과 자기 교정을 통해 데이터 생성)
- Text -> 물리적 세계에 대한 정보를 언어모델이 텍스트 기반으로 이해하고 명령을 수행할 수 있도록 환경을 표현함
3. Controller : Planning 종류
- Local Planning
- step by stemp 계획을 세움
- 매 스텝마다 사용할 하나의 툴을 결정
- 단순하고 직관적이나 장기 의존성 문제가 발생함

- Global Planning
- 실행 가능한 전체 계획 경로(planning path)를 한번에 생성
- 여러 개의 툴을 조합하여 시퀀스 형태로 결정
- 효율적이나 복잡한 환경에서는 실패 가능

4. Perceiver
Multi-Agent System
- 왜 다중 에이전트 시스템이 필요한가? => 집단 지성
- 지능형 에이전트들이 팀을 이루어 협력하고 지식을 나누며, 함께 문제를 해결하는 능력에 초점을 맞춤 (수평적 확장)
- 인간 사회는 일상 업무부터 과학 연구까지 팀워크와 역할 분담을 통해 공동 목표를 달성하는 데 탁월
- 다중 에이전트 시스템도 이와 같은 원리를 적용하여, AI 에이전트들이 서로의 장점과 시각을 결합해 효율적으로 협업하도록 함
→ 개별 에이전트들의 능력의 총합을 뛰어넘는 진정한 집단 지성을 실현하고자 함. 이렇게 집단 지성을 쓰면 개별 LLM의 환각 현상, 자기회귀적 성격, 스케일링 법칙 등의 한계를 보완할 수 있다!

다중 에이전트 주요 구성 요소
- 에이전트
- 역할, 능력, 행동, 지식 모델을 가진 핵심 행위자들
- 환경
- 에이전트가 존재하고 인식 및 행동할 수 있는 외부 세계
- 상호작용
- 표준화된 통신 언어를 사용한 에이전트 간 소통
- 조직
- 에이전트들은 계층 구조로 관리되거나 자발적인 행동으로 조직
협업 유형

- 협력
- 에이전트들은 각자의 개별 목표를 공동의 집단 목표와 일치시켜, 상호 이익이 되는 결과를 달성하기 위해 협력
- 에이전트들은 각자의 전문 분야 내에서 특정 세부 작업에 집중하도록 활용할 수도 있음
- 에이전트 간 빈번한 통신과 다중 협업 채널은 계산 비용과 복잡성 증가를 초래할 수 있음
- 개별 에이전트의 신뢰성과 성능에 크게 좌우되어, 한 개 이상의 에이전트의 오류가 시스템 전체에 부정적 영향을 미칠 수 있음 (e.g., 무한 대화 루프, 환각 현상 증폭).
- 경쟁
- 에이전트들은 각자의 개별 목표를 우선시하며, 이는 다른 에이전트들의 목표와 충돌하거나 대립할 수 있는 경쟁 요소를 도입
- 에이전트들이 고도의 추론 능력과 더 창의적인 문제해결 방법을 개발하도록 촉진
- 각 에이전트의 능력의 한계를 시험함으로써 시스템의 적응성을 강화
- 경쟁적 협업 경로는 강력한 프롬프트를 가진 단일 에이전트에 의해 따라잡힐 수 있음
- 끝나지 않는 논쟁
- 협력 & 경쟁 조합
- 협력과 경쟁의 전략적 조합 -> 에이전트들이 공동 목표 달성을 위해 특정 작업에서는 협력하면서 동시에 다른 작업에서는 경쟁할 수 있도록 함
- 전문가 혼합 모델(Mixture-of-Experts)
- 다양한 전문가 모델들이 최종 결과물에 기여하려고 경쟁하고, 게이트 시스템이 각 입력에 맞는 최적의 전문가를 골라냄
- 전문가들 사이의 협력 및 경쟁적 관계는 모델 학습 과정에서 먼저 형성되며, 이때 각자가 데이터의 서로 다른 측면에 대해 전문화하도록 훈련