Building Agents with orxhestra
All agents extendBaseAgent and implement astream(input, *, ctx) returning AsyncIterator[Event].
LlmAgent — Standard tool-calling agent
Key parameters
| Parameter | Type | Description |
|---|---|---|
name | str | Unique agent name |
llm | BaseChatModel | Any LangChain chat model |
tools | list[BaseTool] | Tools available to the agent |
instructions | str | Callable | System prompt (static or dynamic) |
planner | BasePlanner | Optional planning strategy |
output_schema | type | Optional Pydantic model for structured output |
max_iterations | int | Max tool-call loop iterations (default: 10) |
Dynamic instructions
ReActAgent — Structured reasoning
Useswith_structured_output() to enforce a typed ReActStep at every iteration. Extends LlmAgent so it inherits instructions, planners, skills, and callbacks.