You want a clear map of what jido_ai provides before production rollout.
After this guide, you should be able to explain the package in a prioritized way and choose the right integration surface for each workload.
jido_ai is an AI runtime layer for Jido agents with:
- Agent macros with built-in reasoning strategies
- Tool-calling orchestration over
Jido.Actionmodules - Strategy-agnostic skills loading and registry
- Plugin-based capability mixins for reusable runtime features
- Action APIs for direct AI workflows outside agent macros
- First-class observability via signals, directives, and telemetry
Jido.AI.Agent is the anchor feature.
- It is the generic AI agent macro.
- Under the hood it uses
Jido.AI.Reasoning.ReAct.Strategy. - It is built for tool use through a ReAct loop (reason, call tool, continue).
- It supports request handles and async orchestration (
ask/await/ask_sync). - It uses standardized lifecycle and runtime contracts (
ai.request.*,ai.llm.*,ai.tool.*).
If your production workload needs reliable tool-calling agents, this is the default entry point.
jido_ai ships specialized agent macros for different reasoning patterns:
Jido.AI.CoDAgent->Jido.AI.Reasoning.ChainOfDraft.StrategyJido.AI.CoTAgent->Jido.AI.Reasoning.ChainOfThought.StrategyJido.AI.AoTAgent->Jido.AI.Reasoning.AlgorithmOfThoughts.StrategyJido.AI.ToTAgent->Jido.AI.Reasoning.TreeOfThoughts.StrategyJido.AI.GoTAgent->Jido.AI.Reasoning.GraphOfThoughts.StrategyJido.AI.TRMAgent->Jido.AI.Reasoning.TRM.StrategyJido.AI.AdaptiveAgent->Jido.AI.Reasoning.Adaptive.Strategy
Supported strategy family:
- ReAct
- Chain-of-Draft
- Chain-of-Thought
- Algorithm-of-Thoughts
- Tree-of-Thoughts
- Graph-of-Thoughts
- TRM
- Adaptive
Use these when reasoning policy is part of the product requirement, not just a model prompt detail.
Jido.AI.ToTAgent now returns a structured result contract (hard switch), not a plain string:
best: best-ranked candidatecandidates: top-K ranked leavestermination: reason/status/depth/node-count/durationtree: traversal and search-shape metadatausage: accumulated token usagediagnostics: parser mode/retries, convergence, tool-round diagnostics
ToT flexibility controls exposed at the agent macro level:
top_k,min_depth,max_nodes,max_duration_ms,beam_widthearly_success_threshold,convergence_window,min_score_improvementmax_parse_retriestools,tool_context,tool_timeout_ms,tool_max_retries,tool_retry_backoff_ms,max_tool_round_trips
Skills are reusable instruction/capability units loaded at runtime:
Jido.AI.Skill.Loaderparses skill files.Jido.AI.Skill.Registrystores and resolves active skills.- Skills are strategy-agnostic and can be injected into agent behavior/context.
- Skills are useful for domain behavior reuse without duplicating agent code.
This is the main packaging mechanism for reusable AI behavior in your system.
Plugins should represent product capabilities, not low-level runtime plumbing.
Recommended plugin set (target production surface):
Jido.AI.Plugins.Chat(anchor capability)- Unified conversational interface with built-in tool calling.
- Replaces split end-user mental model of separate
LLM+ToolCallingplugins. - Supports simple chat usage and tool-augmented chat under one contract.
Jido.AI.Plugins.Planning- Structured planning, decomposition, and prioritization flows.
- Strategy invocation plugins (explicit reasoning as capabilities):
Jido.AI.Plugins.Reasoning.ChainOfDraftJido.AI.Plugins.Reasoning.ChainOfThoughtJido.AI.Plugins.Reasoning.AlgorithmOfThoughtsJido.AI.Plugins.Reasoning.TreeOfThoughtsJido.AI.Plugins.Reasoning.GraphOfThoughtsJido.AI.Plugins.Reasoning.TRMJido.AI.Plugins.Reasoning.Adaptive- These expose reasoning strategies as callable plugin capabilities, independent of which agent macro strategy is primary.
- Cross-cutting policy plugins (production hardening):
- model routing/fallback
- guardrails and safety policy
- memory/retrieval enrichment
- cost/quota/rate limiting
Non-goal for public plugin surface:
TaskSupervisorshould not be treated as a primary user-facing capability plugin.- Async execution infrastructure should be handled by Jido runtime/Jido.Exec primitives and internal runtime wiring.
Where plugins fit:
- Strategies decide control flow and reasoning mechanics.
- Plugins package reusable capabilities and policy.
- Actions remain the executable units behind both plugins and direct workflows.
Signal namespace contract for this plugin surface:
chat.messagereasoning.cod.runreasoning.cot.runreasoning.aot.runreasoning.tot.runreasoning.got.runreasoning.trm.runreasoning.adaptive.run
Standalone actions are the strategy-independent integration path for adding AI behavior directly to Jido apps via Jido.Exec.
Finalized standalone action set (recommended):
- Core generation primitives
Jido.AI.Actions.LLM.Chat(single-turn conversational generation)Jido.AI.Actions.LLM.GenerateObject(schema-constrained structured output)Jido.AI.Actions.LLM.Embed(embedding generation for retrieval/search)
- Tool orchestration primitives
Jido.AI.Actions.ToolCalling.CallWithTools(LLM + tool schema + optional auto-execution loop)Jido.AI.Actions.ToolCalling.ExecuteTool(direct tool execution by name)Jido.AI.Actions.ToolCalling.ListTools(tool discovery and schema inspection)
- Planning domain templates
Jido.AI.Actions.Planning.PlanJido.AI.Actions.Planning.DecomposeJido.AI.Actions.Planning.Prioritize
- Reasoning domain templates (optional, useful outside full strategy orchestration)
Jido.AI.Actions.Reasoning.AnalyzeJido.AI.Actions.Reasoning.InferJido.AI.Actions.Reasoning.Explain
- Dedicated strategy orchestration
Jido.AI.Actions.Reasoning.RunStrategy(isolated strategy execution for:cod | :cot | :aot | :tot | :got | :trm | :adaptive)
- Compatibility convenience
Jido.AI.Actions.LLM.Complete(simple completion path; overlaps withChatand can remain as convenience)
Not part of standalone action surface:
- Strategy-internal command actions (
*_start,*_llm_result,*_llm_partial, worker lifecycle events). - These are orchestration internals for ReAct/CoD/CoT/AoT/ToT/GoT/TRM/Adaptive strategies, not reusable app-level primitives.
Pragmatically:
- Agent macros are the primary production surface for long-lived agent orchestration.
- Direct actions are the flexible lower-level surface for pipelines, jobs, and custom runtime composition.
User/App Query
-> Agent Macro (Jido.AI.Agent or strategy-specific agent)
-> Strategy (ReAct/CoD/CoT/AoT/ToT/GoT/TRM/Adaptive)
-> Directives (LLM, tool, control intents)
-> Runtime Execution (ReqLLM + tool execution)
-> Signals (ai.request.*, ai.llm.*, ai.tool.*, ai.usage)
-> Strategy state updates
-> Request completion/await result
Observability is a core part of the package, not an add-on:
- Typed signal contracts for lifecycle, LLM, tool, and usage events
- Directive-level execution boundaries
- Telemetry events for request, LLM, and tool phases
- Request IDs and run IDs for correlation across async boundaries
When describing jido_ai for production, the concise version is:
- A ReAct-first AI agent framework (
Jido.AI.Agent) with built-in tool calling. - A multi-strategy reasoning platform (CoD, CoT, AoT, ToT, GoT, TRM, Adaptive, ReAct).
- A reusable skills layer for domain behavior packaging.
- A plugin layer for mountable capability mixins and policy controls.
- A lower-level actions API for strategy-independent AI workflows.
- Full runtime observability through directives, signals, and telemetry.