← 所有项目
AI Engineering / 开源 · 持续迭代

LegacyPilot.

Enterprise Agent Harness

面向存量 Java 系统的研发 Agent,把代码检索、受控修改、人工审批和独立验证组织成可追踪、可恢复的执行闭环。

查看 GitHub
Java 21Spring BootAgent RuntimeCode Intelligence

需要解决的问题

在存量 Java 系统中修改一条业务规则,需要理解调用关系、控制变更范围,并确认测试覆盖了真实要求。模型生成代码只是其中一步。LegacyPilot 将这些步骤放进一个有明确状态、权限和验证结果的执行流程,让开发者能够检查每次动作的依据。

方案与架构

项目采用 Single Agent + Strong Harness。自研 Runtime 管理计划、工具调用、观察、验证和预算内重试;代码上下文通过 JavaParser AST、符号检索、BM25 和依赖图组织,向量检索作为可降级的增强项。代码变更发生在隔离的 Git worktree 中,Maven 执行受命令策略约束,高风险动作进入人工审批。

需求与验收条件
    ↓
源码索引 → 影响分析 → 变更计划
    ↓
策略判断 → 人工审批 → 隔离执行
    ↓
编译 / 测试 / 静态检查 / 确定性断言
    ↓
验证报告,或在预算内修复重试

Checkpoint、Action Journal 和 Run Lease 保存运行证据与执行所有权,进程中断后可以判断哪些步骤已完成,结果不确定的写操作交由人工复核。设计细节见技术架构和恢复机制。

演示与验证

公开示例是为合成 Banking Demo 添加每日累计转账限额。保存的真实模型运行证据显示,该任务在一次反馈重试后通过 5 项公开断言及独立 Maven 测试。41 秒视频是已完成运行的证据回放;演示方式、代码差异和复核方法见公开演示说明。

后续发布分支还实现了 Web 工作台、源码证据查看和审批恢复。产品演示验收与模型质量分别记录:本地 DeepSeek 的 20 题评测为 9/20,未达到预设的 70% 发布门槛。单个演示成功不代表通用任务成功率。

取舍与学习重点

先采用模块化单体,把精力集中在任务状态、工具边界和可重复评测。模型提供候选动作,策略决定可否执行,独立验证器决定任务是否完成。这种分工也让模型替换、失败分类和恢复行为更容易解释。

主要技术包括 Java 21、Spring Boot、Spring AI、JavaParser、Lucene/BM25、Maven、JUnit、Docker 和 PostgreSQL。这个项目持续追问三个问题:上下文是否有源码依据,动作是否在授权范围内,完成结论是否有可复核证据。