Overview
LLMAgent extends BaseAgent with an LLM pipeline and automatic tool registration. Subclasses implement build_llm() to provide an LLM service and define tools with the @tool decorator.
Configuration
Inherits all parameters fromBaseAgent.
str
required
Unique name for this agent.
bool
default:"False"
Whether the agent starts active. Defaults to
False (unlike BaseAgent which
defaults to True), since LLM agents typically wait to be activated via
handoff.bool
default:"True"
Whether to defer frames queued during tool execution until all tools complete.
When
True, any frames queued via queue_frame() while a @tool method is
running are held in an internal queue and delivered automatically once the
last tool finishes.Properties
Inherits all properties fromBaseAgent.
tool_call_active
True when one or more @tool methods are executing.
Abstract Methods
build_llm
LLMService (e.g. OpenAILLMService, AnthropicLLMService). Tool registration is handled automatically; do not register @tool methods here.
Returns: An LLMService instance.
Methods
build_tools
@tool. Override to provide additional or different tools.
Returns: List of tool functions.
create_llm
build_llm() and registers all @tool decorated methods. Each tool is automatically wrapped with inflight tracking for frame deferral. Override to customize the LLM setup.
Returns: The configured LLMService.
on_activated
args contains messages, they are appended to the LLM context. When args contains run_llm (defaults to True when messages are set), the LLM is triggered after appending.
handoff_to
@tool handler, pass params.result_callback to ensure any pending LLM output is fully delivered before handing off.
end
@tool handler, pass params.result_callback to ensure any pending LLM output is fully delivered before ending.
process_deferred_tool_frames
Returns: The frames to queue. Return the list as-is for default behavior.