面向开发者工具的大语言模型评估:有用、正确、安全

发布日期:2026-07-16 10:00:18   浏览量 :5
发布日期:2026-07-16 10:00:18  
5

你团队中的某人构建了一个大语言模型功能。也许它是一个内联代码建议功能。也许它是一个“修复此拉取请求评论”按钮。也许它是一个能够自主发起拉取请求的完整智能体。演示很成功。截图效果也不错。于是你们发布了它。

现在,一位真实用户将其应用于真实的代码库,而你完全不知道它的表现是逐周改善还是恶化。

这种介于“它在演示中运行良好”与“我们能证明它正在改进”之间的差距,正是评估(evals)所要解决的问题。然而到了 2026 年,我们在这方面仍然令人惊讶地糟糕。我们指着 SWE-bench Verified 分数,仿佛它们等同于“它是否在我们的仓库中有效”,我们过于信任以大语言模型作为评判者的评分方式,超出了文献建议的程度,并且我们将低延迟的令牌流误认为是实用性。本文是一份实用指南,介绍了如何衡量对开发者工具至关重要的三个方面:它是否有用,是否正确,以及是否安全

开发者工具评估的独特之处

许多通用的大语言模型评估建议都是为聊天机器人编写的,其输出是供人类阅读的段落。而开发者工具则处于光谱的另一端。其输出通常是一个差异文件、一个文件、搜索结果、一段结构化的 JSON 数据,或者是一种副作用:例如关闭一个问题单、构建成功通过、发布制品。这几乎改变了你进行评估的所有方式。

聊天机器人的回复只需要“足够好”即可。而差异文件要么能干净地应用,要么不能。单元测试要么通过,要么不通过。拉取请求要么被合并,要么永远搁置在那里。与聊天机器人团队相比,你可以更频繁地使用地面真值(ground truth),即针对实际测试进行实际执行。这是好消息。

坏消息是,故障模式更加尖锐。如果一个聊天机器人产生幻觉,提供了一个略微错误的事实,用户只会点个踩并收到道歉。但如果一个编程助手对一个类的方法产生幻觉,在动态语言中它可能会编译通过,而在非动态语言中则会破坏构建。如果一个智能体虚构了一个命令行界面标志,它将运行错误的命令。其爆炸半径更大,静默失败更隐蔽,而你的用户并不喜欢这些情况。

因此,对于开发者工具而言,评估问题从来不仅仅是“模型是否说了正确的话”。它是某种形式的:给定这个真实输入,生成的产物能否经受住构建、测试、代码检查器、审查者以及用户意图的考验?

三个维度:有用性、正确性、安全性

我发现将评估沿三个独立的维度进行划分很有用,因为针对每个维度所使用的技术截然不同,且它们涉及不同的利益相关者。

正确性是最容易定义也最容易衡量的。它是二元的或接近二元的。补丁能够编译。测试通过。SQL 查询返回了正确的行。重构保留了原有行为。应用程序接口调用返回了 2xx 状态码。正确性是诸如 SWE-bench、HumanEval 以及你自己的单元测试等基准所衡量的内容。当你拥有地面真值时,你应该使用它。

有用性则更加模糊。对错误的问题给出正确的答案并无用处。完美重写了开发者正准备丢弃的代码并无用处。当用户想要一行修复方案时,提供一个 14 步的计划并无用处。有用性指的是“这个产物是否真正让用户更接近他们试图完成的目标”。这就是“评估看起来很棒”与“用户讨厌它”之间产生大多数分歧的地方。

安全性是人们直到吃亏后才重视的维度。智能体是否从环境中泄露了密钥?它是否在没有询问的情况下执行了破坏性命令?它是否接受了从抓取的自述文件中注入的提示词?它是否开启了一个窃取数据的拉取请求?对于聊天机器人而言,安全性主要意味着“它是否说了一些 e

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据