LLM Agents Can See Code Repositories
July 2, 2026 Β· View on GitHub
LLM Agents Can See Code Repositories
SeeRepo extends mini-swe-agent with a pre-built repository structure graph, enabling agents to navigate large codebases efficiently and resolve GitHub issues on SWE-bench.
π‘ Core Innovation
Standard coding agents rely entirely on shell commands (grep, find, ls) to explore a codebaseβcosting many steps before any edit is made. SeeRepo provides each agent with a pre-built repository graph that encodes the structural relationships of every file, class, and function in the target repository.
πΈοΈ Repository Graph
The graph is built offline per repository (stored as a .pkl file) and contains four edge types:
| Edge Type | Direction | Use Case |
|---|---|---|
contains | directory β file β class/function | Verify file paths, visualize directory layout |
imports | importer β imported module/symbol | Find all files related to a concept |
invokes | caller β callee | Trace execution flow to localize a bug |
inherits | subclass β base class | Understand class hierarchy |
Agents query the graph at inference time via a CLI tool:
python -m minisweagent.run.extra.utils.graph_visualization \
--pkl repo_graph.pkl \
--node "path/to/file.py" \
--edge-type imports \
--up-depth 1 --down-depth 1
π¨ Graph Building
The graph is constructed entirely from static analysis of Python source files using the ast moduleβno execution needed. See src/minisweagent/run/extra/utils/build_graph.py.
π Installation
git clone <this-repo-url>
cd SeeRepo
pip install -r requirements.txt
pip install -e .
- License: Apache-2.0 (see
LICENSE). - System: Docker for SWE-bench; for graph PNG rendering, install the Graphviz
dotbinary (e.g.apt install graphviz). - Optional LiteLLM model registry: if your provider uses custom model ids, set
LITELLM_MODEL_REGISTRY_PATHto a JSON file (see LiteLLMregister_modeldocs).
ποΈ Building the Graph Index
Before running on SWE-bench, build (or download) a graph indexβa directory of {instance_id}.pkl files, one per benchmark instance.
export SEEREPO_GRAPH_INDEX_DIR=/path/to/your/graph_index
python scripts/build_graph_index.py \
--dataset princeton-nlp/SWE-Bench_Verified \
--split test \
--output-dir $SEEREPO_GRAPH_INDEX_DIR \
--workers 8
The script starts each SWE-bench Docker image, extracts the repository from /testbed, builds the graph, and saves {instance_id}.pkl to the output directory.
βΆοΈ Running on SWE-bench
1. Set the graph index path
export SEEREPO_GRAPH_INDEX_DIR=/path/to/your/graph_index
2. Run the agent
python -m minisweagent.run.extra.swebench \
--subset verified \
--split test \
--config src/minisweagent/config/extra/SeeRepo.yaml \
--workers 4 \
--output trajectories/seerepo_verified
See scripts/run_swebench.sh for a complete example.
βοΈ Configuration files
| Config | Graph Strategy |
|---|---|
SeeRepo.yaml | Always query graph first |
SeeRepo_smart.yaml | Smart: query graph only when the file path is not already known |
The default model is openai/gpt-5-mini. Override via --model:
python -m minisweagent.run.extra.swebench \
--config src/minisweagent/config/extra/SeeRepo.yaml \
--model openai/gpt-5-mini \
...
π Repository Structure
SeeRepo/
βββ src/minisweagent/
β βββ agents/ # Agent loop (DefaultAgent)
β βββ models/ # Model interfaces (LiteLLM, Anthropic, ...)
β βββ environments/ # Execution environments (Docker, local, ...)
β βββ run/
β β βββ mini.py # Interactive CLI (mini / mini -v)
β β βββ extra/
β β βββ swebench.py # SWE-bench batch runner (SeeRepo entry point)
β β βββ utils/
β β βββ build_graph.py # Static graph construction
β β βββ graph_visualization.py # Graph query CLI (usedu by agents)
β βββ config/extra/
β βββ SeeRepo.yaml # Main config (always query graph first)
β βββ SeeRepo_smart.yaml # Smart graph usage variant
βββ scripts/
βββ build_graph_index.py # Build graph index for SWE-bench instances
βββ run_swebench.sh # Example run script
π Acknowledgements
SeeRepo is built on top of mini-swe-agent and evaluated on SWE-bench. We thank the respective authors for open-sourcing their work.
Citation
If you find this work helpful for your research or development, please consider citing our paper:
@misc{ma2026llmagentscoderepositories,
title={LLM Agents Can See Code Repositories},
author={Dongjian Ma and Silin Chen and Yufei Yang and Yuling Shi and Yanfu Yan and Xiaodong Gu},
year={2026},
eprint={2606.14061},
archivePrefix={arXiv},
primaryClass={cs.SE},
url={https://arxiv.org/abs/2606.14061},
}