Rust 기반 프로덕션급 멀티 에이전트 프레임워크
요약
AutoAgents는 Rust로 구현된 프로덕션급 멀티 에이전트 프레임워크입니다. 타입 안전한 에이전트 모델, 구조화된 툴 호출, 구성 가능한 메모리 등을 결합하여 지능형 시스템 구축을 지원합니다. 서버와 엣지 환경 모두에서 높은 성능과 안정성을 제공하며, 다양한 LLM 백엔드를 통합할 수 있습니다.
핵심 포인트
- Rust 기반으로 타입 안전성과 안정성이 높음
- 멀티 에이전트 오케스트레이션 및 pub/sub 통신 지원
- 구조화된 툴 호출을 위한 WASM 런타임 제공
- OpenTelemetry를 이용한 관찰 가능성(Observability) 확보

Rust로 구현된 프로덕션급 멀티 에이전트 프레임워크
English | 中文 | 日本語 | Español | Français | Deutsch | 한국어 | Português (Brasil)
번역은 English README보다 늦을 수 있습니다.
Documentation | Examples | Contributing
프로젝트가 마음에 드시나요? GitHub에서 별점을 눌러주세요.
AutoAgents는 Rust로 지능형 시스템을 구축하기 위한 모듈식 멀티 에이전트 프레임워크입니다. 타입 안전한 에이전트 모델과 구조화된 툴 호출, 구성 가능한 메모리, 플러그 가능한 LLM 백엔드를 결합했습니다. 이 아키텍처는 서버와 엣지 환경 전반에 걸쳐 성능, 안정성, 조합성을 위해 설계되었으며, 고수준의 에이전트 하네스(agent harness)의 기반 역할을 합니다.
에이전트 실행: ReAct 및 기본 실행기, 스트리밍 응답, 구조화된 출력
툴링: 툴과 출력을 위한 Derive 매크로, 그리고 툴 실행을 위한 격리된 WASM 런타임
메모리: 확장 가능한 백엔드를 갖춘 슬라이딩 윈도우 메모리
LLM 제공자: 통합 인터페이스 뒤의 클라우드 및 로컬 백엔드
LLM 가드레일: LLM 추론을 보호하기 위한 가드레일 구현
LLM 최적화: 캐시 및 재시도와 같은 최적화 패스를 사용하여 더 빠르고 안정적인 추론을 위한 LLM 파이프라인 구축
멀티 에이전트 오케스트레이션: 타입 지정된 pub/sub 통신 및 환경 관리
음성 처리: 로컬 TTS(Text-to-Speech) 및 STT(Speech-to-Text) 지원
관찰 가능성 (Observability): 플러그 가능한 익스포터를 사용한 OpenTelemetry 트레이싱 및 메트릭
| 제공자 (Provider) | 기능 (Feature) | 채팅 (Chat) | 스트리밍 (Streaming) | 도구 호출 (Tool Calls) | 구조화된 출력 (Structured Output) | 비전/멀티모달 (Vision / Multimodal) |
|---|---|---|---|---|---|---|
| OpenAI | openai | 예 (Yes) | 예 (Yes) | 예 (Yes) | 예 (Yes) | 이미지 URL 및 인라인 이미지 지원; PDF는 타입 오류와 함께 거부됨. |
| OpenRouter | openrouter | 예 (Yes) | 예 (Yes) | 예 (Yes) | 예 (Yes) | OpenAI 호환 이미지 입력 지원; PDF는 타입 오류와 함께 거부됨. |
| Requesty | requesty | 예 (Yes) | 예 (Yes) | 예 (Yes) | 예 (Yes) | OpenAI 호환 이미지 입력 지원; PDF는 타입 오류와 함께 거부됨. |
| Anthropic | anthropic | 예 (Yes) | 예 (Yes) | 예 (Yes) | 예 (Yes) | Anthropic 콘텐츠 블록을 사용하여 이미지, 이미지 URL 및 PDF를 사용함. |
| DeepSeek | deepseek | 예 (Yes) | 예 (Yes) | 예 (Yes) | 예 (Yes) | OpenAI 호환 이미지 입력 지원; PDF는 타입 오류와 함께 거부됨. |
| xAI | xai | 예 (Yes) | 예 (Yes) | 아니요 (No) | 모델에 따라 다름 (Model-dependent) | 텍스트 전용 채팅; 멀티모달 입력은 LLMError::InvalidRequest를 반환함. |
| Phind | phind | 예 (Yes) | 아니요 (No)* | 아니요 (No) | 아니요 (No) | 텍스트 전용 채팅; 멀티모달 입력은 LLMError::InvalidRequest를 반환함. |
| Groq | groq | 예 (Yes) | 예 (Yes) | 예 (Yes) | 예 (Yes) | OpenAI 호환 이미지 입력 지원; PDF는 타입 오류와 함께 거부됨. |
google | 예 (Yes) | 예 (Yes) | 예 (Yes) | 예 (Yes) | 인라인 이미지 및 PDF 지원; 이미지 URL은 타입 오류와 함께 거부됨. | |
| Azure OpenAI | azure_openai | 예 (Yes) | 아니요 (No)* | 예 (Yes) | 예 (Yes) | 이미지 URL 지원; PDF 및 원시 인라인 이미지는 타입 오류와 함께 거부됨. |
| MiniMax | minimax | 예 (Yes) | 예 (Yes) | 예 (Yes) | 아니요 (No) | OpenAI 호환 이미지 입력 지원; PDF는 타입 오류와 함께 거부됨. |
| 제공자 (Provider) | 크레이트/기능 (Crate / Feature) | 채팅 (Chat) | 스트리밍 (Streaming) | 도구 호출 (Tool Calls) | 구조화된 출력 (Structured Output) | 비전/멀티모달 (Vision / Multimodal) | 로컬 추론 (Local Inference) |
|---|---|---|---|---|---|---|---|
| Ollama | ollama | 예 (Yes) | 예 (Yes) | 예 (Yes) | 예 (Yes) | Ollama 서버를 통해 지원 (Yes, via Ollama server) | |
| Mistral-rs | autoagents-mistral-rs | 예 (Yes) | 예 (Yes) | 예 (Yes) | 예 (Yes) | 비전 모델 지원 (Vision models supported) | 예 (Yes, embedded runtime) |
| Llama-Cpp | autoagents-llamacpp | 예 (Yes) | 예 (Yes) | 예 (Yes) | 예 (Yes) | 프로젝터 파일로 비전 모델 지원 (Vision models supported with projector files) | 예 (Yes, embedded runtime) |
| 제공자 (Provider) | 상태 (Status) |
|---|---|
| Burn | |
| Onnx |
Provider 지원은 커뮤니티의 필요에 따라 활발하게 확장되고 있습니다.
- 스트리밍 사용에 No로 표시된 Provider는 패닉(panicking)을 일으키기보다는 기본
ChatProvider::chat_stream구현을 사용하여LLMError::Generic("Streaming not supported for this provider")를 반환합니다.
Rust(최신 안정 버전 권장)Cargo 패키지 매니저 LeftHook Git 훅 관리를 위한 도구 Python 3.9+(Python 바인딩에 필수) uv Python 환경 및 패키지 관리자 maturin(소스에서 로컬 Python 바인딩을 빌드/설치하는 데 필요)
sudo apt update
sudo apt install build-essential libasound2-dev alsa-utils pkg-config libssl-dev -y
macOS (Homebrew):
brew install lefthook
Linux/Windows (npm):
npm install -g lefthook
git clone https://github.com/liquidos-ai/AutoAgents.git
cd AutoAgents
lefthook install
...
CUDA, Vulkan, Metal과 같은 하드웨어별 가속기 기능은 일치하는 로컬 툴체인 및 플랫폼을 필요로 합니다. 구축하려는 특정 백엔드에 대해서만 해당 기능을 활성화하십시오.
AutoAgents는 PyPI에 Python 바인딩을 배포합니다. 기본 패키지를 설치하고 extras를 통해 백엔드를 추가하십시오:
pip install autoagents-py # core + cloud LLM providers
pip install "autoagents-py[llamacpp]" # + llama.cpp CPU
pip install "autoagents-py[llamacpp-cuda]" # + llama.cpp CUDA
...
이 리포지토리에서 개발 설치하는 방법:
uv venv --python=3.12
source .venv/bin/activate # Windows: .venv\Scripts\activate
uv pip install -U pip "maturin>=1.13.3,<2" pytest pytest-asyncio pytest-cov
...
Make 타겟은 재빌드 전에 오래된 편집 가능 설치(editable-install) 확장 아티팩트를 제거하여 소스 트리에서 최신화되지 않은 .abi3.so 파일을 로드하는 것을 방지합니다.
예제 스크립트:
-
Core cloud 예제:
bindings/python/autoagents/examples/openai_agent.py -
llama.cpp 예제:
bindings/python/autoagents-llamacpp/examples/llamacpp_agent.py -
mistral-rs 예제:
bindings/python/autoagents-mistralrs/examples/mistral_rs_agent.py
use autoagents::core::agent::memory::SlidingWindowMemory;
use autoagents::core::agent::prebuilt::executor::{ReActAgent, ReActAgentOutput};
use autoagents::core::agent::task::Task;
...
AutoAgents CLI는 YAML 설정을 통해 에이전트 워크플로우를 실행하고 이를 HTTP로 제공하는 데 도움을 줍니다. 자세한 내용은 https://github.com/liquidos-ai/AutoAgents-CLI에서 확인할 수 있습니다.
빠르게 시작하려면 예제들을 살펴보세요:
- 도구(Tools)가 있는 Simple Agent, Very Basic Agent, Edge Agent, Chaining, Actor Based Model, Streaming 및 에이전트 훅 추가 등 다양한 예제를 시연합니다.
- 성능과 신뢰성을 개선하기 위해 캐시(cache)나 재시도(retry)와 같은 최적화 패스를 사용하는 LLM 파이프라인을 시연합니다.
- 파이프라인에서 LLMLayer를 사용하여 Block, Sanitize, Audit 정책으로 구성 가능한 입력 및 출력 가드레일(guardrails)을 시연합니다.
- AutoAgents를 Model Context Protocol (MCP)과 통합하는 방법을 시연합니다.
- Local Models용 Mistral-rs와 AutoAgents를 통합하는 방법을 시연합니다.
- Chaining, Planning, Routing, Parallel 및 Reflection과 같은 다양한 디자인 패턴을 시연합니다.
- AutoAgents와 다양한 LLM 제공업체(providers)를 사용하는 방법을 보여주는 예제들을 포함하고 있습니다.
- WASM 런타임에서 도구를 실행할 수 있는 간단한 에이전트입니다.
- 파일 조작 기능이 있는 정교한 ReAct 기반 코딩 에이전트입니다.
- 실시간 TTS 및 STT를 사용하여 AutoAgents Speech Example을 실행합니다.
- AutoAgents-llamacpp 백엔드를 사용하여 Android에서 Local 모델과 함께 AutoAgents를 실행하는 예제 앱입니다.
AutoAgents는 모듈식 아키텍처로 구축되었습니다:
AutoAgents/
├── crates/
│ ├── autoagents/ # 메인 라이브러리 진입점
...
Agent: 지능의 근본적인 단위
Environment: 에이전트 생명주기와 통신 관리
Memory: 구성 가능한 메모리 시스템
Tools: 외부 기능 통합
Executors: 다양한 추론 패턴 (ReAct, Chain-of-Thought)
sudo apt update
sudo apt install build-essential libasound2-dev alsa-utils pkg-config libssl-dev -y
cargo test --features default
Python 바인딩
make python-bindings-test-clean
...
cargo bench -p autoagents-core --bench agent_runtime
이 프로젝트는 Git 훅 관리를 위해 LeftHook을 사용합니다. 이 훅들은 다음 작업을 자동으로 수행합니다:
-
cargo fmt --check로 코드 포맷팅 -
cargo clippy -- -D warnings로 린팅 실행 -
cargo test --features full로 Rust 테스트 실행 -
make python-bindings-test로 Python 바인딩 테스트 실행
기여를 환영합니다. 자세한 내용은 기여 가이드라인(Contributing Guidelines)과 행동 강령(Code of Conduct)을 참조해 주세요.
API 문서: 전체 프레임워크 문서FAQ: 일반 질문 및 문제 해결예제: 실제 구현 예시
GitHub 이슈: 버그 보고 및 기능 요청토론: 커뮤니티 Q&A 및 아이디어Discord: https://discord.gg/zfAF9MkEtK를 사용하여 Discord 커뮤니티에 가입하세요.
AutoAgents는 높은 성능을 위해 설계되었습니다:
메모리 효율성: 구성 가능한 백엔드를 통한 최적화된 메모리 사용량동시성(Concurrent): tokio를 이용한 완전한 async/await 지원확장성(Scalable): 다중 에이전트 코디네이션을 통한 수평 확장타입 안전성(Type Safe): Rust의 타입 시스템을 통한 컴파일 타임 보장
설치, 제공자(providers), 실행기(executors), 환경 생명 주기(environment lifecycle), 문제 해결에 대한 내용은 문서의 FAQ를 참조하세요.
AutoAgents는 다음 라이선스 하에 이중 라이선스를 따릅니다:
MIT License(MIT_LICENSE)Apache License 2.0(APACHE_LICENSE)
사용 사례에 따라 두 라이선스 중 하나를 선택할 수 있습니다.
Liquidos AI 팀과 연구원 및 엔지니어들로 구성된 멋진 커뮤니티가 제작했습니다.
특별히 감사드립니다:
- 훌륭한 생태계를 제공하는 Rust 커뮤니티
- 고품질 모델 API를 가능하게 한 LLM 제공자(providers)
- AutoAgents 개선에 도움을 준 모든 기여자들
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Codex tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기