Hands-on tutorial tracks for OpenSymbolicAI, taking you from "first five minutes" to "production-ready agent."
Each track is a self-contained project: its own folder, its own
pyproject.toml, its own runnable code. Pick a track, cd into it, and run it.
cd 01-hello
uv run main.py| # | Track |
|---|---|
| 01 | Hello, OpenSymbolicAI: the five-minute first win |
| 02 | Swap the local model: run Track 1's agent on a different model |
| 03 | Swap to a cloud provider: run the same agent on a hosted provider |
| 04 | What @primitive actually does: the gate that makes a method callable |
| 05 | read_only: the flag that signals whether a primitive modifies state |
| 06 | deterministic: the flag that signals whether a primitive is pure |
| 07 | Type annotations are the contract: how parameter and return types reach the LLM |
| 08 | Read the generated plan: the Python the LLM wrote, in result.plan |
| 09 | Read the execution trace: the plan after it ran, step by step, in result.trace |
| 10 | Read the metrics: what a run cost in time and tokens, in result.metrics |
| 11 | Plan without executing: generate a plan with agent.plan, review it, then run it |
| 12 | Execute a plan you already have: pass plan text to agent.execute, validation and all |
| 13 | Analyze a plan's structure: read the primitive calls and read_only flags with agent.analyze_plan |
| 14 | Your first decomposition: teach the planner with a worked example via @decomposition |
| 15 | expanded_intent: describe a decomposition's approach, not just its intent |