Memory system improves long coding tasks across multiple files
MemTrace: State-Consistent Memory for Long-Horizon Coding Agents
Artificial Intelligence
Summary
When computer programs get very big and complex, it becomes hard for coding AI agents to remember everything they did before and keep their work consistent. The authors propose MemTrace, a smart memory system that keeps detailed, unchanging records of past actions linked to important parts of the code and tests. This system only brings back relevant past information and makes sure it is still valid before using it again. Their approach helps coding agents do better on long tasks involving many changes and files, outperforming existing methods.
What this means in practice
- •For software development teams: Improve automated code repair and evolution tools to handle large projects with multiple files and ongoing changes, ensuring better state tracking.
- •For automated testing teams: Enhance test-driven development systems by maintaining valid execution histories across code updates, reducing redundant test failures due to stale information.
Authors
Hongming Xu, Le Zhou, ZhongHe Jin, Xiang Zhang, Bo Tang, Zhiyu Li, Xuanhe Zhou, Juncheng Zhang
Abstract
As coding agents take on long-horizon software evolution tasks spanning multiple files and stages, longer execution trajectories introduce two coupled challenges: (1) accumulated histories strain context budgets, and (2) repository changes can invalidate earlier execution evidence. Existing approaches address these challenges through techniques like larger context windows, compression, retrieval, or repository representations, but often fail to reconstruct a consistent task state after a context refresh or verify whether recalled evidence remains valid. Thus, we introduce MemTrace, a provenance-aware memory system that preserves execution history and aligns its reuse with the evolving task (e.g., iterative cross-file repair) and repository state. MemTrace stores history as immutable Memory Traces anchored to key information (e.g., files, symbols, tests), and organizes their execution order and dependencies in a Memory Trace Graph. When context is constrained, working memory retains only compact Memory Anchors, from which the agent can reconstruct the latest execution state and locate evidence relevant to its next action. Before restoring historical evidence, MemTrace checks its validity against the current repository state and retrieves only what the next action requires. Across three complementary long-horizon coding benchmarks, MemTrace consistently outperforms all fully evaluated baselines under the same backbone and harness, improving DeepSWE pass@1 by 21.2 points, SWE-EVO Resolved Rate by 4.4 points, and SWE-Milestone Score by 17.8 points under Codex CLI.