Transformers Agents 2.0 release notes / what's new
Hugging Face는 대규모 언어 모델(LLM)이 도구를 사용하고 과거의 관찰을 바탕으로 반복하여 복잡한 작업을 해결할 수 있도록 하는 모듈형 프레임워크인 Transformers Agents 2.0을 출시했습니다. 이번 업데이트에서는 다단계 추론이 가능한 새로운 에이전트 유형이 도입되었으며, 이를 통해 오픈 소스 Llama-3-70B-Instruct 에이전트가 GAIA 리더보드에서 여러 GPT-4 기반 에이전트를 능가하는 성과를 거두었습니다.
Core Design Philosophy
Transformers Agents 2.0은 명확성과 모듈성이라는 두 가지 주요 설계 목표를 바탕으로 구축되었습니다. 이 프레임워크는 에러 로그와 속성이 검사 가능하도록 투명하고 접근 가능하게 유지되도록 추상화를 최소화합니다. 개념적으로 에이전트 시스템(차량)과 LLM 엔진(동력원)을 분리하여, 사용자가 어떤 기반 LLM을 사용하여도 어떤 에이전트 유형이든 생성할 수 있도록 합니다.
Key Framework Elements
- Tool: 특정 작업을 구현하는 데 사용되는 클래스입니다. 호출 가능한
forward메서드와name,descriptions,inputs,output_type을 포함하는 속성으로 구성되며, 이는 LLM의 프롬프트에 사용될 사용 설명서를 동적으로 생성하는 데 사용됩니다. - Toolbox: 에이전트 설정 중 도구를 재초기화하는 오버헤드를 피하기 위해 에이전트에게 제공되는 미리 인스턴스화된 도구 세트입니다.
- CodeAgent: 이전 관찰에 대해 반복할 수 있는 능력 없이 단일 Python 코드 블록으로 작업을 생성하는 기본 에이전트입니다.
- ReactAgent: "Thought → Action → Observation" 사이클을 따르는 에이전트입니다. 두 가지 변형이 있습니다:
ReactCodeAgent(Python 블록 생성) 및ReactJsonAgent(JSON 블록 생성).
Agent Workflows and Execution
에이전트는 LLM이 특정 프로세스를 통해 도구를 활용하도록 함으로써 작동합니다: 프롬프트에 도구 사용 정보를 제공하고, LLM 출력(코드 또는 JSON을 통해)에서 도구 호출을 파싱하고, 해당 호출을 실행하며, 반복형 에이전트의 경우 이전 도구 호출 및 관찰에 대한 메모리를 유지합니다.
Self-Correcting Retrieval-Augmented Generation (RAG)
Transformers Agents 2.0은 자기 수정형 RAG 시스템을 구축하는 데 사용될 수 있습니다. 에이전트에게 동적 파라미터(예: 특정 지식 베이스 소스)를 수용하는 검색 도구(retriever tool)를 제공함으로써, 에이전트는 관찰을 바탕으로 검색 전략을 조정할 수 있습니다. 예를 들어, 제한된 검색이 문서를 반환하지 않는 경우, ReactJsonAgent는 필요한 정보를 찾기 위해 모든 소스로 검색 범위를 확장하기로 자동으로 결정할 수 있습니다.
Multi-Agent Orchestration for Web Browsing
복잡한 작업은 전문화된 에이전트를 상위 레벨 에이전트의 도구로 캡슐화함으로써 해결할 수 있습니다. Hugging Face는 웹 탐색의 복잡함을 처리하기 위해 Cohere의 Command-R+를 기반으로 하는 전문화된 "web surfer" 에이전트를 생성하여 이를 보여줍니다. 이 web surfer는 SearchTool로 래핑되어 기본 작업 해결 에이전트(Llama-3-70B-Instruct 기반)에게 제공되며, 이를 통해 상위 레벨 에이전트는 전문가는 정보를 수집하는 데 위임하고 최종적인 추론 및 계산에 집중할 수 있습니다.
Performance and Benchmarking
LLM Engine Comparison
agents_reasoning_benchmark를 사용하여 (HotpotQA, GSM8K, 및 GAIA 데이터셋에 대해 계산기 및 기본 검색 도구를 활용함), Hugging Face는 여러 엔진을 비교했습니다:
- Llama-3-70B-Instruct: GPT-4 Turbo와 대등한 성능을 수행했으며 오픈 소스 모델 중 선두를 차지했습니다. 특히 강력한 코딩 능력을 덕분에
ReactCodeAgent내에서 사용될 때 강점을 보였습니다. - Mixtral-8x7B: JSON 기반 에이전트와 비교했을 때 코드 기반 에이전트에서 덜 효과적으로 작동했습니다. 이는 유효한 코드를 생성하는 데 더 자주 실패했기 때문입니다.
GAIA Leaderboard Results
전체 GAIA 벤치마크를 다루기 위해, Hugging Face는 Llama-3-70B-Instruct를 기반으로 하는 ReactCodeAgent를 사용하여 멀티모달 에이전트를 구현했습니다. 이 에이전트는 SearchTool (웹 브라우저), TextInspectorTool (문서 리더), SpeechToTextTool (distil-whisper 사용), 및 VisualQATool (Idefics2-8b-chatty 사용)을 포함하는 toolbox를 갖추었습니다.
이 구성은 GAIA 리더보드에서 4위를 기록하며, 많은 GPT-4 기반 에이전트를 능가하고 오픈 소스 카테고리에서 최는 강력한 경쟁자로 자리매김했습니다.
Future Roadmap
Hugging Face는 다음과 같은 개발을 통해 프레임워크를를 확장할 계획입니다:
- Hub를 통해 전체 에이전트를 푸시하고 로드하는 기능 구현 (현재의 도구 공유를 넘어 확장).
- 이미지 프로세싱을 위한 강화된 도구.
- 고급 장기 메모리 관리.
- 개선된 멀티 에이전트 협업 능력.
Note: transformers.agents는 smolagents라는 독립형 라이브리티로 업그레이드되었습니다.
Sources
관련
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch