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) 환경을 이해/탐색하기 위한 방법론들
    • 환경 특화 프롬프트(환경에 맞게 수동으로 프롬프트 제작해서 에이전트가 따르도록 유도)
    • 비지도 프롬프트 유도
    • 환경 탐색(모델이 환경을 탐색할 때 보상을 부여하여 학습을 유도)
    • 탐색 기반 궤적 기억(기존 데이터에 의존하지 않고 탐색과 자기 교정을 통해 데이터 생성)

3. Controller : Planning 종류

  • Local Planning
    • step by stemp 계획을 세움
    • 매 스텝마다 사용할 하나의 툴을 결정
    • 단순하고 직관적이나 장기 의존성 문제가 발생함
  • Global Planning
    • 실행 가능한 전체 계획 경로(planning path)를 한번에 생성
    • 여러 개의 툴을 조합하여 시퀀스 형태로 결정
    • 효율적이나 복잡한 환경에서는 실패 가능

4. Perceiver

Multi-Agent System

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

다중 에이전트 주요 구성 요소

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

협업 유형

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