WikiBench 要回答两个问题
OpenWiki 是一个用于生成和维护代码库文档的开源智能体。团队在持续改进 OpenWiki 的过程中,需要量化两件事:维基文档是否真的能帮助编码智能体,以及他们对 OpenWiki 所做的改动是否让它变得更好。为此,他们构建了 WikiBench 基准,用基于底层代码库的问题来评估生成的维基文档。
![]()
这种设计让团队可以比较不同维基之间的质量差异,也能衡量维基实际带来了多少帮助。WikiBench 运行在 Harbor 框架上,Harbor 是用于评估智能体在长周期任务中表现的框架。
Harbor 框架的三层结构
Harbor 任务由三个部分组成:环境提供任务上下文,智能体执行任务,验证器评估结果。在 WikiBench 中,环境是一个固定在特定提交版本上的代码仓库。智能体在该仓库上运行 OpenWiki 初始化,并生成初始维基。验证器则使用关于该仓库的问题来评估生成的维基。
验证器是 WikiBench 中较受关注的部分。为了评估维基,验证器使用一个“读者智能体”。这个读者智能体尝试用维基回答关于底层仓库的问题,有时会结合源代码,有时仅凭维基本身。这样团队就能根据维基对真实任务的实际帮助程度来评判它。
自动生成两类问题
为了高效构建 WikiBench,团队自动生成问题。他们检查固定在特定提交版本上的仓库,识别出较大的主题区域,例如包或子系统。生成的问题分为两类:“覆盖”问题和“检索”问题。
“覆盖”问题使用共享模板:我需要修改 [区域] 的工作方式。这个功能在仓库中的哪个位置,在改动之前我应该了解它会与哪些部分交互,以及我该如何检查自己没有破坏什么?“检索”问题则围绕具体行为单独编写,例如:Deep Agents 运行中的一次工具调用返回了远超上下文容量的输出。模型实际收到的是什么,真实内容去了哪里,这条路径与整个对话变得过大时的情况有何不同?
用事实清单和双重评判打分
每个问题都会生成一个 json 文件,作为答案的评分标准。json 文件中列出了答案应包含的事实清单。评分时,团队使用一系列大语言模型评判器对 json 文件中的每个事实打分。
一个评判器检查答案中是否包含该事实。另一个评判器查看生成的事实是否基于智能体阅读过的页面。这确保只有当智能体回答正确且回答有依据时,才给予该问题的分数。每个答案根据其答对的事实数量获得总分。例如,如果一个答案预期包含 5 个事实,但只给出 3 个,那么它的得分就是 0.6。这就是单个问题的评分方式。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.