Agents¶
Agents in Arxyne operate through the three-verb model — they AUTHOR intent, they READ results, but they do not EXECUTE workflows. Execution is deterministic and agent-free.
Current Status (v0.1.0)¶
| Verb | CLI | Status |
|---|---|---|
| READ | --ask "..." |
Shipped. Requires an LLM backend (Ollama, Anthropic, DeepSeek, etc.) |
| AUTHOR | --brief "..." |
Hidden from --help. Functional but not promoted — requires LLM + gateway. |
| EXECUTE | --run-workflow |
Shipped. Deterministic, no LLM. |
The Agent's Job¶
| Phase | What the agent does | What the platform does |
|---|---|---|
| Before execution | Interpret an engineering brief, inspect the product, plan studies | Nothing — waits for --run-workflow |
| During execution | Nothing — not involved | Route domains, dispatch solvers, evaluate gates |
| After execution | Interpret results, explain failures, propose next iteration | Serve data via Python API / CLI |
READ: Conversational Query¶
arxyne --ask "What's the current Cd?" --product ahmed
arxyne --ask "Which targets are failing?" --product drivaer-notchback
arxyne --ask "What happened in the last 3 runs?" --product drivaer-notchback
The agent builds a context snapshot from the USD twin (product spec, results history, competitor data, releases, provenance) and sends it to the LLM with the question. The LLM returns a natural-language answer. No tool calling — the context is pre-assembled.
--ask requires --product and an LLM backend — see LLM backends below.
AUTHOR: Engineering Brief¶
The Chief Programme Engineer (CPE) agent receives the brief and uses tool-calling to:
- Run simulations (
run_simulation,run_dynamics_simulation) - Assess results against gates (
assess_aerodynamic_targets,assess_dynamics_targets) - Evaluate range competitiveness (
get_range_competitiveness) - Generate and run workflows (
generate_workflow,run_workflow)
--brief is functional but hidden from --help in v0.1.0. It will be promoted in a future release once the agent tool surface is stabilised.
Tool-Calling Architecture¶
The agent loop (arxyne_platform/core/agent.py) is a standard tool-calling loop:
- Send system prompt + user message + tool schemas to the LLM
- If the model returns tool calls → execute them, feed results back
- Repeat until the model returns text (final answer) or max turns reached
Available tools for the AUTHOR agent:
| Tool | Description |
|---|---|
run_simulation |
Run CFD simulation in Docker, returns Cd/Cl/CmPitch |
assess_aerodynamic_targets |
Compare aero results against USD targets |
get_range_competitiveness |
Range analysis vs benchmarked competitors |
run_dynamics_simulation |
Run Chrono dynamics (step steer, lane change, etc.) |
assess_dynamics_targets |
Compare dynamics results against USD targets |
generate_workflow |
Derive a simulation workflow from product capabilities |
run_workflow |
Execute the full multi-domain workflow |
LLM Backends¶
Arxyne is LLM-agnostic. Configure via environment variables or ~/.arxyne/config.yaml:
# Local (requires Ollama + a model)
ollama pull gemma4:e4b-it-q8_0
# Cloud
export ANTHROPIC_API_KEY=***
export DEEPSEEK_API_KEY=***
The agent features (--ask, --brief) fail gracefully with an actionable message when no LLM backend is configured.
What Agents Cannot Do¶
By design, agents cannot:
- Override a gate verdict (pass/fail is deterministic)
- Modify the gate evaluation logic
- Skip a requirement during workflow execution
- Write directly to the prototype layer (only the execution harness does)
This constraint is load-bearing for certification.
See Also¶
- MCP Gateway — tool surface exposed to agents
- Workflows — the deterministic execution that agents bracket