给 AI 健康教练打分前,先让评分标准达成一致
Numan 的 AI 健康教练曾遇到相互冲突的漏服药评分标准。这个案例让我更在意评测的使用权限,以及专家如何把产品边界写成可执行的判断。
读 Numan 介绍 AI 健康教练 Nu 的文章,我停在了“漏服药物”这个例子上。
团队给对话模拟写评分标准时,发现彼此认可的要求竟然互相冲突。一套要求拒绝回答并引导用户联系临床人员,另一套允许在守住范围的前提下,提供患者用药说明书中的一般信息。模型照着其中一套做,就可能被另一套扣分。
这个细节让我对“评测优先”有了更具体的理解。把裁判接进流程之前,团队得先解决自己对好坏的分歧。否则,自动化只会更快地重复那场争论。

一段对话该在什么时候接受判断
Section titled “一段对话该在什么时候接受判断”Numan 是英国数字健康公司,Nu 被设计成提供生活方式指导和健康教育的 AI 教练。按团队在原文中的定位,它不负责诊断、开药,也不做或影响临床决策。这样的产品既要帮得上忙,又要在用户追问时守住自己的服务范围。
团队起初用固定输入、预期输出和模型裁判评估回复,却遇到了评测误判。评分要求 Nu 在两轮交流里完成共情、探索和建议;真人教练可能还在了解用户遇到的阻碍,评分表已经开始催它给方案。
我觉得这里暴露的是观察时机的问题。需要逐步了解情况的任务,过早给建议可能恰恰意味着跳过了重要工作。评分标准如果只接受马上回答,就会奖励这种着急。
把单轮测试拉长也未必解决问题。Numan 试过预写患者的多轮回复,可患者下一句早已写好,根本不会理会 Nu 刚才实际说了什么。模型只要换一种追问方式,后面的测试就可能脱离真实对话。
他们于是保留适合单次回复判断的主题测试,例如路由和安全检查,同时把评分按类别呈现,避免局部失败被总体表现掩盖。需要观察对话发展的问题,再交给模拟患者去探索。
单轮测试仍然有用,前提是它只判断眼前证据能支持的事情。对话质量也需要评估,只是要给它足够的上下文。
测到的系统要和用户遇到的系统一致
Section titled “测到的系统要和用户遇到的系统一致”Nu 用 LangGraph 编排主管模型和领域子 Agent。评测经过患者实际使用的同一张执行图,可以针对整体,也可以针对某个子 Agent。LangSmith 则记录对话轨迹,承接人工标注、数据集和实验比较。
如果评测时另外复制一份提示词,直接调用模型,产品里的路由与安全处理就可能没有被测到。分数描述的是那份简化实现,用户面对的却是完整流程。
原文架构图值得原样看。实线与虚线区分了运行中的部分和原型、后续方向。模拟患者以及线上评分的规划,不能仅凭它们出现在同一张图里,就被读成已投入生产。

在实际回复路径里,安全守卫会检查准备发给用户的内容。不安全的草稿退回主管模型重新生成;持续失败时,用安全兜底回复替代。团队还让健康教练每天抽查真实对话。
原文截图给出了一个具体例子。用户要每日热量目标,Nu 没有替他设定个性化数值,而是说明这需要临床人员或健康教练结合个人情况处理,并指向 App 的 Care 入口。截图展示的是 Nu 自己如何限制服务范围,不能据此推导所有健康产品都必须采用相同回答。

我喜欢这个例子的原因是,用户仍然知道接下来找谁。拒绝越界的同时,产品保留了一条能继续获得帮助的路径。
分数可以帮助查问题,发布需要有人认可判法
Section titled “分数可以帮助查问题,发布需要有人认可判法”Numan 的对话模拟会给模型患者设定人设、场景和轮次上限,让它根据 Nu 的真实回复继续交谈,再由裁判按类别评估整段记录。这样有机会看到固定脚本难以暴露的问题,例如还没问清情况就急着建议。
但原文明说,这一层仍是原型。模拟对话采用工程师起草的标准,在临床人员签核之前,不用于发布门控,也不支持安全声明。线上 evaluator 持续检查真实对话,也是文中描述的下一步。
这处区分是我读完整篇后最认同的地方。一个评测可以先用来发现值得调查的现象,团队不必因此立刻赋予它放行产品的权力。漏服药物的标准冲突已经说明,代码能跑、模型能评分,都没有解决判法本身的问题。
站内那篇讨论 Similarweb 评测标准校准的文章也涉及评分与质量判断的关系。放到 Nu 的场景里,还要继续追问,谁有资格认可涉及临床范围的标准,以及这份认可究竟支持什么结论。
MHRA 关于软件医疗器械预期用途的指引要求用途声明具体说明产品功能、受益人群、使用者和使用环境。这也提醒我,产品能做什么,需要写得足够明确。通过一组评测,并不能直接推出监管合规;临床签核同样不能被扩大成对产品整体安全的保证。
我会先拿边界样例让人达成一致
Section titled “我会先拿边界样例让人达成一致”如果把这个案例用于自己的 Agent 项目,我会先挑出容易产生分歧的真实或明确标注为假设的样例,让业务负责人和领域专家独立判断,并写下理由。这里说的是我的做法建议,并非 Numan 披露的既有流程。
对健康教练,可以围绕一般知识、个性化建议和需要转介的问题,检查团队究竟在哪些地方意见不一致。重点是把允许回答的范围讲清楚,也让被拒绝的用户知道下一步怎样获得帮助。具体临床边界应由具备相应职责的人裁定。
把分歧处理完,再用这些样例校准模型裁判。遇到低分时,先回看对话和判分理由,确认究竟是 Agent 越界、上下文不足,还是标准又产生了矛盾。这样,修改提示词才有明确方向。
我也不会把模拟患者表现好当作覆盖真实用户的证明。模拟器选择怎样追问,裁判偏好怎样表达,都可能让评测漏掉问题。人工抽查和真实反馈仍然需要保留,尤其要追踪那些与评分结论不一致的案例。
Nu 的文章让我愿意把更多时间花在一件很普通的事上。拿着同一段对话,先请负责的人说清楚为什么能答、哪里该停,以及这个判断允许团队据此做什么。等这些话说一致了,再让模型反复执行。