Documentation
¶
Overview ¶
Package runneragent provides a deterministic tool execution agent.
A runner agent executes its configured tools in sequence without LLM involvement. This enables pure automation pipelines that can be composed with LLM agents in workflows.
Key characteristics:
- No LLM reasoning - tools execute deterministically in order
- Output piping - each tool's output becomes the next tool's input
- Composable - works with sequential/parallel/loop workflow agents
- A2A compatible - final output becomes an artifact/message
Example configuration:
agents:
data_fetcher:
type: runner
tools: [web_fetch]
pipeline:
type: sequential
sub_agents: [data_fetcher, analyzer]
Use cases:
- ETL pipelines (fetch → transform → save)
- CI/CD automation (bash → grep_search)
- Data preprocessing before LLM analysis
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func New ¶
New creates a runner agent that executes tools in sequence without LLM.
Each tool receives the previous tool's output as its input parameter. The first tool receives the user's message. The final tool's output becomes the agent's response.
Example:
runner, err := runneragent.New(runneragent.Config{
Name: "data_fetcher",
Description: "Fetches and parses data",
Tools: []tool.Tool{fetchTool, parseTool},
})
Types ¶
type Config ¶
type Config struct {
// Name is the agent's unique identifier.
Name string
// DisplayName is the human-readable name (optional).
DisplayName string
// Description describes what the agent does.
Description string
// Tools are the tools to execute in sequence.
// Each tool's output becomes the next tool's input.
Tools []tool.Tool
}
Config defines the configuration for a runner agent.
Click to show internal directories.
Click to hide internal directories.