尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
deepagents 上下文检索评测中的跨文件计数任务 cb-cloud-21:指令、语料与评分机制全解析
人工智能大模型AI AgentAgent 框架自主智能体工具调用代码智能体MCP Clients【免费下载链接】deepagentsThe batteries-included agent harness.项目地址https://gitcode.com/GitHub_Trending/de/deepagents点击查看免费下载本篇技术指南以 deepagents 评测仓库中cb-cloud-21任务为标本完整拆解 上下文检索评测集context-retrieval-evals中跨文件计数cross_file_counting类任务的设计与实现从任务指令、Harbor 任务目录结构、多文件合成语料到基于 LLM 的model_judge评分链路与难度标定机制。读完本文你将掌握如何阅读、运行并复现一个 Context-Bench 派生评测任务并理解其整份语料交付、Agent 自行检索聚合的设计意图。一、任务背景context-retrieval-evals 与 Context-Benchcb-cloud-21位于 libs/evals/datasets/context-retrieval-evals/ 数据集目录下是 deepagents 评测体系中30 个上下文检索任务之一。根据该数据集根目录的 README.md这 30 个任务全部派生自Context-BenchLetta 的letta-evals仓库中cloud套件其核心评测目标非常明确每个任务都会把**整份语料10 个文件**交付给 AgentAgent 无法预先推断哪些文件是关键必须自己检索、关联、聚合才能作答。这保证了评测的不是文件定位能力而是真正的多文件跨库检索与多跳推理能力。cb-cloud-21是该 30 任务集中被正式采样的一个对应filesystem_cloud.jsonl的第 21 条记录0-based 索引其question_type为cross_file_counting源难度为medium。二、任务指令解读cb-cloud-21 的题目长什么样任务的唯一题目文件是 instruction.md其全文如下How many total records (pets, credit cards, insurance policies, bank accounts, and internet accounts combined) does the person with the most vehicles among all residents of the same state as the owner of the pet named Dwayne have? Use only the files under /app/files. Write your final answer (and nothing else) to /app/answer.txt.这是一道典型的多跳跨文件计数题答案键ground truth为15记录在 tests/case.json 中{input: How many total records (pets, credit cards, insurance policies, bank accounts, and internet accounts combined) does the person with the most vehicles among all residents of the same state as the owner of the pet named Dwayne have?, ground_truth: 15}从题目结构可以拆出 Agent 必须完成的推理链在pets.txt中定位名为Dwayne的宠物找到其主人owner在addresses.txt中查该主人的居住州state找出该州所有居民在vehicles.txt中统计这些居民各自的车辆数量锁定车辆最多的人跨pets.txt、credit_cards.txt、insurance_policies.txt、bank_accounts.txt、internet_accounts.txt五个文件把此人名下的宠物、信用卡、保险单、银行账户、互联网账号全部计数并求和。指令的第二段规定了严格的执行边界只能使用/app/files下的文件最终答案且只能写答案本身写入/app/answer.txt。这既是可复现的 I/O 协议也是后面评分链路读取提交物的约定位置。三、Harbor 任务目录结构每个文件的职责cb-cloud-21作为一个自包含的 Harbor 评测任务目录内每个文件各司其职路径作用instruction.md任务指令题目 执行约束即上文全文environment/Dockerfile沙箱运行镜像基于python:3.12-slim构建期预装curl/ca-certificates并把语料COPY files/ /app/files/environment/files/10 个语料文本文件git-ignored运行时由 populate 恢复solution/solve.sh参考答案脚本直接把15写入/app/answer.txttests/case.json每题唯一的问题 答案键唯一被 git 提交的 per-task 文件tests/test.sh、judge.py、rubric.txt评分器模板git-ignored由 populate 从单一副本恢复task.toml任务元数据与网络策略声明3.1 沙箱环境为什么构建期就装 curlenvironment/Dockerfile 的注释揭示了设计动机FROM python:3.12-slim # Pre-install curl at build time (the build phase has network) so the # in-sandbox agents runtime bootstrap skips apt; runtime egress is then # all-HTTPS via the tasks network allowlist. RUN apt-get update \ apt-get install -y --no-install-recommends curl ca-certificates \ rm -rf /var/lib/apt/lists/* COPY files/ /app/files/即构建阶段有网络所以在镜像构建期就把 curl 装好使 Agent 在沙箱运行期无需执行apt从而让运行期的全部出站流量都收敛到任务网络白名单覆盖的 HTTPS 端点。该 Dockerfile 与.dockerignore均由生成器在 harbor_adapters/contextbench/adapter.py 中按模板写出见下文。3.2 task.toml元数据与网络白名单task.toml 是任务的身份证version 1.3 [metadata] source contextbench suite cloud difficulty medium source_difficulty medium question_type cross_file_counting [environment] network_mode allowlist allowed_hosts [astral.sh, *.astral.sh, github.com, *.githubusercontent.com, pypi.org, *.pythonhosted.org, api.smith.langchain.com, api.anthropic.com, api.openai.com, generativelanguage.googleapis.com, openrouter.ai, *.baseten.co, api.fireworks.ai, ollama.com, api.groq.com, integrate.api.nvidia.com, api.x.ai]关键点difficulty是权威难度桶source_difficulty保留 Context-Bench 原始标签作为溯源两者当前都是medium但经标定后difficulty可能被覆盖见第六节network_mode allowlist是白名单而非断网沙箱内的 langgraph/dcode Agent 必须访问包镜像pypi.org等和所选模型的 APIapi.anthropic.com、api.openai.com、openrouter.ai等才能完成引导与作答但任意网页访问被阻断从而防止 Agent 通过网络搜答案。从生成器源码 adapter.py 可以看到该白名单的完整生成逻辑——它覆盖了评测工作流可选的每一种模型供应商仅限 API 端点绝不包含答案源。四、多文件合成语料Agent 面对的信息海洋每个任务的语料都是完整的 10 个文本文件单一副本存放在 harbor_adapters/contextbench/vendor/files/addresses.txt 地址含 state 字段 bank_accounts.txt 银行账户含 balance credit_cards.txt 信用卡 employments.txt 雇佣信息 insurance_policies.txt保险单 internet_accounts.txt 互联网账号 medical_records.txt 医疗记录 people.txt 人物主档含 pers-XXXX 唯一 ID pets.txt 宠物含 owner 引用 vehicles.txt 车辆含 owner 引用以cb-cloud-21解题链涉及的几个文件为例其格式为实体块 键值字段pets.txt中Dwayne的记录约 3650 行处### pet-0609 (owner: pers-0327) pet_id: pet-0609 name: Dwayne species: Dog breed: Unknownvehicles.txt的块首格式### veh-0001 (owner: pers-0001) vehicle_id: veh-0001 make: Johnson LLC model: Fuchsia year: 2013 license_plate: FFS 836addresses.txt提供跨文件关联所需的state字段### addr-0001 (owner: pers-0001) address_id: addr-0001 street: 55075 Tammy Spurs city: Smithburgh state: Wyoming postal_code: 76537 country: United Statespeople.txt则用pers-XXXX作为全局实体 ID把各文件串联起来。语料规模相当可观整份语料约 6.47 万行例如people.txt有 1500 行、pets.txt5742 行、vehicles.txt6748 行、bank_accounts.txt14096 行——这正是评测的检索压力来源答案必须靠跨文件 join 与聚合得出任何单个文件都不足以直接作答。五、解题推演cross_file_counting 的标准动作把上一节的推理链落到语料格式上Agent 的求解过程可以概括为五步均需调用文件检索工具锚点定位在pets.txt检索name: Dwayne得到### pet-0609 (owner: pers-0327)锚定主人 IDpers-0327州域解析在addresses.txt检索owner: pers-0327的所有地址提取其state得到同州居民集合车辆排序在vehicles.txt中按owner:分组统计该州每位居民的车辆数找出车辆最多者题目未设平局说明直接取最大值跨文件计数以该居民 ID 为键分别在pets.txt、credit_cards.txt、insurance_policies.txt、bank_accounts.txt、internet_accounts.txt中统计其名下记录数求和输出五类记录数相加结果写入/app/answer.txt。作为对照参考答案脚本 solution/solve.sh 极其简洁——它代表标准答案而非解题过程#!/bin/sh set -eu printf %s\n 15 /app/answer.txt15即为五类记录的总和与tests/case.json的ground_truth一致。该脚本同样由生成器在 adapter.py 中以shlex.quote(answer)安全写入避免特殊字符注入问题。六、评分机制LLM model_judge 而非字符串比对一个重要的评测设计是cb-cloud-21 的成绩不是答案是否等于 15的字符串比对而是由 LLM 充当model_judge按照 rubr ic 打分。评分链路的三要素分别是tests/test.sh验证器入口仅一行直接调用python3 /tests/judge.pytests/judge.py在沙箱内对上游 Lettaletta-evals的RubricGrader的忠实复刻OpenAI provider 版本tests/rubric.txt逐字复刻自上游的评分 rubr ic单一副本在 harbor_adapters/contextbench/vendor/rubric.txt。judge.py的工作方式见 templates/judge.py从/tests/case.json读取input/ground_truth从/app/answer.txt读取submission用string.Formatter().vformat填充 rubr ic 模板无系统提示词、无包装调用 Chat Completions 接口强制json_schema响应格式{score: float in [0,1], rationale}温度规则与上游一致o1/o3/gpt-5系列推理模型使用temperature1.0这些模型 API 拒绝 0.0其余模型使用0.0score clamp(score, 0.0, 1.0)任何异常按上游规则记 0.0最多重试 5 次结果写入/logs/verifier/reward.txt。rubric 定义了明确的打分档位只有 0.0 / 0.5 / 1.0无部分分1.0 正确数字格式等价$145,315.33145315.33、数字单词等价two dogs2、姓名大小写不敏感、次要措辞差异可接受、单位可省略问车辆时可答44 vehicles0.5 仅拒绝Agent 明确拒绝作答如我没有权限且未尝试任务0.0 错误答案不同、找不到本应存在的答案、缺失关键数值、给出多个答案且未明确最终答案。此外评分使用的 judge 模型来自 harness 注入的环境变量JUDGE_MODELS默认回退gpt-5.6-luna提交物取自/app/answer.txt这两处是有意的偏差设定见judge.py文件头注释。七、难度标定与数据集维护从生成到冻结cb-cloud-21的medium难度并非拍脑袋。数据集 README 说明30 个任务是从 100 个源任务中代表性抽样而来抽样依据是 gpt-5.6-terra 与 gpt-5.6-luna 各 6 次 rollout 的配对结果difficulty与source_difficulty保存的是 Context-Bench 源难度分层2 easy · 10 medium · 18 hard而非事后按模型表现贴的标签。cb-cloud-21在配对标定中 Terra 与 Luna 均为 6/6 pass6类型为cross_file_counting见 datasets/context-retrieval-evals/README.md 的任务表与 calibration.json。数据集的单一来源single-sourced维护策略非常值得借鉴语料environment/files/下的 10 个文件在vendor/files/只有一份git-ignored运行时通过 populate 恢复到每个任务目录评分器test.sh/judge.py/rubric.txt在templates/与vendor/rubric.txt各只有一份同样是 git-ignored 的每任务不变量只有tests/case.json题目 答案键按任务提交。相关逻辑全部落在 adapter.pygenerate_task/populate_corpus/stamp_calibrated_tiers三个核心函数与 main.pyCLI 驱动中并有 test_contextbench_main.py 覆盖包括冻结 30 任务集合与 calibration 对齐、--populate从 vendor 恢复被 git-ignored 的语料与评分器、任务生成幂等性、白名单必须包含全部模型供应商、以及--stamp-tiers用标定结果覆盖difficulty同时保留source_difficulty溯源。八、本地运行与复现由于语料和评分器在 git 中被忽略本地运行前必须先 populate。数据集 README 给出的标准流程为# 从单一 vendored 副本恢复每个任务的语料与不变量评分器 uv run python -m harbor_adapters.contextbench.main --populate datasets/context-retrieval-evals # 然后按 Harbor 方式运行数据集 uv run harbor run --path datasets/context-retrieval-evals ...生成器 CLImain.py还支持按任务 ID 单独生成或按--limit批量生成前 N 个 cloud 任务例如# 只生成/重建 cb-cloud-21 uv run python -m harbor_adapters.contextbench.main \ --output-dir datasets/context-retrieval-evals --task-ids cb-cloud-21若需把标定后的权威难度写回会覆盖task.toml中的difficulty而保留source_difficultyuv run python -m harbor_adapters.contextbench.main \ --stamp-tiers datasets/context-retrieval-evals --calibration path/to/calibration.json在 CI 场景harbor.yml中构建任务镜像前会自动执行--populate保证每个任务的镜像都包含完整语料。九、小结cb-cloud-21 教给我们什么cb-cloud-21是一个浓缩了 deepagents 上下文检索评测全部设计原则的标本整份语料交付——Agent 必须先检索而非定位这是对真实世界多文件知识库的模拟跨文件计数——答案是五类记录之和要求检索、join、聚合三阶段能力白名单网络——允许 Agent 访问包镜像与模型 API但阻断任意网页杜绝作弊式答案查找LLM judge 评分——rubric 驱动的容错打分接受数字格式、措辞与单位差异而非僵硬字符串比对单一来源 标定闭环——语料与评分器只存一份per-task 仅提交case.json难度由标定数据回写。对于希望构建自己的多文件检索 多跳推理评测集的开发者cb-cloud-21所在的 context-retrieval-evals 数据集与其生成器 harbor_adapters/contextbench、评分复刻 templates/judge.py 构成了一个可以直接照搬参考的完整范式。赞分享人工智能大模型AI AgentAgent 框架自主智能体工具调用代码智能体MCP Clients【免费下载链接】deepagentsThe batteries-included agent harness.项目地址https://gitcode.com/GitHub_Trending/de/deepagents点击查看免费下载相关推荐deepagents 上下文检索评测任务深度解析以 cb-cloud-67 多跳链条题为例deepagents 上下文检索评测任务深度解析以 cb cloud 67 多跳链条题为例 本文以 deepagents 仓库中 Harbor 评测数据集 c人工智能大模型AI AgentAgent 框架自主智能体工具调用代码智能体MCP ClientsAI 技能BELLE-ChatGPT评测对比1000条中文指令任务上的响应质量分析BELLE ChatGPT评测对比1000条中文指令任务上的响应质量分析 引言中文大模型的实战考验 你还在为选择合适的中文大模型而烦恼吗在AI驱动的智能交人工智能大模型NLP微调预训练RLHF模型评测数据集多模态语音PowerInfer 长上下文召回评测llama-passkey 示例的 Passkey 检索任务原理与实战PowerInfer 长上下文召回评测llama passkey 示例的 Passkey 检索任务原理与实战 Passkey 检索任务是评估大语言模型在超长上人工智能大模型推理引擎本地部署上一篇image.nvim终极指南如何在Neovim中完美显示图像下一篇Twikit社区功能详解如何高效管理Twitter社区和成员 创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

【多维动态规划】LC 72.编辑距离

【多维动态规划】LC 72.编辑距离

文章目录前言一、题目1、原题链接2、题目描述二、个人思路整理1、思路分析2、解题代码三、知识风暴前言 本专栏文章为《LeetCode 热题 100》的刷题题解,相关内容如有侵权,立即删除。 一、题目 1、原题链接 72.编辑距离 2、题目描述 二、个人思路整理 1…

📅 2026/10/10 11:26:08
Ant Design Blazor 条形图(Bar)组件实战指南:从基础条形图到分组、堆叠与区间图表

Ant Design Blazor 条形图(Bar)组件实战指南:从基础条形图到分组、堆叠与区间图表

前端UI组件设计系统 【免费下载链接】ant-design-blazor 基于 Ant Design 与 Blazor 的前端组件库。让开发者解放生产力,实现更大价值。 项目地址: https://gitcode.com/ant-design-blazor/ant-design-blazor 点击查看 免费下载 Ant Design Blazor 图表…

📅 2026/10/10 11:26:08
Ferret 开发工作流完全指南:构建、生成、测试、静态检查与基准测试入口全解析

Ferret 开发工作流完全指南:构建、生成、测试、静态检查与基准测试入口全解析

网页爬虫后端开发工具 【免费下载链接】ferret Declarative data automation language and Go runtime for structured extraction workflows. 项目地址: https://gitcode.com/gh_mirrors/fe/ferret 点击查看 免费下载 导读 本文基于 Ferret(声明式数据…

📅 2026/10/10 11:26:08
MORE NEWS

更多资讯

📰

通达信公式编写核心原理与四大类型避坑指南

简介:本资源是一份面向股票量化分析初学者与通达信用户的技术指标开发入门教程,系统讲解如何在通达信平台编写四类核心公式:技术指标(如MA、KDJ)、条件选股(如“股价低于每股净资产”)、交易系统…

📰

生产级 SKILL.md 的 7 条铁律:从 Cloudflare 文档 Linter 到 replica-skill 的共性

生产级 SKILL.md 的 7 条铁律:从 Cloudflare 文档 Linter 到 replica-skill 的共性 【免费下载链接】replica-skill Eleven free Claude skills that clone any app: reverse-engineer it, rebuild it, test it for bugs, then fix what its users hate. Free, MIT.…

📰

Harness 工程安全基线:为 AI Agent 编写 SECURITY.md 安全策略文件

【免费下载链接】learn-harness-engineering Harness engineering beginner tutorial, from 0 to 1 项目地址: https://gitcode.com/gh_mirrors/le/learn-harness-engineering 点击查看 免费下载 SECURITY.md 是面向 Agent 的仓库(agent-first reposito…

📰

ponyc 0.57.1 修复 x86 macOS 上 Xcode 15 链接 Pony 程序失败问题解析

编程语言编译器语言运行时 【免费下载链接】ponyc Pony is an open-source, actor-model, capabilities-secure, high performance programming language 项目地址: https://gitcode.com/gh_mirrors/po/ponyc 点击查看 免费下载 导读 ponyc 0.57.1 是一次聚焦单一…

📰

LeetCode 139 单词拆分全解析:动态规划、剪枝优化与 Trie 加速

刷 LeetCode 的人,几乎都会被一道叫“单词拆分”的题拦住过。它排在热门 100 题的中段,题干看起来非常简单:给一个字符串和一个字典,问这个字符串能不能被字典里的单词完整拼出来。但第一次动手写的时候,很容易在贪心、…

📰

FDE方法卡:用三张卡化解工程前期需求沟通偏差

在工程圈里摸爬滚打久了,你会发现一个特别普遍的现象:大部分项目最后出问题,不是死在技术难点上,而是死在前期的“我以为”上。需求方以为自己说清楚了,执行方以为自己听懂了,等东西做出来摆到台面上&#…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬