一篇文章讲清楚 AI Agent:从 Token、RAG、Skill 到 MCP、SDD 和 Harness 工程

简介: 本文直击测试开发落地AI Agent的痛点:Demo炫酷却难进真实工程。从Token成本、RAG知识接入、Memory记忆管理到Skill能力封装、ReAct执行闭环、MCP工具连接、SDD规格驱动及Harness可控环境,系统拆解Agent工程化关键链路,助测试开发者跨越“能回答”迈向“可交付”的可靠任务闭环。

很多测试开发同学现在都在学 AI Agent。

一开始看 Demo,感觉确实很厉害:

能查资料,能写代码,能生成测试用例,能调用工具,甚至还能自动分析日志。

但真放到企业项目里,问题很快就来了。

需求文档很长,Agent 到底该看哪一段? 接口文档经常变,它怎么保证不乱猜? 生成的用例看起来很完整,实际能不能跑? 自动调用工具时,权限边界怎么控制? 它写错代码、误改逻辑、生成错误报告,谁来兜底? Token 消耗越来越高,怎么避免越用越贵?

这也是很多 Agent 项目卡住的原因。

不是 Demo 做不出来,而是 Demo 很难稳定进入真实工程流程。

对测试开发来说,理解 Agent 不能只看“它会不会回答问题”,更要看它能不能完成一条可靠的任务闭环。

比如:

从需求里识别测试点, 从接口文档里生成用例, 调用自动化框架执行, 根据执行结果分析失败原因, 最后输出可追踪、可验证的报告。

这才是测试开发真正关心的 Agent。

所以这篇文章不会一上来堆概念,而是从测试开发的工作场景出发,把 Agent 背后的工程逻辑拆开讲清楚。

阅读目录
一、先看清楚:Agent 和普通大模型有什么区别
二、Token:为什么 Agent 用着用着就变贵、变慢、变不稳
三、RAG:为什么企业 Agent 不能只靠模型自己回答
四、Memory:Agent 如何记住当前任务和历史经验
五、Skill:把测试经验封装成可复用能力
六、ReAct:让 Agent 边想、边做、边验证
七、MCP:让 Agent 更标准地连接外部工具
八、SDD:先写清规格,再让 AI 干活
九、Harness 工程:给 Agent 搭一个可控的工作环境
十、把这些概念串起来:Agent 的完整工程链路
十一、测试开发同学应该怎么切入 Agent
十二、最后:Agent 工程能力的延伸
一、先看清楚:Agent 和普通大模型有什么区别
普通大模型更像“问一句,答一句”。

你问它一个问题,它生成一段回答。

但 Agent 不只是回答问题,它更像一个可以围绕目标持续推进的任务执行单元。

它会理解目标,拆解任务,获取上下文,调用工具,观察结果,再继续修正下一步。

先用一张图看懂 Agent 的基本工作方式。

84930788-ae9c-4f84-8aa9-c0e475433b65.png

这个闭环非常关键。

因为测试开发工作本身也是闭环型工作:

需求分析、测试设计、自动化执行、结果校验、缺陷定位、报告输出。

所以测试开发场景天然适合 Agent 化。

举个例子。

如果你让普通大模型生成接口测试用例,它可能直接给你一批文本。

但如果是一个真正的测试 Agent,它应该可以这样工作:

8a184785-eadf-4bff-8c15-253a5b26c8dc.png

这就从“生成内容”变成了“执行任务”。

Agent 对测试开发的价值,不是替你写几行代码,而是把多个测试动作串成一条可执行的工程链路。

二、Token:为什么 Agent 用着用着就变贵、变慢、变不稳
很多人刚开始用大模型时,对 Token 没什么感觉。

但只要开始做 Agent,就一定会遇到 Token 问题。

Token 可以理解为大模型处理文本时的最小计算单位。

大模型不是直接理解中文、英文和代码,而是先把文本切成 Token,再映射成数字,然后进行计算。

3217fb6a-dbfa-4489-a17c-230259d0aa31.png

Token 对 Agent 的影响主要有三个。

  1. 影响成本
    输入越长,输出越多,Token 消耗越高。

Agent 如果每次都把需求文档、接口文档、历史日志、代码片段全部塞给模型,成本很快就会上去。

  1. 影响上下文
    模型一次能处理的上下文是有限的。

如果资料太多,模型只能看到其中一部分。

这就会导致一个问题: 它看起来在回答完整问题,实际上只基于部分信息在判断。

  1. 影响稳定性
    Agent 是多轮执行的。

它会不断积累用户目标、任务步骤、工具返回结果、历史对话和中间分析。

如果不做上下文管理,Agent 很容易越跑越长、越跑越贵、越跑越偏。

所以,做 Agent 不能简单粗暴地把所有资料都塞进去。

更合理的方式应该是这样:

d1e27309-16ae-4419-9519-a1ee64ed0c42.png

对测试开发来说,Token 管理不是一个底层细节,而是 Agent 能不能稳定落地的基础。

如果上下文控制不好,后面的 RAG、工具调用、报告生成都会受到影响。

三、RAG:为什么企业 Agent 不能只靠模型自己回答
测试开发场景有一个特点:

很多关键知识都不在大模型里面,而在企业自己的系统里。

比如:

需求文档
接口文档
测试用例库
缺陷记录
日志规范
数据字典
测试平台说明
历史事故复盘
团队自动化框架约定
如果 Agent 不接这些资料,只靠模型自己回答,就很容易出现“看起来合理,实际上不准确”的问题。

这时候就需要 RAG。

RAG 的作用很简单:

在大模型回答之前,先去查资料,再结合资料生成回答。

dea4dff2-13bc-4596-acd7-ecf49cb158be.png

这就像让模型从闭卷考试变成开卷考试。

对测试开发来说,RAG 可以用在很多场景。

测试资产
Agent 可以做什么
需求文档
生成测试点、识别风险
接口文档
生成接口用例和断言
测试用例库
复用历史测试设计
缺陷记录
分析高频问题和回归重点
日志规范
辅助定位问题
数据字典
理解字段含义
测试平台文档
指导 Agent 调用平台能力
但 RAG 不是把文档扔进向量库就完事。

真正落地时,必须考虑:

435855cc-eee9-4afc-a6b2-3e2571fa742d.png

这里面任何一个环节没做好,RAG 都可能变成“看似接了知识库,实际回答还是靠猜”。

所以企业 Agent 想要靠谱,RAG 是绕不过去的一步。

四、Memory:Agent 如何记住当前任务和历史经验
Agent 要完成复杂任务,就不能每一步都像第一次执行一样。

它需要记住当前任务的状态,也需要在合适的时候复用历史经验。

所以 Agent 的记忆通常可以分成两类:

短期记忆和长期记忆。

6efbbd53-c0d9-4cb9-8aca-3f95a081ad11.png

短期记忆主要服务当前任务。

比如用户刚才说了什么,当前执行到哪一步,工具返回了什么结果,下一步应该怎么做。

长期记忆主要服务跨任务复用。

比如某个项目的接口命名习惯,某个团队的自动化框架规范,某类报错的排查路径,某种测试报告的输出格式。

对测试开发来说,长期记忆很适合沉淀这些内容:

项目常见缺陷模式
接口自动化框架约定
页面元素定位规则
测试报告输出格式
常见环境问题排查路径
历史线上事故复盘经验
团队常用测试设计模板
不过,记忆不是越多越好。

错误经验会污染后续判断。 过期规则会导致 Agent 误判。 敏感信息不能随意写入长期记忆。 不同项目之间的经验也不能随便串用。

所以企业级 Agent 的记忆系统,一定要有更新、过期、权限和审计机制。

五、Skill:把测试经验封装成可复用能力
很多测试开发团队的问题不是没有经验,而是经验太分散。

有些在老员工脑子里。 有些在项目文档里。 有些在自动化脚本里。 有些在测试平台说明里。 有些在一次次踩坑里。

如果这些经验不能被结构化沉淀,Agent 每次做任务都要重新理解。

这时候就需要 Skill。

Skill 可以理解为面向大模型的能力封装。

它不是简单的一段 Prompt,而是一组结构化资料、流程、模板和工具。

54f74499-4ae1-4021-a450-c76fbff168ea.png

比如一个接口测试 Skill,可以包含:

71c108d9-9031-4c6e-9191-2babaccef7bc.png

这样 Agent 在生成接口用例时,就不是随便发挥,而是按照团队规范执行。

Skill 的价值不是让模型凭空变聪明,而是把团队经验变成可复用资产。

测试开发团队非常适合做 Skill。

因为测试工作里有大量流程化、模板化、规范化的经验,比如:

需求评审 Skill
接口测试 Skill
Web 自动化 Skill
App 自动化 Skill
性能分析 Skill
日志分析 Skill
缺陷定位 Skill
测试报告 Skill
代码评审 Skill
测试平台操作 Skill
未来一个成熟的测试 Agent,不应该只是接一个大模型,而应该沉淀一组团队自己的测试 Skill。

六、ReAct:让 Agent 边想、边做、边验证
Agent 不是一次性生成答案就结束。

很多任务需要边执行边观察结果,再决定下一步。

这就是 ReAct 的价值。

ReAct 是 Reason 和 Act 的组合。

Reason 是推理。 Act 是行动。

它描述的是 Agent 的一种典型工作方式:

先分析当前信息是否足够, 如果不够,就调用工具, 拿到结果后继续判断, 再决定下一步动作。

001f0cc0-6b6f-45d8-8661-f6d5e4cbb602.png

这个模式和测试开发排查问题很像。

比如接口自动化失败后,测试开发通常不会直接下结论,而是会一步步排查。

cb55215b-9b0e-46f5-8779-a796e183c9e2.png

Agent 也是类似逻辑。

它不能只靠一次回答完成复杂任务,而是要不断观察结果,再决定下一步。

不过 ReAct 也必须有边界。

否则 Agent 可能会陷入无效循环:

反复调用同一个工具, 反复分析同一段日志, 反复生成没有依据的猜测。

所以工程上需要控制:

最多执行多少轮
哪些工具可以调用
工具失败后怎么降级
什么时候停止
什么时候交给人工处理
高风险操作是否需要确认
Agent 越自主,越需要边界。

七、MCP:让 Agent 更标准地连接外部工具
一个 Agent 如果不能连接外部系统,它的能力会非常有限。

测试开发场景里,Agent 往往需要连接很多工具:

需求系统、接口文档、数据库、日志平台、Git 仓库、CI/CD、自动化框架、缺陷管理系统。

过去如果要接这些工具,通常需要每个工具单独适配。

这会带来几个问题:

接入成本高。 协议不统一。 上下文格式不统一。 权限控制难统一。 不同 AI 应用之间复用困难。

MCP 的价值,就是让 AI 应用用一种更标准的方式连接外部工具和数据源。

80975818-b8d2-477b-8e6e-d1c63599d52c.png

对测试开发来说,MCP 很有想象空间。

未来一个测试 Agent 可以这样工作:

c7fa3946-2f75-4c47-aaeb-6f1e67293194.png

这意味着 Agent 不只是“知道怎么说”,还能知道:

去哪查资料, 调用什么工具, 拿什么结果回来, 下一步怎么处理。

这是 Agent 从 Demo 走向工程系统的关键一步。

八、SDD:先写清规格,再让 AI 干活
很多人用 AI 写代码时,容易犯一个错误:

直接给一句模糊需求,然后期待 AI 自动理解所有上下文。

比如:

帮我优化一下测试报告功能。

这句话对 AI 来说太宽泛。

它不知道你要优化哪里。 不知道哪些逻辑不能动。 不知道旧数据要不要兼容。 不知道接口返回能不能改。 不知道验收标准是什么。

这时候就需要 SDD。

SDD 是 Spec-Driven Development,中文可以叫规格驱动开发。

它强调在正式开发之前,先把目标、范围、约束、行为和验收标准写清楚,再让 AI 按规格执行。

e1067c24-55a9-4ff9-b460-b6666f288d4a.png

比如同样是优化测试报告,更好的规格应该这样写:

规格项
示例
目标
增加失败用例聚合分析
范围
只改报告展示层,不修改执行逻辑
数据
使用现有执行结果表
兼容性
旧报告链接仍可访问
异常处理
无失败用例时展示空状态
验收标准
本地测试通过,报告字段完整
SDD 对测试开发非常重要。

因为测试开发同学未来不只是写脚本,还要会给 AI 写清楚规格。

适合使用 SDD 的场景包括:

测试方案设计
自动化用例生成
测试平台功能改造
Agent 工作流设计
AI 生成代码的验收约束
测试工具重构
谁能把需求讲清楚,谁就更能驾驭 AI。

九、Harness 工程:给 Agent 搭一个可控的工作环境
Agent 一旦进入真实工程系统,就不只是生成文本了。

它可能读取文件。 可能查询数据库。 可能调用接口。 可能修改代码。 可能触发流水线。 可能创建缺陷。 可能生成报告。

这时候,只靠 Prompt 是不够的。

我们需要给 Agent 搭一个可靠、可控、可观测的工作环境。

这就是 Harness 工程。

603f5cde-17dc-4185-8366-d2d2a505e382.png

Harness 工程要解决的问题非常现实。

问题
工程要求
它能访问哪些数据
权限控制
它能调用哪些工具
工具白名单
它能不能写入系统
操作分级
它执行失败怎么办
异常处理
它修改代码后怎么验证
自动化测试
它每一步是否可追踪
日志观测
它的成本是否可控
Token 和费用监控
这些事情,测试开发同学其实并不陌生。

我们做自动化测试平台、质量平台、性能平台时,也要考虑环境、权限、日志、报告、监控、回滚和稳定性。

Agent 工程并没有脱离传统工程规律。

它只是把大模型放进了工程系统里,所以对工程治理提出了更高要求。

十、把这些概念串起来:Agent 的完整工程链路
前面讲了很多概念。

但这些概念不是孤立存在的。

真正的 Agent 落地,需要把它们串成一条完整链路。

eb0e8851-adf1-4d93-85b4-c475bce0e8c9.png

这张图说明了一件事:

Agent 不是单点能力,而是一套工程组合。

只会写 Prompt,做不出稳定 Agent。 只接知识库,也做不出稳定 Agent。 只会调用工具,还是做不出稳定 Agent。

真正能落地的 Agent,一定要同时考虑:

上下文
知识
工具
权限
验证
日志
成本
反馈闭环
这也是测试开发同学应该重点关注的地方。

我们不是只看 AI 能不能生成内容,而是要看它能不能进入工程流程,并且稳定、可控、可验证地完成任务。

十一、测试开发同学应该怎么切入 Agent
对测试开发来说,Agent 不是一个遥远概念。

它已经开始影响很多具体工作。

未来很多测试任务都会从“人手工写脚本”,变成“人定义目标和规则,Agent 执行并反馈”。

ed3adf38-b7b3-4e2e-bfc9-c009ed48461b.png

测试开发同学可以从几个方向切入。

  1. 从 RAG 切入
    先把需求文档、接口文档、测试用例、缺陷记录接入知识库。

让 Agent 能基于真实资料回答,而不是凭空猜。

  1. 从 Skill 切入
    把团队已有的测试经验整理成 Skill。

比如接口测试规范、自动化脚本模板、日志分析流程、测试报告模板。

  1. 从工具调用切入
    让 Agent 能调用真实工具。

比如接口测试框架、浏览器自动化、日志查询、CI/CD、缺陷系统。

  1. 从 SDD 切入
    把模糊需求变成清晰规格。

让 AI 按照明确目标、范围、约束和验收标准执行。

  1. 从 Harness 切入
    建立权限、日志、沙箱、验证和人工审核机制。

让 Agent 不只是能跑,还要能控、能查、能回滚。

测试开发同学不能只停留在“会用 AI 工具”。

更重要的是理解 Agent 背后的工程结构。

你要知道:

什么时候该用 RAG
什么时候该封装 Skill
什么时候需要 MCP 接工具
什么时候必须加人工审核
什么时候要做沙箱验证
什么时候要写 SDD 规格
什么时候不能让 Agent 自动执行
普通用户关心 AI 能不能给答案。

测试开发更应该关心:

这个答案有没有依据
能不能验证
能不能复用
能不能接入工具
能不能稳定跑在工程系统里
这才是测试开发和普通使用者的差别。

十二、最后:Agent工程能力的延伸
很多人刚接触 Agent,会被各种名词吓到。

Token、RAG、Skill、MCP、Memory、ReAct、SDD、Harness……

但换成测试开发熟悉的语言,其实可以这样理解:

概念
测试开发视角
Token
成本和上下文边界
RAG
让 Agent 查资料
Memory
记住任务上下文和历史经验
Skill
封装团队测试能力
ReAct
边执行边观察结果
MCP
标准化连接工具和系统
SDD
先写清规格再让 AI 干活
Harness
给 Agent 搭可控工程环境
验证机制
保证结果可信
Agent 最终拼的不是一个炫酷 Demo,而是能不能在真实业务里稳定工作。

对测试开发来说,这反而是机会。

因为我们本来就懂流程、懂质量、懂自动化、懂验证、懂工程闭环。

AI Agent 时代,测试开发不只是工具使用者,也可以成为 Agent 工程落地的重要建设者。

真正的分水岭,不是会不会问 AI。

而是你能不能把 AI 放进真实工程流程里,让它稳定、可控、可验证地完成任务。

这个版本的开头会更有“读者痛点”,但不会过早把核心概念都解释完,读者会更愿意往下看。

相关文章
|
14天前
|
人工智能 自然语言处理 文字识别
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
Qwen3.7-Max是阿里云百炼面向智能体时代推出的新一代旗舰模型,对标GPT-5.5、Claude Opus 4.7等闭源旗舰。该模型支持百万级token上下文窗口,具备顶级推理能力、多模态搜索与视觉理解增强、流式输出低延迟响应等核心优势,覆盖编程、办公、长周期自主执行等复杂场景。同时支持OpenAI接口兼容,便于系统快速迁移。用户可通过Token Plan团队或节省计划等订阅方式灵活调用,适合企业级高要求场景使用。
5516 28
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
|
9天前
|
存储 定位技术 数据库
CodeGraph 如何让 Claude Code减少 7 成工具调用?
CodeGraph 为 Coding Agent 提供本地代码知识图谱,把函数、类、调用链和框架路由提前整理成“项目地图”,减少盲目搜索和文件读取。它不是新 Agent,而是上下文基础设施,让 Agent 更快找到正确代码路径,平均减少 7 成工具调用。
1126 1
|
6天前
|
人工智能 安全 定位技术
CodeGraph深度解析 让Claude Code工具调用直降七成的核心原理与实操教程
如今以Claude Code为代表的AI编程智能体已经成为开发者日常编码、项目重构、漏洞修复的必备工具。但在长期使用过程中,几乎所有开发者都会遇到同一个明显痛点:AI虽然具备强大的代码生成与分析能力,却常常陷入盲目探索的循环中。
848 1
|
16天前
|
人工智能 自然语言处理 供应链
|
22天前
|
人工智能 开发工具 iOS开发
Claude Code 新手完全上手指南:安装、国产模型配置与常用命令全解
Claude Code 是一款运行在终端环境中的 AI 编程助手,能够直接在命令行中完成代码生成、项目分析、文件修改、命令执行、Git 管理等开发全流程工作。它最大的特点是**任务驱动、终端原生、轻量高效、多模型兼容**,无需图形界面、不依赖 IDE 插件,能够深度融入开发者日常工作流。
3800 15
|
18天前
|
人工智能 Linux BI
国内用 Claude Code 终于不用翻墙了:一行命令搞定,自动接 DeepSeek
JeecgBoot AI专题研究 一键脚本:Claude Code + JeecgBoot Skills + DeepSeek 全平台接入 一行命令装好 Claude Code + JeecgBoot Skills + DeepSeek 接入,无需翻墙使用 Claude Code,支持 Wind
3484 10
国内用 Claude Code 终于不用翻墙了:一行命令搞定,自动接 DeepSeek