Introduction
agent-sdk-rs is a minimal Rust SDK for tool-using LLM agents.
Design goals:
- explicit agent loop (
query,query_stream) - provider swap without loop rewrite (
ChatModeltrait) - JSON-schema tools + dependency injection
- explicit completion support (
ToolOutcome::Done) - hard safety bounds (
max_iterations)
Current provider adapters:
- Anthropic (
AnthropicModel) - Google Gemini (
GoogleModel) - xAI Grok (
GrokModel)
Core modules:
agent: run loop, events, builderllm: provider interface + adapterstools: tool specs, argument validation, DI maperror: runtime + provider + schema errors
Evidence in repo:
- stop semantics + loop guards:
src/agent/tests.rs - tool schema checks:
src/tools/mod.rs - provider adapters:
src/llm/