How it works
A run has separate inference and evaluation stages:- Load and prepare. AgentCompass loads
instance_id,repo,base_commit,problem_statement, gold patch, and test metadata. A built-in provider recipe normally selects the instance image and exposes its checked-out repository at/testbed. - Run the coding agent. A harness such as mini-SWE-agent or OpenHands receives the issue, edits the repository, and writes the unified diff submission to
/testbed/patch.txtunder the standard recipe layout. - Start a fresh evaluation environment. AgentCompass does not evaluate inside the modified inference workspace. It creates a new environment, restores the repository at
base_commit, and applies the submitted prediction patch. - Execute the SWE-bench test spec. Upstream
make_test_spec()supplies environment setup, repository installation, and evaluation scripts. Prebaked recipes skip repeated setup/install work but still run the generated evaluation script. - Parse the official report. Upstream
get_eval_report()decidesresolved. Resolution requires the issue’s fail-to-pass tests to pass while pass-to-pass tests continue to pass.
Parameters
Pass benchmark configuration via--benchmark-params '{...}', or through benchmark.params in a YAML file given to --config; the CLI wins on shared keys.
Parameter reference
| Parameter | Type | Default | Choices / values | Description |
|---|---|---|---|---|
prepare_mode | string | git_clone | git_clone / prebaked | How inference and evaluation repositories are prepared. Built-in remote-provider recipes normally replace this with prebaked. |
workspace_root | string | /testbed | absolute environment path | Root for per-instance inference and evaluation workspaces before recipe overrides. |
dataset_zip_url | string | built-in mirror | ZIP URL or empty string | Dataset archive tried first; if no local dataset is available, AgentCompass loads SWE-bench/SWE-bench_Verified from Hugging Face. |
repo_url_template | string | https://github.com/{repo}.git | template containing {repo} | Repository clone URL used in git_clone mode. |
sample_ids | list / string / null | null | valid instance ids | Optional exact task filter. Unknown ids fail fast. |
agentcompass run, not a --benchmark-params field. The dataset is fixed to its test split; there is no benchmark split parameter.
Inference, model, and evaluation controls
eval_timeout starts only after a patch has been produced and a fresh evaluation environment has been created. It cannot extend a model request, shell command, or harness run. Thinking/reasoning is also a model-request setting rather than a benchmark setting; see mini-SWE-agent or OpenHands for the exact configuration.
Run examples
agentcompass run takes three positional arguments in order: Benchmark, Harness, and Model. The examples use swebench_verified; harness choices are described below.
Before running, make sure local Docker is available and set MODEL_NAME, MODEL_BASE_URL, and MODEL_API_KEY to the model under test, API endpoint, and API key.
Recommended harness
mini-SWE-agent is the recommended harness for SWE-bench Verified. It uses the benchmark-specific mini-SWE-agent configuration and executes repository commands in the task environment.- Smoke test (single task end-to-end)
- Custom parameters
- AgentCompass recommended config
Run one task to verify inference, patch collection, and fresh evaluation end to end.
Other optional harnesses
OpenHands is also supported. The following command evaluates the full dataset and exposes its independent model-request, terminal-command, agent-loop, whole-task, and evaluation limits:Evaluation Results
For shared result conventions, see Run Directory, Aggregate Scores, and Task Files and Shared Fields.Scoring Metrics
SWE-bench Verified’s primary metric is binarycorrect, matching the evaluator’s resolved decision. Resolution follows the test rules in How It Works; there is no partial credit.
With the default configuration, each task has one attempt and the overall score is the issue resolution rate over tasks with valid scores, ranging from 0 to 1; higher is better.
See Metrics and Aggregation for repeated attempts, category aggregation, and scoring failure rules.
Task Results and Scoring Evidence
final_answer contains the unified diff patch submitted to the evaluator. eval_raw_data under meta.benchmark preserves scoring evidence, with these fields when available:
