Harness Engineering on Exemplar
Advanced guide. Read this after Getting started with Marshal and SDKs & CLI.
Harness engineering is designing production agents from agent primitives—discover work, assign agents, verify results, and persist state—escalating to a human only when judgment is required. Exemplar’s Marshal, Tools & MCP, and Relay surfaces are those primitives, already wired for governance and audit.
| Agent primitive | Job | Exemplar surface |
|---|---|---|
| Skills | Persistent procedures | Skill management |
| Memory / state | Durable spine across runs | Memory |
| Prompts | Versioned instructions and contracts | Prompt management |
| Connectors / MCP | Tickets, CI, cloud, observability | Tools & MCP |
| Verification | Maker never grades its own work | Evals · checker agents via frameworks |
| Guardrails & gates | Budgets, denylists, human approval | Guardrails · HITL · Relay for IDE |
| Gateway | Model routing, cache, rate limits | AI Gateway |
| Scheduling | Cadence / triggers | Your orchestrator or scheduler calling Marshal SDK / CLI (and Tools & MCP) |
Practical mapping
- Discover — A cron, queue, or IDE skill starts a run; recall memory for open work and ownership.
- Act — Call governed MCP tools (
harness.tools()or IDE MCP); keep secrets vaulted. - Verify — Run evals or a separate checker agent; do not let the implementer grade itself.
- Gate — Use HITL for irreversible steps; use Relay Soft ask for IDE side effects.
- Persist — Write outcomes back to memory so the next run does not re-propose rejected work.
Autonomy phases
| Phase | Behavior |
|---|---|
| Report only | Agents summarize; humans act |
| Propose | Agents draft; HITL / Soft ask required |
| Act under caps | Agents execute within guardrails and tool allowlists |
| Tighten | Narrow ask surfaces as confidence grows—do not remove gates silently |
Related
- SDKs & CLI — which touchpoint for which job
- Marshal getting started
- Tools & MCP · Relay · HITL · AI Gateway
This page is a pattern guide for composing agent primitives—not a required onboarding step. Prefer Connect + one SDK hello-world first.
Last updated on