Crate adk_agent

Crate adk_agent 

Source
Expand description

§adk-agent

Agent implementations for ADK (LLM, Custom, Workflow agents).

§Overview

This crate provides ready-to-use agent implementations:

§Quick Start

use adk_agent::LlmAgentBuilder;
use std::sync::Arc;

// LLM Agent requires a model (from adk-model)
// let agent = LlmAgentBuilder::new("assistant")
//     .description("Helpful AI assistant")
//     .model(Arc::new(model))
//     .build()?;

§Workflow Agents

Combine agents for complex workflows:

// Sequential: A -> B -> C
let seq = SequentialAgent::new("pipeline", vec![a, b, c]);

// Parallel: A, B, C simultaneously
let par = ParallelAgent::new("team", vec![a, b, c]);

// Loop: repeat until exit
let loop_agent = LoopAgent::new("iterator", worker, 10);

§Guardrails (optional)

Enable the guardrails feature for input/output validation:

use adk_agent::{LlmAgentBuilder, guardrails::{GuardrailSet, ContentFilter, PiiRedactor}};

let input_guardrails = GuardrailSet::new()
    .add(ContentFilter::harmful_content())
    .add(PiiRedactor::new());

let agent = LlmAgentBuilder::new("assistant")
    .input_guardrails(input_guardrails)
    .build()?;

Re-exports§

pub use guardrails::GuardrailSet;
pub use tool_call_markup::normalize_content;
pub use tool_call_markup::normalize_option_content;

Modules§

guardrails
Guardrail integration for LlmAgent
tool_call_markup
XML-based tool call markup parsing.

Structs§

ConditionalAgent
Conditional agent runs different sub-agents based on a condition
CustomAgent
CustomAgentBuilder
LlmAgent
LlmAgentBuilder
LoopAgent
Loop agent executes sub-agents repeatedly for N iterations or until escalation
ParallelAgent
Parallel agent executes sub-agents concurrently
SequentialAgent
Sequential agent executes sub-agents once in order

Traits§

Agent