Skip to main content

FAQ

General

What is AutoAgents? AutoAgents is a production-grade, multi-agent framework written in Rust. It provides a modular architecture for building intelligent systems with type-safe agent models, structured tool calling, configurable memory, and pluggable LLM backends — designed for performance, safety, and composability across server and edge environments.

How does AutoAgents differ from other agent frameworks? AutoAgents is Rust-first, offering memory safety, zero-cost abstractions, and high performance. It provides a unified interface for cloud and local LLM providers, built-in guardrails, optimization passes (cache/retry), and a WASM sandbox for tool execution — all in a single framework.

Is there a Python version? Yes. AutoAgents provides Python bindings via autoagents-py on PyPI, enabling Python developers to leverage the Rust core with a familiar API.

Setup & Configuration

How do I install AutoAgents? Install via Cargo: cargo add autoagents, or via PyPI for Python: pip install autoagents-py. See the documentation for detailed setup guides.

Which LLM providers are supported? AutoAgents supports OpenAI, OpenRouter, Anthropic, DeepSeek, xAI, and local models via a unified interface. Configure your API keys in the environment or configuration file.

Can I use local models? Yes. AutoAgents supports local LLM backends through its unified provider interface, enabling fully offline agent operation.

Agent Development

What is the ReAct executor? The ReAct (Reasoning + Acting) executor is AutoAgents' primary agent execution model. It alternates between reasoning steps and tool calls, enabling agents to plan, execute, and observe results in a loop until the task is complete.

How does the tool system work? Tools are defined using derive macros (#[derive(Tool)]) for type-safe input/output. AutoAgents also provides a sandboxed WASM runtime for executing untrusted tools securely.

What memory backends are available? AutoAgents uses a sliding window memory model by default, with extensible backends for custom memory strategies — enabling fine-grained control over context management.

Multi-Agent Orchestration

How do agents communicate? AutoAgents provides typed pub/sub communication between agents, enabling structured message passing with compile-time type safety. Agents can publish events and subscribe to topics in a decoupled architecture.

What is the environment system? The environment system manages shared state and resources across multiple agents. It provides a controlled space where agents can interact, share observations, and coordinate actions. Register runtimes with register_runtime, start them with run(), await completion with wait().await?, or stop them with shutdown().await?. See Actor Agents — Environment lifecycle for patterns.

Can I restart the same runtime after shutdown? SingleThreadedRuntime is single-cycle: its event loop cannot re-enter after it finishes. To run again, register a new runtime instance (or create a fresh Environment).

Is wait() safe inside tokio::select!? Yes. If another branch wins and wait() is cancelled, the join handle is restored on the environment so shutdown() can still stop runtimes and join the run task.

Troubleshooting

Build fails with Rust version errors. What should I do? AutoAgents requires Rust 1.75+. Run rustup update to get the latest stable version. Check the documentation for minimum version requirements.

Where can I get help?