Skip to main content
A simulated-user trial pairs a user agent with the target agent under test. The user agent receives the task instruction. The target starts without it and learns the task through conversation. Harbor runs the verifier afterward.
Diagram showing a user agent sending prompts through acpx to a target agent while both share a task workspace

Simulated user architecture diagram

Examples

Hello world

One example from SWE-Interact

Simulated-user trials can run for a long time. This example takes about 50 minutes.

simulated user in viewer

Bridge

--bridge acp installs acpx in the task environment and connects the user agent to the target. The user sends each message with acpx prompt. The ACP bridge supports claude-code and gemini-cli as target agents. The remaining ACP Registry Agents are not wired into Harbor yet. The user agent can be any Harbor agent.

User prompt

Harbor builds the user agent’s prompt in this order: --user-prompt-template-path replaces this layout with a Jinja2 template. The template must include {{ bridge_instructions }} and {{ instruction }}; {{ persona }} is optional.