Expand description
§Strands Agents - A Rust AI Agents SDK
Strands is a model-agnostic SDK for building AI agents.
§Quick Start
use strands_agents::{Agent, AgentBuilder};
use strands_agents::models::BedrockModel;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut agent = Agent::builder()
.model(BedrockModel::new("anthropic.claude-3-sonnet-20240229-v1:0"))
.system_prompt("You are a helpful assistant")
.build()?;
let result = agent.invoke_async("Hello!").await?;
println!("{}", result);
Ok(())
}Re-exports§
pub use agent::Agent;pub use agent::AgentBuilder;pub use agent::AgentResult;pub use agent::AgentState;pub use multiagent::Graph;pub use multiagent::GraphBuilder;pub use multiagent::Swarm;pub use multiagent::MultiAgentBase;pub use multiagent::MultiAgentResult;pub use types::content::ContentBlock;pub use types::content::Message;pub use types::content::Messages;pub use types::content::Role;pub use types::errors::StrandsError;pub use types::tools::ToolResult;pub use types::tools::ToolSpec;pub use types::tools::ToolUse;
Modules§
- agent
- Agent implementation for conversational AI.
- async_
utils - Private async execution utilities.
- conversation
- Conversation management for context window optimization.
- event_
loop - Event loop types for agent execution.
- handlers
- Handlers for formatting and displaying events from the agent.
- hooks
- Hook system for agent lifecycle events.
- identifier
- Strands identifier utilities.
- models
- Model traits and implementations.
- multiagent
- Multi-agent orchestration primitives.
- prelude
- Prelude module for convenient imports.
- session
- Session management for persistent conversations.
- streaming
- Streaming utilities for processing model responses.
- telemetry
- Telemetry and metrics for agent execution.
- tools
- Tool definitions and execution.
- types
- Core type definitions for the Strands SDK.
Attribute Macros§
- tool
- Transforms a function into a Strands agent tool.