Skip to content

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

arxyne --brief "Check the drag is under target" --product ahmed

The Chief Programme Engineer (CPE) agent receives the brief and uses tool-calling to:

  1. Run simulations (run_simulation, run_dynamics_simulation)
  2. Assess results against gates (assess_aerodynamic_targets, assess_dynamics_targets)
  3. Evaluate range competitiveness (get_range_competitiveness)
  4. 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:

  1. Send system prompt + user message + tool schemas to the LLM
  2. If the model returns tool calls → execute them, feed results back
  3. 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