Configurable ACI Harness
Specify an agent-computer interface as config — prompt templates, command files, parsers, history processors, and stateful environment variables.
A configurable ACI harness separates the multi-turn LM wrapper from a declarative interface definition so you can iterate ACI design principles without rewriting the agent loop. Typical configuration categories:
- Prompt templates — system, instance, next-step (with/without output), format-error, and optional demonstration layers of an agent episode prompt stack.
- Command files — bash/Python functions whose signature, docstring, and
arguments inject into prompts; effects via stdout; globals for stateful UI
(
CURRENT_FILE,WINDOW_SIZE, …). - Control flow —
parse_functionfor action format enforcement; history processors that build the literal LM context each turn (for example collapsed observations). - Environment variables — initial shell/ACI state the commands mutate.
Pair with a sandboxed environment module (containerized execution) and episode logging of trajectories plus final artifacts. Treat the config as the versioned harness artifact under harness drift awareness: changing templates or command docs is an interface change, not a silent prompt tweak. Prefer this shape when experimenting with new commands, I/O formats, or context managers atop a fixed agent-computer interface abstraction.
Sources
- SWE-agent (Yang et al.), pp. 16–30