编辑
2026-05-02
AI
00

目录

实战 - AI 赋能的智能测试与质量保障
一、核心概念
1.1 SDD(Specification-Driven Development)
1.2 TDD(Test-Driven Development)
1.3 Harness Engineering:驭缰工程
二、Harness 的三支柱
2.1 Inform(告知)
2.2 Constrain(约束)
2.3 Verify(验证)
三、核心机制
3.1 记录系统
3.2 AGENTS.md
3.3 Lint 规则
3.4 CI/CD 质量门禁
四、Ralph 实战
4.1 概念
4.2 Ralph 的信条
4.3 Ralph 帽子系统
4.4 实战流程
五、Hermes Agent 实战
5.1 闭环学习机制
5.2 与传统 Agent 的区别
5.3 四个软件开发技能
六、三个概念的区别
七、四个概念的递进关系
八、Prompt 模板
写 Spec
TDD 开发
九、环境配置
Python 包
代码文件

实战 - AI 赋能的智能测试与质量保障


一、核心概念

1.1 SDD(Specification-Driven Development)

规格驱动开发,写规格文档(Spec),让规格 = 一等公民,代码只是规格的可执行表达。

SDD 开发过程

写 Spec 文档 → 从 Spec 提取测试 → 按测试写代码

优势:规格可版本化、可校验、可被 AI 读取

1.2 TDD(Test-Driven Development)

铁律:没有先失败的测试,就没有生产代码。

红-绿-重构循环

阶段做什么验证
RED 红灯写一个最小的失败测试运行测试,看到 FAILED
GREEN 绿灯写最少的代码让测试通过运行测试,看到 PASSED
REFACTOR 重构在测试保持绿灯的前提下优化代码运行测试,仍然 PASSED

核心:在看到一个失败的测试之前,你不能写任何生产代码。这个失败是扳机,确认你正在解决一个真实存在的问题,而不是臆想。

1.3 Harness Engineering:驭缰工程

Agent = Model(模型) + Harness(缰绳)

Harness 是模型之外的一切,即:约束系统、反馈回路、工具环境、验证机制。

人类设计约束 → AI 写代码 → 机器执行(工程师的产出从代码变成了约束系统)

工程演进

年份阶段
2023Prompt Engineering 提示词工程
2025Context Engineering 上下文工程
2026Harness Engineering 驭缰工程

二、Harness 的三支柱

2.1 Inform(告知)

  • AGENTS.md 导航文件、上下文工程
  • 作用:AGENTS.md 项目导航入口

2.2 Constrain(约束)

  • 架构边界、权限控制、自定义 Linter(代码检查器)
  • 示例:linters/check_report_structure.py

2.3 Verify(验证)

  • 自动化测试、类型检查、结构测试
  • 示例:validate_report() + pytest 测试套件

三、核心机制

3.1 记录系统

一切决策、规范、计划都必须以版本化的文件提交到仓库。

Spec 文档(spec/research_spec.md)就是这个记录系统的体现。报告的输出格式、约束条件 C1-C7、API 依赖——全部写在仓库里,而不是在脑子里。

3.2 AGENTS.md

  • 概念:是一份 50~100 行的目录页,告诉 Agent 去哪里找详细信息,而不是把所有信息堆在一起。
  • 作用:渐进式披露——Agent 从小入口开始,按需深入。
  • 要点:AGENTS.md 只有关键路标,不写具体规则(具体规则在 Spec 和 Linter 里)。

3.3 Lint 规则

  • 概念:Lint(或 Linter)是一种静态代码分析工具,在不运行代码的情况下扫描源代码,自动检测潜在错误。
  • 要点:Lint 错误信息里可以嵌入修复指令,文档会腐烂,Lint 规则不会。
  • 类型:自定义结构 Linter = 代码层面的校验 + 项目级的结构检查器

3.4 CI/CD 质量门禁

门禁内容
第一道门结构 Lint 检查
第二道门单元测试
第三道门集成测试

四、Ralph 实战

4.1 概念

Ralph = 一个 Bash 脚本编排器,反复启动 AI Agent,每次迭代清空上下文,让 Agent 在循环中自主完成任务。

人类唯一要做的就是写一份 PROMPT.md(任务描述文件),然后坐等结果。

4.2 Ralph 的信条

信条原文含义
信条1Fresh Context Is Reliability新鲜的上下文就是可靠性
信条2Backpressure Over Prescription用背压代替处方
信条3The Plan Is Disposable计划是用完即弃的
信条4Disk Is State, Git Is Memory磁盘是状态,Git 是记忆
信条5Steer With Signals, Not Scripts用信号引导,不用脚本控制
信条6Let Ralph Ralph让 Ralph 做 Ralph 的事

4.3 Ralph 帽子系统

每轮迭代只让 Agent 戴一顶帽子,专注做一件事:

Planner 规划者(拆解任务) → Builder 构建者(写测试+写代码) → Critic 审查者(独立验证) → Finalizer 终结者(确认完成)

4.4 实战流程

迭代角色任务
迭代1Planner 规划者读取 PROMPT.md,拆解任务为具体步骤,把计划写入 scratchpad.md(便签本),然后交给下一轮
迭代2Builder 构建者 [TDD]严格遵循 TDD
迭代3Critic 审查者独立重跑 pytest
迭代4Finalizer 终结者确认所有 PROMPT.md 中的需求都已满足,输出 LOOP_COMPLETE 信号,循环终止

五、Hermes Agent 实战

5.1 闭环学习机制

接到任务 → 加载相关 Skill → 执行任务 → 自动创建新 Skill → 持久化记忆

5.2 与传统 Agent 的区别

特性说明
自主创建技能处理完复杂任务后,自动生成可复用的 Skill 文件
技能自我改进每次使用 Skill 时,如果发现可以优化的地方,自动更新 Skill 内容
持久化记忆SQLite 数据库存储对话历史和研究成果,支持语义搜索,跨会话调用

5.3 四个软件开发技能

技能对应支柱说明
test-driven-developmentTDD任务遵循 TDD
writing-plansInform任务开始前生成一份详细的实现计划
systematic-debuggingVerify强制执行四阶段流程:先找根因,再动手修
subagent-driven-development编排循环每个步骤分配独立子 Agent,干净上下文,双阶段审查

六、三个概念的区别

概念定位说明
Harness Engineering方法论(道)告诉你该怎么设计约束系统
Ralph编排器(骨架)让 Agent 在循环中自主工作
Hermes Agent完整产品(器)集编排、学习、记忆、多平台于一体

七、四个概念的递进关系

概念定位对应产物
SDD 规格驱动什么是对的spec/research_spec.md
TDD 测试驱动证明它是对的tests/test_reporter.py
Harness 驭缰工程保证它一直对AGENTS.md + linters/
Agent 编排AI 自己做对Ralph / Hermes
维度Harness EngineeringRalphHermes AgentStock Research
告知层 InformAGENTS.mdPROMPT.mdSkills 技能系统AGENTS.md + Spec
约束层 Constrain自定义 Linter帽子系统(角色隔离)工具白名单check_report_structure.py
验证层 Verify自动化测试Critic 独立审查约 3000 个测试85 个测试 + CI/CD
学习能力----自动创建/改进 Skill--

八、Prompt 模板

写 Spec

我想撰写一个软件SPEC,需求是: 输入一个股票代码(如 "600519"),自动从多个维度联网搜索信息, 通过 Qwen 大模型进行分析,生成结构化深度研究报告。 使用到 akshare 方便后续进行测试和代码生成,给我SPEC即可

TDD 开发

Step1,撰写一个SPEC Step2,撰写测试用例 这里有C1-C7的约束,帮我先撰写测试代码(我打算用TDD的模式驱动开发,先不用开发) 测试代码放到 tests文件夹中,到时候实际代码会放到 src文件夹中 Step3,运行测试用例 运行测试用例,使用TDD 红-绿-重构循环 Step4,@research_spec.md 基于这个SPEC文档完成完整的项目,这里会用到 akshare 和 qwen大模型(可以使用环境变量中的 DASHSCOPE_API_KEY)

九、环境配置

Python 包

  • pytest

代码文件

文件说明
stock-research/spec/research_spec.mdSpec 文档
stock-research/AGENTS.mdHarness 路标 AGENTS.md
stock-research/ralph_demo.pyMini Ralph
Ralph 官方库Ralph 官方仓库
Hermes Agent 官方库Hermes Agent 官方仓库

本文作者:NewBoy

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!