引言:从入门到进阶的挑战
大家好,在上一期的分享中,我们带领大家使用 DeepSeek Harness(一个智能体开发框架)搭建了一个基于本地Harness的智能体,并学习了一些基础的优化技巧:
让AI帮我们生成更精准的提示词(Prompt)。
引导AI增加中间推理过程(CoT,思维链)。
让AI能并行调度子智能体,进行更细粒度的任务拆分。
通过这些技巧,我们最终获得了一个能够生成不错测试用例的智能体。但是,它有一个明显的局限:它的“大脑”只能基于我们单次喂给它的PDF文档进行分析。当我们的项目文档变得庞大、复杂且数量众多时,这种简单的方式就显得力不从心了。
今天,我们将正式进入进阶篇,核心解决两个问题:
如何构建一个庞大的、可持续更新的业务知识库?
如何将知识库与更可控的工作流(Workflow)结合,生成工业级、高覆盖率的测试用例?
图片
第一部分:升级你的知识库——告别简单的“文件读取”
在上次的练习中,我们使用了一个简单的pdf_to_text技能,每次都临时读取整个PDF文件。这种方式有几个致命伤:
上下文窗口限制:大模型的上下文长度是有限的,一次塞入整个大型文档会导致信息丢失。
无法持续积累:每次都是临时“阅读”,没有形成积累,无法跨文档关联知识。
检索效率低:难以针对特定功能模块(如“打卡管理”)快速精准地找到相关描述。
为了升级,我们需要引入知识库(Knowledge Base) 的概念。知识库的本质是:将非结构化的原始文档,转化为结构化的、易于检索的“外部大脑”。行业内有几种经典的技术路径:
基于向量的检索(Vector RAG):
代表产品:Dify 知识库。
原理:将文档切分成段落,通过嵌入(Embedding)模型计算出每个段落的向量(即数学意义上的“语义指纹”),存入向量数据库。查询时,将问题也转化为向量,检索出语义最相关的几个段落。
优势:语义检索能力强,能理解“考勤机如何用”和“打卡设备操作”是同一种意思。
基于知识图谱的检索(Graph RAG):
代表产品:LightRAG。
原理:利用大模型分析文档的每个段落,抽取出其中的实体(如“智能考勤机”、“HR”、“审批流程”)和它们之间的关系,构建成一个庞大的知识网络(图谱)。
优势:不仅能找到相关段落,更能理解业务之间的关联关系。例如,查询“考勤机”时,能关联返回“行政人员”、“WiFi打卡”和“管理后台”等相关实体,上下文理解更精准。
本地Markdown知识库(简单方案):
代表工具:milkdown 等本地知识管理工具。
适用场景:个人或小团队本地快速验证。
原理:通过一个自动化脚本,将/docs目录下的PDF、Word等文档,统一解析并转换为结构化的Markdown文件,形成一个轻量级的本地Wiki。
小结:无论哪种方案,其核心流程都是 “文档加载 -> 数据清洗/拆分 -> 存储(向量/图谱/Markdown) -> 检索” 。理解了这个底层逻辑,你就掌握了知识库的钥匙。
第二部分:工作流(Workflow)——让流程从“混沌”走向“可控”
当我们只依赖单智能体(Agent)时,所有的流程控制都靠自然语言描述(Prompt)。这在流程简单时是可行的,但当流程包含并行、分支、循环和多轮检索时,Prompt会变得极其复杂且不稳定。
这时,我们需要引入工作流(Workflow) 。它和智能体的关系可以这样理解:
智能体(Agent):是一种特殊的、由大模型自主决策下一步行动的工作流(Agent Loop)。
工作流(Workflow):是一种由人来预定义好每一步做什么、顺序如何、条件分支如何的“确定性”流程。
在AI测试用例生成场景中,使用工作流的优势巨大。一个典型的高质量用例生成工作流包含以下步骤:
步骤 1:多路知识检索(Multi-path RAG)用户输入需求(例如:“请为V2.0版本的‘打卡管理’功能生成测试用例”),工作流的第一步并不是把整个需求文档喂给AI,而是并发去多个知识库中检索:
从向量库中检索“打卡管理”相关的语义段落。
从知识图谱中检索“打卡管理”涉及的实体和关联关系。
从本地Markdown库中检索相关章节。
步骤 2:上下文聚合与功能点拆分将多路检索到的所有上下文汇总后,交给第一个大模型节点。这个节点的任务是:不要生成用例,而是基于上下文,拆分出本次需要测试的所有功能点(Feature List)。这个步骤非常关键,它能确保我们不会遗漏任何功能。
步骤 3:测试场景与测试点生成遍历上一步生成的每一个功能点,将其作为一个独立任务,结合该功能点专属的上下文,交给下一个模型节点。这个节点的任务是生成该功能点下的测试场景(Scenario) 和测试点(Test Point)。
步骤 4:详细测试用例生成针对每一个测试点,再次结合最细粒度的上下文,让AI生成最终的、包含详细步骤和预期结果的测试用例(Test Case)。
可视化流程:[用户输入] -> [多路知识检索] -> [功能点拆分] -> [测试场景/点生成] -> [详细用例生成] -> [输出]
通过工作流,我们将一个复杂的、混沌的任务,拆解成了一个个职责清晰、输入输出明确的“流水线工序”。现在主流的AI应用开发平台(如Dify)都提供了可视化的Workflow编排功能。
第三部分:实践指南——从入门到落地
对于新手,建议按以下路径实践:
- 入门级方案(工具:Dify)
在Dify中创建一个知识库,上传你的业务文档(PDF/Word/TXT)。
使用Dify的可视化工作流编排功能,按照上文“第二部分”的逻辑,拖拽出知识库检索、LLM、代码执行等节点,将流程串起来。
优点:上手快,可视化程度高,适合流程初探。
- 进阶级方案(工具:DeepSeek Harness + 脚本)
当流程极其复杂,图形化拖拽变得低效时,可以考虑使用 DeepSeek Harness 这类框架。
它允许你用JavaScript/TypeScript编写工作流脚本。甚至可以让AI帮你“蒸馏”出一份工作流代码。
优点:版本控制(Git)、调试方便、扩展性强,适合专业团队。