What are future AI Application like?:
- 미래의 AI Application 은 Agentic System 일 것이라고 생각함. 외부와 상호 작용하고, 인간의 행동을 모방해서 복잡한 처리를 할 수 있는 시스템.
- examples:
- personal assistants
- Software Agents
Agentic AI Framework Desiderata:
- Agentic Abstraction:
- Agent = Diverse role of person + LLM models + Tools (e.g Python, Terminal, Calculator, Database, Search Engine, API)
- Multi-Agent orchestration:
- Agent 들의 소통하는 방식을 결정하는 것.
- Static/Dynmaic:
- Static 은 정적인 workflow 를 말함. 일관된 순서로 task 를 실행하는 것.
- Dynamic 은 모든 상황에 대해서 다 알 수 없을 때 즉흥적으로 판단 또는 작업 계획을 내릴 수 있도록 하는 것. (기본적으로 예상하기 힘든 상황, 게임 플레이는 dynamic 으로 해야할듯)
- 반면 Static 구조로 목표를 설계해놓고, 목표를 이루는 방법을 Dynamic 으로 한다면?
- Flexibility vs Controlbility (Static 이 좀 더 안정적이고 일관적인 기대값을 낼 것, Dynamic 은 말 그대로 유연함)
- NL/PL:
- Natural Language (NL, 자연어):
- 에이전트 간 메시지나 명령을 사람이 읽을 수 있는 자연어로 교환하는 방법
- 설계가 단순하고, 사람과 에이전트가 직관적으로 상호작용하기 좋음.
- 모호성(ambiguity)이 있을 수 있다.
- Programming Language (PL, 프로그래밍 언어):
- 에이전트가 코드를 통해 서로 간에 요청/응답을 주고받거나, 정해진 함수나 API 기반의 호출 구조로 상호작용하는 방법.
- 엄격하고 명세화된 프로토콜을 사용해 모호성이 적고, 테스트/디버깅이 용이하고, 시스템 신뢰도와 예측 가능성이 높다.
- 요구사항 변경 시 프로토콜 재설계가 필요하며, 자연어만큼 유연하지 않음.
- Natural Language (NL, 자연어):
- Context sharing/isolation:
- Context sharing:
- 모든 Agent 들 간의 상태를 공유하는 것. 여러 에이전트가 동일하거나 일부 겹치는 컨텍스트(상태, 데이터, 작업 목표 등)를 함께 사용하여 협력하는 방식
- 에이전트 간 협력이 쉬워지고, 중복 계산을 피할 수 있으며, 서로의 상태를 통해 시너지를 낼 수 있다.
- 민감한 정보가 의도치 않게 공유될 수 있고, 병목 현상이나 동기화 문제가 발생할 가능성이 있음.
- Isolation:
- 계층적 구조와 같이 상태를 구별 시키는 것.
- 보안(privacy)과 독립성이 높아지고, 에이전트 개별 단위로 테스트/디버깅하기 쉽다.
- Context sharing:
- Cooperation/competition:
- Cooperation(협업):
- 여러 에이전트가 공동의 목표를 위해 서로 도움을 주고받으며 문제를 해결하는 방식.
- 모든 에이전트가 협업하려면 조율과 커뮤니케이션 오버헤드가 늘어날 수 있음.
- Competition(경쟁):
- 제한된 자원을 두고, 혹은 특정 목표 달성을 위해 서로 경쟁적으로 문제를 해결하는 방식
- 더 나은 자원 효율성을 맏늘 수 있음.
- Cooperation(협업):
- Centralizaed/Decentralized:
- Centralized(중앙 집중):
- 오케스트레이션(조정)의 주체가 되는 중앙 컨트롤러나 메타 에이전트가 모든 에이전트를 지휘/관리하는 방식
- 전체 시스템 상태를 손쉽게 파악할 수 있어 스케줄링이 간단함.
- Decentralized(분산):
- 모든 에이전트가 동등한 지위를 가지며, 특정 중앙 컨트롤러 없이 분산된 형태로 상호작용하고 자율적으로 조정을 수행
- 전체 시스템 상태를 통합적으로 파악하기 어려워지고, 복잡한 조정이 있을 수 있음.
- Centralized(중앙 집중):
- Intervention/automation:
- Intervention(개입):
- 사람이 혹은 상위 레벨의 컨트롤 시스템이 에이전트 동작 과정에 직접 개입하여 승인(approval) 혹은 조정(intervention)하는 방식
- 문제가 되거나 위험할 수 있는 의사결정에 사람이 개입해 안전망(Safeguard)을 확보할 수 있음.
- Automation(자동화):
- 에이전트가 자율적으로 의사결정을 하고, 사람의 개입 없이 프로세스 전반을 진행하며 실행 결과만을 보고하는 방식
- 빠른 결정을 내릴 수 있고, 대규모 자동화가 가능해 시스템 운영 비용이 절감될 수 있음.
- 의사결정 과정을 사람이 놓칠 수 있어 신뢰성과 투명성 문제가 발생할 수 있음. 잘못된 자동화가 치명적 결과를 야기할 수 있다.
- Intervention(개입):
- Effective implementation of agentic design pattern:
- 아래의 디자인 패턴을 사용하기 전에 요구사항이 만족하는지 체크해야함.
- Conversation:
- 에이전트들이 상호 간의 프로토콜을 통해 협의를 하면서 문제를 풀어야 할 때
- Prompting & Reasoning:
- 복잡한 문제를 해결해야 할 때
- CoT, Reflextion, ReAct, ToT 그리고 Monte Carlo tree search-based methods
- Tool use:
- LLM이나 에이전트가 직접 해결하기 어려운 전문 작업(예: DB 액세스, 시스템 제어, 외부 API 호출)을 수행해야 할 때
- Planning:
- 업무가 여러 단계로 이루어져 있고, 중간 산출물을 피드백하며 최종 목표를 달성해야 할 때.
- Integration Multiple Models, Modalities and Memory:
- 하나의 에이전트가 여러 모델(LLM, Computer Vision, 음성 인식 등), 다양한 입력 모달리티(텍스트, 음성, 이미지, 영상 등), 그리고 메모리(컨텍스트 기록, 장기지식 저장)를 통합하여 작동하는 디자인 패턴임.
- 에이전트가 다양한 형식의 데이터를 동시에 처리해야 하거나, 맥락을 장기적으로 기억해야 하는 경우 또는 이미지, 음성, 텍스트 등 복합적인 입력으로부터 종합적인 의사결정이 필요한 상황.
- Support Diverse application needs:
'Generative AI > Agent' 카테고리의 다른 글
LLM Agents Course (4) Enterprise Trends for Generative AI (0) | 2024.12.28 |
---|---|
The Shift from Models to Compound AI Systems (0) | 2024.12.27 |
WebShop: Towards Scalable Real-World Web Interaction with Grounded Language Agents (0) | 2024.12.27 |
Generative Agents: Interactive Simulacra of Human Behavior (0) | 2024.12.27 |
Summary of LLM Agent Framework (0) | 2024.12.23 |