最后更新: 2026-4-15
次查看
字数 12003阅读时长 31 分钟
type
Post
status
Published
date
Apr 14, 2026
slug
java-harness-agent-intent-driven-development-practice
summary
Harness Agent 后端Agent驱动研发流程,核心依托OpenSpec契约先行理念、Harness生命周期状态机、LLM Wiki知识图谱、技能矩阵(25+专业技能)、脚本工具等核心组件,构建完整研发闭环。OpenSpec冻结需求与设计基准,Harness管控研发全阶段流转,LLM Wiki实现知识沉淀与检索,技能矩阵提供专业规范支撑,脚本工具强化确定性校验,全方位解决后端研发规范不统一、知识碎片化等问题,适配各类Java后端研发场景,助力团队高效落地生产级代码。
tags
Java
Agent
AI
category
创作分享
icon
password
musicId
catalog
archives
sort

面向研发的 Agent 驱动工程框架


📖 项目简介

Java Harness Agent 是一套 Agent 驱动流程,架起了自然语言需求与生产级后端代码之间的桥梁。基于意图网关生命周期状态机知识图谱(LLM Wiki)和专业技能矩阵,实现了可持续演进、可断点续传、可自我纠偏、防膨胀的工程闭环。

✨ 核心特性

  • 🎯 意图驱动:自然语言 → 结构化意图队列 → 可执行任务
  • 🔄 生命周期状态机:Explorer → Propose → Review → Approval → Implement → QA → Archive
  • 🧠 知识图谱:分层 Wiki 系统,支持双向导航
  • 🛡️ 自我纠偏:自动守卫钩子、失败恢复、人类介入检查点
  • 📊 契约先行:基于 OpenSpec 的设计优先于实现
  • 🔌 技能矩阵:25+ 专业技能提供领域专家能力
  • 📈 防膨胀机制:自动知识提取与归档,防止信息过载

✨ 核心特性深度解析

Java Harness Agent 的核心竞争力在于其四大核心特性的深度融合,每个特性都针对后端研发的具体痛点设计,形成了相互支撑、协同工作的完整体系。

1. 🎯 意图驱动:让需求落地更精准

意图驱动是Java Harness Agent 的核心设计理念,其核心目标是解决“自然语言需求与技术实现脱节”的问题。传统研发中,产品需求(PRD)往往是自然语言描述,研发人员需要花费大量时间理解需求、拆解需求、转化为技术方案,过程中容易出现需求偏差、理解不一致等问题。
Java Harness Agent 通过“意图网关”组件,将自然语言需求转化为结构化的意图队列,再将意图队列映射为可执行的研发任务,实现了“需求→意图→任务”的标准化转化。具体流程如下:
  1. 用户输入自然语言需求(如“新增一个查询用户信息的接口,支持按用户ID和手机号查询,返回用户基本信息和角色列表”);
  1. 意图网关接收需求后,结合LLM Wiki知识图谱中的上下文信息,对需求进行解析、拆分,提取核心意图(如“新增查询接口”“支持多条件查询”“返回指定字段”);
  1. 将核心意图整理为结构化的意图队列,明确每个意图的优先级、依赖关系和执行标准;
  1. 意图队列作为生命周期引擎的输入,引导研发流程按步骤推进,确保每个意图都能落地为具体的技术实现。
这种意图驱动的模式,不仅减少了需求理解的偏差,还让研发过程更具针对性,避免了“做无用功”,同时也为团队协作提供了统一的需求基准——所有研发人员都围绕同一套意图队列开展工作,确保方向一致。

2. 🔄 生命周期状态机:让研发流程更可控

后端研发是一个复杂的过程,涉及需求分析、方案设计、代码实现、测试验证、归档沉淀等多个环节,传统研发中,这些环节往往缺乏标准化的流转机制,容易出现流程混乱、环节遗漏、责任不清等问题。
Java Harness Agent 引入了“生命周期状态机”组件,将研发过程划分为7个标准化阶段,形成了“Explorer → Propose → Review → Approval → Implement → QA → Archive”的单向流转机制,每个阶段都有明确的目标、产出物和校验标准,确保研发流程可控、可追溯。
每个阶段的详细说明如下:
  • Explorer(探索阶段):澄清需求边界、定义研发范围、识别潜在风险,产出《探索报告》,明确需求的目标、非目标、跨域影响面和异常分支;
  • Propose(设计阶段):基于探索阶段的结论,设计技术方案,冻结API契约、数据模型、业务流程等,产出《OpenSpec契约文档》,作为后续研发的唯一依据;
  • Review(评审阶段):对设计方案进行自动化技术评审,检查是否符合架构标准、API规范、SQL性能要求等,若评审不通过,返回Propose阶段修订;
  • Approval(确认阶段):人类介入检查点,由研发负责人确认设计方案是否可行,冻结契约,授权进入实现阶段,同时为前端、QA等协作方提供契约依据;
  • Implement(实现阶段):按照OpenSpec契约,在规范边界内实现代码,遵循Java工程标准、防御性编程指南,确保代码质量;
  • QA(测试阶段):遵循TDD原则,进行单元测试、回归测试,确保代码功能符合需求,关键路径测试覆盖率达到100%,若测试失败,返回Implement阶段修复;
  • Archive(归档阶段):提取研发过程中的稳定知识,更新LLM Wiki知识图谱,将OpenSpec契约、测试用例等归档,清理临时文件,完成研发闭环。
生命周期状态机的引入,让后端研发从“无序流转”转变为“标准化流转”,每个阶段的产出物都可追溯,每个环节的责任都可明确,有效降低了研发过程中的风险,提升了研发效率。

3. 🧠 知识图谱(LLM Wiki):让知识沉淀更高效

后端研发过程中,会产生大量的知识,包括API规范、数据模型、业务逻辑、架构决策、测试用例等,传统研发中,这些知识往往分散在代码注释、文档、团队成员的经验中,难以复用和传承,导致新人上手慢、老员工离职后知识流失等问题。
Java Harness Agent 构建了基于LLM Wiki的知识图谱,以Sitemap为根节点,形成分层、可导航、可演进的知识体系,实现了知识的集中管理、快速检索和自动沉淀。其核心设计特点如下:
  • 分层结构:知识图谱分为根节点(Sitemap)、规范层(Schema)、活跃知识层(Wiki)和归档层(Archive),层次清晰,便于导航;
  • 双向导航:支持从根节点下钻到具体的知识域(如API、数据模型、领域逻辑),也支持从具体知识反向关联到相关的规范和文档,实现知识的快速检索;
  • 自动沉淀:在Archive阶段,系统会自动从OpenSpec契约、代码实现、测试用例中提取稳定知识,更新到对应的知识域索引中,无需人工手动维护;
  • 防膨胀机制:设置知识索引的容量阈值(如500行),当索引超过阈值时,自动拆分为子目录,避免知识图谱过于庞大,确保检索效率;无法挂载到知识树的内容,优先归档,不污染活跃知识层。
LLM Wiki知识图谱的核心目录结构如下:
  • KNOWLEDGE_GRAPH.md:知识图谱根节点,挂载所有顶级知识域入口,是Agent检索知识的强制起点;
  • Schema/:规范层,包含OpenSpec契约模板、知识图谱结构规范等,确保知识的标准化;
  • Wiki/:活跃知识层,按域隔离,包含API契约、数据模型、领域逻辑、架构决策、测试策略等,是研发过程中常用知识的集中存储区;
  • Archive/:归档层,存储已完成研发任务的OpenSpec契约、临时文档等,保留可追溯性,但不参与日常检索。
通过LLM Wiki知识图谱,团队可以快速共享知识、复用经验,新人可以通过知识图谱快速熟悉项目规范和业务逻辑,老员工可以将经验沉淀为知识,实现知识的可持续传承。

4. 🛡️ 自我纠偏:让研发风险更可控

后端研发过程中,难免会出现代码规范不合规、SQL性能问题、跨域越权、测试失败等问题,传统研发中,这些问题往往需要人工发现和修正,效率低、风险高。Java Harness Agent 引入了完善的自我纠偏机制,通过钩子系统、失败恢复、人类介入检查点等方式,自动识别和修正研发过程中的问题,降低研发风险。
核心自我纠偏机制如下表所示:
机制
触发点
触发条件
产生效果
评判方式
guard_hook(守卫钩子)
实现/改动过程中
代码风格不合规、数据权限越权、跨域污染、过度设计
立即阻断当前操作,提示问题所在,要求重写或获取显式授权
技能矩阵中的规范技能审查、项目规则核对
fail_hook(失败钩子)
任意阶段失败
编译失败、测试失败、评审不通过、契约校验失败
状态降级回退到上一阶段,记录失败原因,触发重试计数
客观日志(编译输出、测试报告、评审结果)
Max Retries(最大重试)
fail_hook 内
同一阶段连续失败达到阈值(默认3次)
强制停止当前任务,请求人类介入排查问题
失败计数达到预设阈值
Approval (HITL)
Review 通过后
需要进入Implement阶段,冻结契约
由人类评审者授权是否进入实现阶段,契约冻结后不可随意修改
人类确认(YES/NO + 修改意见)
Archive 写回
任务结束
新增/变更知识需要沉淀,契约需要归档
提取稳定知识更新到知识图谱,将契约归档,清理临时文件
规则校验、知识图谱连通性检查
Preferences 记忆
Archive 前后
人类评分/反馈有代表性,可作为后续研发的参考
将经验沉淀为偏好/禁忌,下一轮研发的pre_hook生效
人类评分(1-10分)+ 文字反馈原因
这些自我纠偏机制,将“被动纠错”转变为“主动防错”,在研发过程中及时发现和解决问题,避免问题积累到后期,降低了研发成本和风险,同时也减少了人工干预的工作量。

5. 📊 契约先行:让研发协作更高效

Java Harness Agent 坚持“契约先行”的研发理念,将OpenSpec契约作为研发过程的核心依据,贯穿于整个生命周期。OpenSpec契约是一套标准化的文档模板,包含API签名、数据模型、SQL设计、业务流程、验收标准、JSON请求/响应示例等内容,明确了研发的边界和目标。
契约先行的优势主要体现在以下几个方面:
  • 统一研发基准:所有研发人员都围绕同一套契约开展工作,避免了因理解偏差导致的代码不一致;
  • 支持并行协作:在Approval阶段冻结契约后,前端可以基于契约构建UI,QA可以基于契约编写测试用例,后端可以同步实现代码,实现多角色并行协作,提升研发效率;
  • 简化评审流程:评审阶段只需检查代码是否符合契约要求,无需重复确认需求,简化了评审流程;
  • 便于维护和迭代:契约作为研发的“唯一事实来源”,后续需求迭代时,只需修改契约,再基于契约更新代码和文档,确保研发过程的可追溯性。

6. 🔌 技能矩阵:让专业能力更可复用

后端研发涉及多个专业领域,包括API设计、SQL优化、代码规范、测试策略、数据权限等,不同研发人员的专业能力存在差异,容易导致代码质量参差不齐。Java Harness Agent 构建了包含25+专业技能的技能矩阵,将每个专业领域的最佳实践、规范要求、工具用法封装为独立的技能,供研发过程中按需调用。
技能矩阵的核心设计特点:
  • 模块化设计:每个技能独立封装,包含技能说明、使用场景、调用方式、校验标准等内容,便于维护和扩展;
  • 阶段映射:每个生命周期阶段都有对应的推荐技能,确保研发过程中每个环节都能获得专业能力支撑;
  • 标准化规范:技能中包含统一的规范要求,确保研发人员在调用技能时,能够遵循一致的标准;
  • 可扩展性:支持新增自定义技能,满足团队的个性化需求,例如结合企业内部的代码规范、业务特点,新增专属技能。
技能矩阵的分类及核心技能说明将在后续章节详细介绍,通过技能矩阵,研发人员可以快速调用专业能力,降低专业门槛,确保代码质量和研发效率。

7. 📈 防膨胀机制:让知识体系更健康

随着研发任务的增加,知识图谱和文档会不断积累,若不加以控制,容易出现知识膨胀、检索效率降低、冗余信息过多等问题。Java Harness Agent 引入了严格的防膨胀机制,确保知识体系的健康和高效。
核心防膨胀规则如下:
  • 索引拆分规则:任何知识域的索引文件(如API索引、数据模型索引)超过500行时,自动拆分为子目录,每个子目录对应一个细分领域,更新上级索引的挂载点,确保索引的简洁性;
  • 知识筛选规则:只有稳定、可复用的知识才能写入活跃知识层(Wiki),临时文档、一次性需求的契约等,在Archive阶段归档,不进入活跃知识层;
  • 挂载点规则:所有新增知识必须在LLM Wiki的Sitemap树中找到对应的挂载点,无法挂载的知识视为无效知识,优先归档;
  • 定期清理规则:在Archive阶段,自动清理研发过程中的临时文件、冗余文档,确保项目结构清晰。

🏗️ 架构总览

核心组件

组件
职责
位置
意图网关
将自然语言转换为可执行意图队列
上下文漏斗
双向知识检索与写回系统
生命周期引擎
6 阶段状态机,自动流转
钩子系统
前置/后置守卫、失败恢复、循环控制
LLM Wiki
以 sitemap 为根的分层知识图谱
技能矩阵
25+ 领域专业专家能力
脚本工具
确定性质量检查与辅助工具

Java Harness Agent 的架构设计遵循“高内聚、低耦合”的原则,将核心能力拆分为多个独立组件,组件之间通过标准化的接口交互,形成了一套完整的Agent驱动研发体系。
从架构图可以看出,Java Harness Agent 主要包含6个核心组件:意图网关、上下文漏斗、生命周期引擎、钩子系统、LLM Wiki知识图谱、技能矩阵,以及辅助组件脚本工具。每个组件的职责、位置和核心功能如下表所示:
组件
核心职责
位置
核心功能
意图网关(Intent Gateway)
将自然语言需求转换为可执行意图队列
需求解析、意图提取、队列组装、断点续传
上下文漏斗(Context Funnel)
双向知识检索与写回系统
正向检索(从Sitemap下钻)、反向写回(归档提取)、知识挂载
生命周期引擎(Lifecycle Engine)
7阶段状态机,引导研发流程自动流转
阶段管理、任务调度、产出物校验、状态回退
钩子系统(Hooks)
前置/后置守卫、失败恢复、循环控制
规范校验、风险拦截、失败处理、队列消费
LLM Wiki 知识图谱
以sitemap为根的分层知识存储与检索系统
知识存储、快速检索、自动沉淀、防膨胀管理
技能矩阵(Skills)
提供25+专业领域的专家能力支撑
规范引导、专业校验、能力复用、自定义扩展
脚本工具(Scripts)
确定性质量检查与辅助工具
图谱健康检查、契约结构验证、偏好标签检查

核心组件详细解析

1. 意图网关(Intent Gateway)

意图网关是Java Harness Agent 的入口组件,负责接收用户的自然语言需求,将其转化为结构化的意图队列,为后续的研发流程提供明确的目标。其核心设计思路是“先理解需求,再拆解任务”,避免研发过程中的盲目性。
意图网关的核心文件是.agents/router/ROUTER.md,包含意图映射规则、队列组装逻辑、断点续传机制等内容。具体工作流程如下:
  1. 需求输入:用户输入自然语言需求(可以是PRD文档、口头需求、需求工单等);
  1. 上下文检索:通过上下文漏斗,从LLM Wiki知识图谱中检索相关的知识(如相关API规范、数据模型、业务逻辑),辅助需求理解;
  1. 意图提取:对需求进行解析,提取核心意图,例如“新增接口”“修改表结构”“修复Bug”“性能优化”等;
  1. 队列组装:将核心意图按优先级、依赖关系,组装为结构化的意图队列(Launch Spec),每个意图都包含执行目标、依赖条件、产出物要求等;
  1. 持久化存储:将意图队列写入.agents/router/runs/目录,实现断点续传——若研发过程中断,重新启动后可从上次中断的意图继续推进;
  1. 队列提交:将意图队列提交给生命周期引擎,启动研发流程。
意图网关的核心优势是“意图结构化”和“断点续传”,确保需求能够被准确理解和拆分,同时支持研发过程的中断恢复,提升研发的灵活性。

2. 上下文漏斗(Context Funnel)

上下文漏斗是连接意图网关、LLM Wiki知识图谱和生命周期引擎的核心组件,负责实现“正向检索”和“反向写回”的双向知识流转,确保研发过程中的上下文信息准确、完整。
上下文漏斗的核心文件是.agents/router/CONTEXT_FUNNEL.md,定义了知识检索和写回的规则,具体功能如下:
  • 正向检索:当意图网关解析需求、生命周期引擎执行阶段任务时,上下文漏斗会从LLM Wiki的Sitemap根节点开始,按域索引下钻,检索相关的知识(如API规范、数据模型、架构决策),为研发提供上下文支撑;若索引中未找到相关知识,才允许使用兜底关键词搜索,避免“盲搜”导致的效率低下;
  • 反向写回:当研发任务进入Archive阶段时,上下文漏斗会将研发过程中产生的稳定知识(如新增的API、修改的数据模型、优化的SQL),按照Sitemap的挂载规则,写回对应的知识域索引中,实现知识的自动沉淀;
  • 知识校验:在知识写回前,对知识的规范性、完整性进行校验,确保写入知识图谱的知识符合项目规则和规范;
  • 防膨胀控制:在知识写回时,检查目标索引的容量,若超过阈值,触发索引拆分机制,确保知识图谱的健康。
上下文漏斗的核心作用是“打通知识流转通道”,让研发过程中的知识能够快速检索和自动沉淀,避免知识碎片化,提升知识的复用率。

3. 生命周期引擎(Lifecycle Engine)

生命周期引擎是Java Harness Agent 的核心调度组件,负责管理研发流程的7个阶段,引导任务按步骤推进,确保每个阶段的产出物符合要求,实现研发流程的标准化和自动化。
生命周期引擎的核心文件是.agents/workflow/LIFECYCLE.md,定义了每个阶段的目标、产出物、校验标准和流转规则。其核心功能如下:
  • 阶段管理:明确7个阶段的边界和目标,确保研发过程按“Explorer→Propose→Review→Approval→Implement→QA→Archive”的顺序流转,不允许跳过关键阶段;
  • 任务调度:根据意图队列,为每个阶段分配对应的任务,调用相关的技能和工具,确保任务的高效执行;
  • 产出物校验:对每个阶段的产出物进行校验(如探索报告的完整性、OpenSpec契约的规范性、测试用例的覆盖率),若校验不通过,触发fail_hook,回退到上一阶段;
  • 状态回退:当某个阶段失败时,支持状态降级回退,记录失败原因,允许研发人员修正后重新推进;
  • 队列消费:在Archive阶段完成后,通过loop_hook检查意图队列是否全部完成,若未完成,自动启动下一个意图的研发流程,实现多意图的批量处理。
生命周期引擎的核心优势是“流程标准化”和“自动化调度”,减少了人工干预,确保研发流程的一致性和可控性,提升了研发效率。

4. 钩子系统(Hooks)

钩子系统是Java Harness Agent 自我纠偏能力的核心载体,通过在生命周期的关键节点设置钩子函数,实现对研发过程的拦截、校验和修正,确保研发过程符合规范,降低风险。
钩子系统的核心文件是.agents/workflow/HOOKS.md,定义了5种核心钩子类型,每种钩子的触发时机和功能如下:
  • pre_hook(前置钩子):在每个阶段开始前触发,用于装载该阶段所需的规范、技能和偏好设置,为阶段任务的执行提供基准;例如,在Implement阶段开始前,pre_hook会装载Java代码规范、API设计标准等;
  • guard_hook(守卫钩子):在阶段任务执行过程中触发,用于校验任务执行的规范性,拦截违规操作;例如,在Implement阶段,guard_hook会检查代码是否符合Checkstyle规范、是否存在跨域越权等;
  • post_hook(后置钩子):在每个阶段完成后触发,用于同步文档、记录日志、更新状态;例如,在QA阶段完成后,post_hook会记录测试结果,同步更新测试用例文档;
  • fail_hook(失败钩子):在某个阶段失败时触发,用于处理失败场景,包括状态回退、记录失败原因、触发重试计数;例如,测试失败时,fail_hook会将状态回退到Implement阶段,记录测试失败的具体用例和原因;
  • loop_hook(循环钩子):在Archive阶段完成后触发,用于检查意图队列是否全部完成,若未完成,自动启动下一个意图的研发流程,实现多意图的循环处理。
钩子系统的核心作用是“主动防错、自动纠偏”,将项目规则和规范嵌入到研发流程的每个节点,确保研发过程不偏离正轨,降低研发风险。

5. LLM Wiki 知识图谱

LLM Wiki 知识图谱是Java Harness Agent 的知识存储和检索核心,负责集中管理研发过程中的所有知识,实现知识的快速检索、自动沉淀和防膨胀管理。其核心目录结构如下:
各目录的核心功能详细说明:
  • .agents/llm_wiki/KNOWLEDGE_GRAPH.md:知识图谱的根节点,仅挂载顶级知识域(如schema、wiki、archive)的入口,是Agent检索知识的强制起点,确保知识检索的规范性和高效性;
  • purpose.md:定义了Java Harness Agent 的系统哲学、设计原则和核心目标,为研发人员提供统一的理念指引;
  • schema/:规范层,包含OpenSpec契约模板(openspec_schema.md)和规范索引(index.md),确保研发过程中的契约和文档符合标准化要求;
  • wiki/
    • :活跃知识层,按域隔离,存储研发过程中常用的、可复用的知识:
    • api/:存储所有API契约、接口规范、请求/响应示例等;
    • data/:存储数据模型、表结构、SQL规范、索引设计等;
    • domain/:存储领域模型、业务字典、业务逻辑等;
    • architecture/:存储架构决策记录(ADR)、系统架构图、技术选型等;
    • specs/:存储当前活跃的需求契约(未归档的OpenSpec);
    • testing/:存储测试策略、测试用例、测试工具用法等;
    • preferences/:存储研发偏好、禁忌规则、最佳实践等,用于指导后续研发。
  • archive/:冷存储层,存储已完成研发任务的OpenSpec契约、临时文档、废弃规范等,保留可追溯性,但不参与日常检索,避免污染活跃知识层。
LLM Wiki 知识图谱的核心优势是“分层管理、双向导航、自动沉淀、防膨胀”,确保知识的可复用性和检索效率,实现知识的可持续传承。

6. 技能矩阵(Skills)

技能矩阵是Java Harness Agent 的专业能力支撑核心,包含25+专业技能,覆盖意图解析、需求分析、系统设计、代码实现、测试验证、文档归档等后端研发的全流程,为研发过程中的每个环节提供专业的规范和能力支撑。
技能矩阵的核心设计原则是“模块化、标准化、可扩展”,每个技能独立封装在.agents/skills/目录下,入口文件为SKILL.md,包含技能说明、使用场景、调用方式、校验标准等内容。
技能矩阵的分类及核心技能说明如下:

(1)意图与生命周期类技能

这类技能主要用于意图解析和生命周期管理,确保研发流程的顺畅推进:
  • intent-gateway:意图入口能力,协助理解需求并启动“先读图谱再下钻”的工作流,支持意图提取和队列组装;
  • devops-lifecycle-master:生命周期主控编排,强制执行阶段边界,确保研发流程按标准化顺序流转;
  • skill-graph-manager:维护技能知识图谱的双向链接,确保技能之间的关联性和一致性;
  • trae-skill-index:技能总索引,帮助Agent快速发现和调用所需的专业技能。

(2)需求与设计类技能

这类技能主要用于需求分析和系统设计,确保需求理解准确、设计方案合理:
  • product-manager-expert:需求澄清、范围界定、验收标准提炼,帮助研发人员准确理解产品需求;
  • prd-task-splitter:将PRD拆分为结构化开发任务,明确任务依赖关系和执行顺序;
  • devops-requirements-analysis:梳理PDD/SDD边界,输出可执行的需求规格和影响面分析;
  • devops-system-design:系统设计与数据建模,包括表结构、索引、扩展性方案的设计;
  • devops-task-planning:将设计方案拆分为实现任务清单,明确实现顺序和验证点。

(3)实现类技能

这类技能主要用于代码实现,确保代码质量和规范:
  • devops-feature-implementation:按规格实现功能代码,强调TDD原则,确保代码符合规范;
  • devops-bug-fix:缺陷定位、复现、修复与回归,确保Bug修复彻底,不引入新问题;
  • utils-usage-standard:统一工具类/框架用法模式,避免风格碎片化;
  • aliyun-oss:对象存储相关能力规范,包括多桶管理、环境隔离、预签名URL等。

(4)代码标准类技能

这类技能主要用于代码规范校验,确保代码风格、API设计、SQL编写等符合统一标准:
  • global-backend-standards:全局后端标准索引入口,统一工程规范、分层规则和依赖管理;
  • java-engineering-standards:Java工程分层与包结构规范,保证职责边界和可维护性;
  • java-backend-guidelines:Java防御性编程、完整装配、分页等通用编码准则;
  • java-backend-api-standard:API设计模式(动词/路径/响应结构等),避免API演进失控;
  • java-javadoc-standard:统一Javadoc风格与注释规范,保证代码可读性;
  • java-data-permissions:数据权限约束(查询过滤/动作校验),避免越权;
  • mybatis-sql-standard:MyBatis SQL性能与安全守卫,避免隐式转换、JOIN风险等;
  • error-code-standard:统一错误码与异常表达方式,避免前后端割裂;
  • checkstyle:Java代码风格强制(Google/Sun混合规则),确保代码风格一致。

(5)测试与评审类技能

这类技能主要用于代码评审和测试验证,确保代码质量和功能正确性:
  • devops-testing-standard:测试规范与TDD阶段指导,确保测试用例覆盖全面;
  • code-review-checklist:强制评审清单,覆盖安全、性能、规范、可维护性等维度。

(6)文档类技能

这类技能主要用于文档生成和同步,确保文档与代码保持一致:
  • api-documentation-rules:强制API文档生成与归档规则,避免“代码更新但文档缺失”;
  • database-documentation-sync:数据库结构变更时,同步表文档、清单与ER图。
每个生命周期阶段与推荐技能的映射关系如下表所示,确保每个阶段都能获得对应的专业能力支撑:

🚀 快速上手

前置要求

  • Java 17+
  • Python 3.8+(可选脚本)
  • Git

3 分钟入门

第一步:阅读项目规则 ⚡

项目规则 开始 - 这是定义执行纪律的主入口。

第二步:导航知识图谱 🗺️

Sitemap 根节点 开始,下钻到目标域:

第三步:运行第一个完整周期 🔄

按照 生命周期 完成一次任务:

💡 使用场景

场景 A:新增查询接口(不改表)

目标:创建只读端点(DTO/Controller/Service),不涉及表结构变更
关键产出
  • explore_report.md - 范围与影响面分析
  • openspec.md - API 契约含 JSON 示例
  • ✅ 按契约实现的代码(不过度设计)
  • ✅ 单元测试与覆盖率证据
  • ✅ 更新 wiki/api/ 中的 API 索引

场景 B:API + 数据库模式变更

目标:新接口同时新增/调整表结构与索引
关键路径
  1. Propose:同时冻结 API 与 Data 契约
  1. Review:SQL 风险评估、索引利用、隐式转换检查
  1. QA:回归测试覆盖核心查询与边界条件
  1. Archive:同时更新 wiki/api/wiki/data/ 索引
激活技能
  • devops-system-design - 模式建模
  • mybatis-sql-standard - SQL 性能守卫
  • database-documentation-sync - ER 图更新

场景 C:Bug 修复(先复现后测试)

目标:修复缺陷,确保可复现、可回归、可追溯
工作流
  1. Explorer:最小复现路径 + 根因假设
  1. QA:修复前先写失败测试(TDD 方法)
  1. Implement:修复实现使测试通过
  1. Archive:在 wiki/testing/reviews/ 中记录模式

场景 D:性能优化

目标:优化 SQL/性能而不改变外部行为
关注点
  • Propose:文档化"行为不变"约束 + 回退策略
  • Review:SQL 标准与索引利用作为最高优先级
  • QA:对比证据(性能基准 + 正确性)
  • Archive:将可复用性能规则提取到 preferences/

场景 E:重构(含边界守卫)

目标:提升可维护性而不引入需求漂移
守卫措施
  • 明确的"做什么/不做什么"范围定义
  • 跨域修改需要显式授权
  • 架构决策写回到 wiki/architecture/

场景 F:并行协作

目标:后端主导交付,前端/QA 可选并行工作
关键交接点
  • Approval 阶段:冻结的 OpenSpec 成为唯一事实来源
  • 最小交接物:API 契约(JSON 示例)、验收标准(Given/When/Then)、错误码
  • 后端内聚:其他细节保持后端内部(不强制外扩)

📚 生命周期阶段

Phase 1: Explorer 🔍

目的:澄清需求、定义范围、识别风险
技能product-manager-expert, devops-requirements-analysis, prd-task-splitter
产出explore_report.md 包含:
  • 需求边界与非目标
  • 跨域影响面分析
  • 异常分支与边界情况

Phase 2: Propose 📝

目的:设计解决方案并冻结契约
技能devops-system-design, devops-task-planning
产出openspec.md 包含:
  • API 签名与数据模型
  • 数据库模式与索引
  • 业务流程
  • 验收标准
  • JSON 请求/响应示例

Phase 3: Review 🔬

目的:针对标准的自动化技术评审
技能devops-review-and-refactor, global-backend-standards, java-*, mybatis-sql-standard
评审矩阵
  • ✅ 架构与工程标准
  • ✅ API 设计模式
  • ✅ SQL 性能与安全
  • ✅ 安全与数据权限
  • ✅ 错误处理一致性
失败:触发 fail_hook → 返回 Propose

Phase 3.5: Approval (HITL) 👥

目的:实现前的人类检查点
动作:向人类评审者展示 OpenSpec 摘要
问题"设计已通过自动审查。是否进入实现阶段?"
结果
  • → 进入 Implement 阶段(契约冻结)
  • 否 + 反馈 → 返回 Propose 进行修订
并行触发:冻结契约使前端/QA agent 可以开始工作

Phase 4: Implement 💻

目的:在契约边界内实现代码
技能devops-feature-implementation, utils-usage-standard, aliyun-oss
纪律
  • 不超过规范的过度设计
  • 必须通过 Checkstyle 验证
  • 应用防御性编程指南
  • 尊重领域边界(guard_hook

Phase 5: QA Test 🧪

目的:遵循 TDD 原则的质量保证
技能devops-testing-standard, code-review-checklist
要求
  • 关键路径测试覆盖率 ≥ 100%
  • 所有检查清单项必须为绿色
  • Bug 修复的回归测试
  • 优化的性能基准
失败:触发 fail_hook → 返回 Implement

Phase 6: Archive 📦

目的:知识提取与清理
动作
  1. 文档同步:自动触发 API 与 DB 文档更新
  1. 知识提取:将稳定规范合并到域索引
  1. 冷存储:将原始 openspec.md 移至 archive/
  1. 进化:请求人类评分(1-10)用于偏好学习
  1. 循环检查:读取 launch_spec.md → 下一个意图或完成
防膨胀规则
  • 索引文件 > 500 行 → 拆分为子目录
  • 无法挂载的内容 → 归档而非活跃区
  • 所有知识必须在 sitemap 树中有挂载点

🛡️ 自我纠偏机制

机制
触发点
触发条件
产生效果
评判方式
guard_hook
实现/改动过程中
风格不合规、权限/越权、跨域污染
立即阻断、要求重写或授权
规范技能审查、规则核对
fail_hook
任意阶段失败
编译/测试/审查失败
状态降级回退;记录失败原因;触发重试计数
客观日志(编译/测试输出)
Max Retries
fail_hook 内
同一阶段连续失败达到阈值(3次)
强制停止并请求人类介入
失败计数达到阈值
Approval (HITL)
Review 通过后
需要进入 Implement
"冻结契约",由人类授权是否进入实现
人类确认(YES/NO + 修改意见)
Archive 写回
任务结束
新增/变更知识需要沉淀
从 Spec 提取稳定知识、归档热文档、更新索引
规则校验、连通性检查
Preferences 记忆
Archive 前后
人类评分/反馈有代表性
将经验沉淀为偏好/禁忌,下一轮 pre_hook 生效
人类评分 + 文字原因

🔧 技能矩阵

可用技能(25+)

意图与生命周期

  • intent-gateway - 意图入口能力,启动"先读图谱再下钻"工作流

需求与设计

实现

  • aliyun-oss - 对象存储(多桶/环境隔离/预签名 URL)

代码标准

  • checkstyle - Java 代码风格强制(Google/Sun 混合)

测试与评审

文档

阶段 → 技能映射

阶段
推荐技能
Explorer
product-manager-expert, devops-requirements-analysis, prd-task-splitter
Propose
devops-system-design, devops-task-planning
Review
devops-review-and-refactor, global-backend-standards, java-\*/mybatis-sql-standard/error-code-standard
Implement
devops-feature-implementation, devops-bug-fix, utils-usage-standard, aliyun-oss
QA
devops-testing-standard, code-review-checklist
Archive
api-documentation-rules, database-documentation-sync

📂 项目结构


🔍 可选诊断工具

这些脚本提供确定性质量检查(仅报告,不修改文件):

图谱健康检查

检查项:死链、孤立文件、索引长度警告

契约结构验证

检查项:缺失关键段落、JSON 示例存在性

偏好标签检查

检查项:规则标签规范,便于精准检索

🎯 工程红线

🚫 不盲搜

始终从 Sitemap 开始 → 通过索引下钻。仅在索引失败时使用兜底搜索。

🚫 不越权

跨域修改需要在 openspec.md 中明确授权,并在 Review/HITL 阶段确认。

🚫 不暴走

失败回退 + 最大重试阈值(3 次)。达到阈值时停止并请求人类介入。

🚫 不膨胀

  • 规范必须在提取后归档
  • 稳定知识必须提取到索引
  • 超过 500 行的索引必须拆分为子目录

📖 相关文档

  • 🇺🇸 English README: README.md - Complete English version of this README
  • 📌 项目规则AGENTS.md - 主规则入口

🙏 致谢

本框架灵感来源于:
  • OpenSpec:契约优先开发方法论
  • Harness:生命周期状态机与钩子系统
  • LLM Wiki:具有防膨胀机制的可演进知识图谱
  • Agentic Patterns:带人类介入检查点的自主 Agent 工作流

为可持续的智能后端开发而构建 ❤️
 
Keycloak 客户端授权服务优化Netlify,Vercel国内访问速度:基于 enhanced-FaaS-in-China 的多路加速
Loading...
目录
0%
Honesty
Honesty
从浩瀚无垠的知识中看到一缕光
统计
文章数:
126
目录
0%