HCAG: Hierarchical Abstraction and Retrieval-Augmented Generation on Theoretical Repositories with LLMs
Abstract
Existing Retrieval-Augmented Generation (RAG) methods for code struggle to capture the high-level architectural patterns and cross-file dependencies inherent in complex, theory-driven codebases, such as those in algorithmic game theory (AGT), leading to a persistent semantic and structural gap between abstract concepts and executable implementations. To address this challenge, we propose Hierarchical Code/Architecture-guided Agent Generation (HCAG), a framework that reformulates repository-level code generation as a structured, planning-oriented process over hierarchical knowledge. HCAG adopts a two-phase design: an offline hierarchical abstraction phase that recursively parses code repositories and aligned theoretical texts to construct a multi-resolution semantic knowledge base explicitly linking theory, architecture, and implementation; and an online hierarchical retrieval and scaffolded generation phase that performs top-down, level-wise retrieval to guide LLMs in an architecture-then-module generation paradigm. To further improve robustness and consistency, HCAG integrates a multi-agent discussion inspired by cooperative game. We provide a theoretical analysis showing that hierarchical abstraction with adaptive node compression achieves cost-optimality compared to flat and iterative RAG baselines. Extensive experiments on diverse game-theoretic system generation tasks demonstrate that HCAG substantially outperforms representative repository-level methods in code quality, architectural coherence, and requirement pass rate. In addition, HCAG produces a large-scale, aligned theory-implementation dataset that effectively enhances domain-specific LLMs through post-training. Although demonstrated in AGT, HCAG paradigm also offers a general blueprint for mining, reusing, and generating complex systems from structured codebases in other domains.
Figures & tables
| Method | CQ | TS | RPR | AT (s) |
|---|---|---|---|---|
| baseline | 0.596 | 0.010 | 0.02 | 148.10 |
| paragraph | 0.562 | 0.015 | 0.06 | 164.55 |
| advanced | 0.639 | 0.198 | 0.24 | 1609.89 |
| arks | 0.619 | 0.248 | 0.41 | 1190.43 |
| coderag | 0.671 | 0.460 | 0.32 | 1200.21 |
| pkg | 0.728 | 0.267 | 0.35 | 1908.80 |
| Methods | CQ | TS | RPR | AT (s) |
|---|---|---|---|---|
| hierarchical-2 | 0.650 | 0.298 | 0.32 | 1323.20 |
| hierarchical-3 | 0.755 | 0.410 | 0.47 | 2208.38 |
| hierarchical-4 | 0.788 | 0.525 | 0.60 | 3235.11 |
| hierarchical-6 | 0.795 | 0.541 | 0.60 | 3569.46 |
| hierarchical-4-0(1) | 0.769 | 0.505 | 0.53 | 2826.78 |
| hierarchical-4-5(2) | 0.788 | 0.540 | 0.58 | 3817.99 |
Repository-Level Code Generation
Repository-level code generation builds or modifies software across files using project context, dependencies, and requirements.
See all 43 papers