Crate strands_agents

Crate strands_agents 

Source
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.