Multi-agent architecture
A deterministic orchestrator owns the state machine and dispatches one specialist agent per step. Agents never call each other and never talk to the customer — they return to the bus, which either advances the state or hands control to a human.
Reads the RFQ state, selects exactly one agent, applies its guardrails to the result, then writes the next state and an audit entry. Bounded at 30 steps per run so no chain can spin indefinitely.
Intake channel
Mocked Salesforce RFQ form — route, commodity, container lines, terms, discount ask
- · discount ceiling 40%
- · no unknown container types
owner · Sales user
invalid line, implausible qty or out-of-policy discount ask
- · 5 iterations
- · 2000 tokens
- · target margin 18%–35%
- · cost @ 65% of list
- · cost @ 75% of list
- · 2 reprice attempts
- · breach outside 7%–50%
owner · Pricing Super User
margin breach · reprice loop exhausted · agent cap hit
- · approved price is immutable input
- · 3 draft revisions
owner · Contracting Super User
warnings survive the revision cap
owner · Sales owner
mandatory — nothing customer-facing passes without it
- · single send per approval
Quote sent
Terminal. A customer counter offer re-enters the pricing loop as a reprice.
shared layer — read by the orchestrator and every agent
State store
RFQ status, prices, drafts — single source of truth
Audit log
Every transition, cap hit and human ruling, append-only
Reference data
Container types, base rates, pricing history
Guardrail config
Caps, margin bands and policy limits in one module
Proposer / critic separation
The agent that sets a price is never the agent that clears it, and each runs a different cost model. Disagreement is a designed signal.
Every loop is bounded
Iteration, token, reprice and revision budgets are declared up front. Exhausting one escalates to a named human instead of retrying.
Orchestrator holds authority
Agents return results; only the orchestrator mutates state. No agent-to-agent calls, so there is no hidden control flow.
Humans own irreversibility
Price overrides, contract deviations and the customer-facing send each require an explicit ruling from the right role.