第4章 智能体开发Step1 & 2:为“评论甄别”定规矩、建题库

本章你将学到

  • 用Claude Code将模糊需求转化为结构化的评测规范文档
  • 用AI批量生成测试数据集,并人工构建黄金标准(GT)
  • 检查数据集质量的实用技巧

本章你将产出:一份完整的《评论有效性评测规范》文档,以及一个包含50条评论和黄金标准标签的测试数据集
全部章节:收录在专栏《AI应用工程化实战教程》


在第2章,我们学习了Harness工程的核心思想——规范即基准。在第3章,我们搭建好了开发环境。从本章开始,我们正式进入实战。

还记得第1章结尾的困境吗?Prompt越改越乱,因为你没有一份白纸黑字写清楚的规范,也没有一套标准化的测试集。本章要做的,就是补上这两个缺失的基础设施。


4.1 规范先行:定义什么是“好评论”

4.1.1 从模糊需求到可执行规范

在第1章,我们的需求描述只有一句话:“判断用户评论是否有效。”

这句话有很多模糊地带。什么是“有效”?“具体信息”怎么定义?“情绪化”一定无效吗?

规范的任务,就是把这些模糊地带全部消除。一份好的规范,能让两个独立的人(或AI),面对同一条评论,做出相同的判断。

4.1.2 定义核心评测维度

基于评论甄别这个任务的特点,我们定义了四个评测维度:

维度 含义 权重 通过标准
具体性 是否包含与商品/服务直接相关的具体细节 40% 至少包含1个以上具体细节(菜品名、口味、价格、分量、环境等)
可验证性 描述是否可被他人独立验证 25% 包含可观察、可测量的客观信息
相关性 评论主体是否针对商品/服务本身 25% 商品相关内容的占比超过50%
信息密度 是否提供了足够的有效信息量 10% 有效信息字数占总字数的30%以上

这四个维度共同回答一个问题:这条评论对其他人做决策有没有参考价值?

4.1.3 用Claude Code生成完整规范文档

现在,我们用Claude Code来生成一份完整的规范文档。

打开终端,进入项目文件夹,启动Claude Code:

cd comment-analyzer
claude

输入以下指令:

你是AI工程化开发专家。我正在开发一个“评论有效性甄别智能体”,它的任务是判断用户评论是否真实有效、具有参考价值。

请帮我生成一份完整的《评论有效性评测规范》文档,保存为 spec_review_validity.md。

文档需要包含以下内容:

1. 智能体角色定义
2. 输入规范(格式、约束)
3. 输出规范(JSON结构及每个字段的含义,给出正确输出示例)
4. 四个评测维度(具体性40%、可验证性25%、相关性25%、信息密度10%),每个维度必须有:
   - 明确的通过标准
   - 明确的不通过标准
   - 至少一个通过示例和一个不通过示例
5. 边界规则(至少覆盖:空输入、纯表情/符号、纯数字、超长评论、非中文内容)
6. 错误处理(当输入不符合规范时返回什么)

输出为Markdown格式,语言为中文。

Claude Code会生成一份结构化的规范文档。但这不是终点——你需要仔细阅读这份文档,检查:

  • 每个维度的“通过”和“不通过”标准是否清晰无歧义?
  • 边界规则是否覆盖了你第1章踩过的坑?
  • 示例是否典型、容易理解?

AI生成的是草稿,你来定稿。规范最终由人确认,这是“规范即基准”的关键


4.2 数据为基:打造黄金标准测试集

规范文档写好了,接下来做第二件事:构建测试数据集。

4.2.1 什么是黄金标准(Ground Truth)

黄金标准(Ground Truth,简称GT) 是经过人工确认的、不可争议的正确输出。对于评论甄别任务,GT就是:这条评论到底是“有效”还是“无效”——这个答案不是AI说了算,是规范说了算,由人工根据规范逐条确认。

GT的作用是什么?它是整个评测体系的定海神针。后面所有自动化评测,本质上就是在做一件事:把你的智能体的输出,跟GT做比对。

如果GT本身有问题,后面的一切评测都失去意义。所以,构建高质量GT数据集是五步法中最需要细心的一步。

4.2.2 用Claude Code生成候选测试数据

先让AI帮我们批量生成评论数据。在Claude Code中输入:

根据 spec_review_validity.md 中定义的评测规范,请帮我生成50条模拟用户评论,保存为 test_data.csv。

要求:
1. 覆盖以下类型,每种类型至少5条:
   - 高质量有效评论(具体、可验证、相关、信息密集)
   - 刷单好评(笼统形容词堆砌、无具体信息)
   - 情绪发泄型差评(只有情绪,没有事实细节)
   - 无信息评论("还行""不错""一般"等极短评论)
   - 与商品无关的评论(吐槽配送、天气、平台优惠等)
   - 混合型评论(同时包含有效信息和无效信息)
   - 边界案例(空文本、纯表情、纯数字、非中文)
2. CSV格式,包含两列:comment_id(从001到050)、comment_text(评论文本)
3. 评论文本模拟真实用户的表达习惯,不要太“教科书化”

执行后,项目目录下会出现 test_data.csv 文件。打开看看,你可能会发现几条不太合理的生成结果——没关系,AI生成的只是候选数据,下一步需要你来把关。

4.2.3 人工标注黄金标准

这是本章最重要的一步。打开 test_data.csv,新增第三列 gt_label,逐条阅读每一条评论,根据规范文档判断它应该是“有效”还是“无效”。

comment_id comment_text gt_label
001 红烧肉软烂入味,肥瘦相间刚好,量也很足,两个人完全够吃。下次还会点。 有效
002 太好吃了!超级好吃!强烈推荐! 无效
003 等了快一个小时才送到,到手都凉了,骑手态度还特别差 无效

标注时的注意事项:

  • 完全依据规范,不要凭“感觉”。如果规范说“只抱怨配送属于无关评论”,那003就是无效,哪怕它看起来很真实。
  • 遇到模糊案例时,记录下来。比如一条评论:“肉有点柴,但酱料还不错。”——具体性有(肉柴、酱料不错),算有效吗?如果规范没有明确,这就是规范需要补充的地方。
  • 标注完成后,自己抽几条重新检查一遍,确保一致性。

如果你发现某些类型的评论缺失(比如全是正确案例,缺少边界案例),回到Claude Code补充生成。

4.2.4 数据质量自检清单

标注完成后,用以下清单自检你的数据集:

  • 有效评论和无效评论的数量大致均衡?(建议比例在 4:6 到 6:4 之间)
  • 每个评测维度都有对应的测试案例?(具体性、可验证性、相关性、信息密度四个维度都覆盖了吗?)
  • 边界案例至少覆盖了:空输入、纯表情、纯数字、超长文本、非中文内容?
  • 有没有“显而易见”的案例太多,而“模棱两可”的案例不够?——真正考验智能体的,是那些需要仔细判断的混合型评论。
  • 自己随机抽查10条,重新标注一遍,跟上一次的结果是否一致?——如果自己前后判断都不一致,说明规范还不够清晰。

4.3 避坑指南:本科生最容易在这两步犯的错

坑1:规范写得太“教科书化”,缺乏操作性。
“判断评论是否真实有效”——这叫目标,不叫规范。规范必须有操作性定义:什么是“有效”?具体性怎么衡量?通过和不通过的边界在哪里?

坑2:测试集全是“典型案例”,没有边界案例。
如果你的测试集里没有空评论、没有纯表情、没有超长文本,那你的智能体在面对这些情况时会做什么?你不知道。测试集的设计质量,直接决定了评测结果的可信度。

坑3:GT标注凭“感觉”,不凭规范。
一条情绪激烈的差评,凭感觉可能会被判为“无效”——但仔细看,它其实包含了具体的菜品描述和事实细节。这种情况必须严格按照规范来判定,而不是凭印象。

坑4:数据集正负例严重失衡。
如果50条评论里45条都是有效评论,那你的智能体即使“全部判有效”也能拿到90%准确率——但这个数字毫无意义。


4.4 本章小结

  • 规范文档是整个开发流程的“宪法”。它必须清晰到能让另一个独立的人(或AI)依据它做出跟你一致的判断。
  • 我们为“评论甄别智能体”定义了四个评测维度:具体性、可验证性、相关性、信息密度。
  • 黄金标准(GT) 是人工确认的正确答案。后续所有自动化评测都是在跟GT做比对。GT的质量直接决定了整个评测体系的可信度。
  • 用Claude Code生成草稿,人工审核确认定稿——这是人机协作的标准模式。
  • 数据集构建要关注:类型覆盖、正负均衡、边界案例、GT一致性。

从第5章开始,我们将基于本章产出的规范和数据集,正式开发“评论甄别智能体”的核心Prompt和运行脚本。


课后练习

  1. 阅读Claude Code生成的规范文档,找出至少一处你认为不够清晰的地方,并修改它。
  2. 从你的测试数据集中挑出5条“混合型”评论(同时包含有效和无效信息),用规范文档逐条判断。你的判断跟规范的定义一致吗?如果不一致,是规范需要修改,还是你的理解需要调整?
  3. 为“信息密度”这个维度专门设计5条边界案例——比如:整条评论只有3个字但字字有用;整条评论200字但全是废话。把这些案例加入你的测试集并标注GT。
  4. (进阶)如果你有自己的数据集想法,比如从真实平台上收集20条评论,尝试用规范文档为它们标注GT。真实数据往往比AI生成的数据更难判断。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐