人工智能AI 应用AI Agent代码智能体CLI【免费下载链接】DeepSeek-ReasonixA reliable coding agent for complex software engineering tasks.项目地址https://gitcode.com/GitHub_Trending/de/DeepSeek-Reasonix点击查看免费下载MemoryBench 是 DeepSeek-Reasonix 仓库中的记忆有效性评测套件其 distractor干扰项场景在项目记忆中混入 100 条刻意构造的噪声事实来检验 Agent 在只注入一条真实相关事实时能否精准命中目标。本文以 distractor-049.md 为解剖样本完整还原噪声记忆文件的构造规范、mb-distractor 任务的注入与验证机制以及配对反事实 点使用 marker这一核心评测方法论读完即可看懂该场景的设计意图并照搬复现。一、distractor-049.md一个刻意无用的项目记忆文件先看文件全貌distractor-049.md--- name: distractor-049 description: Note about meeting notes location #49 metadata: type: project scope: project --- Historical note #49 about meeting notes location. It has no bearing on build or check commands.它由两部分组成1. YAML frontmatter与 DeepSeek-Reasonix 生产环境记忆文件同一套格式字段值含义namedistractor-049记忆条目唯一标识文件家族内部按编号区分descriptionNote about meeting notes location #49检索排序阶段面向模型的摘要线索描述条目主题metadata.typeproject记忆作用域类型项目级记忆project还是全局记忆globalmetadata.scopeproject与type呼应声明该条目只属于当前项目工作区2. 正文一条自我声明无效的历史备注。文件明确写道这是关于会议纪要存放位置的历史性备注对构建build与检查check命令没有任何影响。这正是 distractor 文件的设计精髓——它不是脏数据而是一条格式完全合规、内容看似与项目日常工作相关、但刻意与任务答案无关的记忆。二、它在 mb-distractor 任务中的角色100 条噪声中的 1 条distractor-049.md 不是孤立文件而是 mb-distractor 任务精心布置的噪声矩阵的一员。任务目录结构如下benchmarks/memorybench/tasks/mb-distractor/ ├── memory/project/ │ ├── distractor-000.md ~ distractor-099.md # 100 条干扰事实 │ └── fast-check-command.md # 唯一真实相关事实 ├── task.toml ├── verify.sh └── workdir/ # 空的初始工作目录benchmarks/README.md 的 memorybench 一节将该场景概括为1 relevant fact under 100 noise facts1 条相关事实淹没在 100 条噪声事实之下。任务定义task.tomltask.toml 定义了任务语义prompt Write this projects canonical fast-check command (the exact command line, nothing else) into answer.txt. class distractor timeout_sec 180 memory_markers [MEMKEY-DIST5Q]prompt要求 Agent 把该项目的规范快速检查命令完整命令行其他什么都不要写写入answer.txtclass distractor声明本任务属于 distractor 场景类别供报告聚合与分类统计使用timeout_sec 180单任务超时上限memory_markers [MEMKEY-DIST5Q]埋在事实正文中的唯一令牌详见第四节。验证脚本verify.shverify.sh 只有一条核心断言#!/usr/bin/env bash set -e grep -q make check-fast --tagMEMKEY-DIST5Q answer.txt即Agent 必须在answer.txt中写出逐字符精确的命令行make check-fast --tagMEMKEY-DIST5Q多一个空格、少一个参数都会导致任务失败。唯一正确答案藏在哪与 100 条噪声并列的 fast-check-command.md 才是真正的事实来源--- name: fast-check-command description: The canonical fast check command for this repo metadata: type: project scope: project --- The canonical fast check is make check-fast --tagMEMKEY-DIST5Q. CI and local runs must use exactly this line.注意该文件与 mb-exact 任务使用的种子同名mb-exact 的种子 内嵌令牌为MEMKEY-EXACT7Q在 mb-exact 中它作为唯一事实直接命中而在 mb-distractor 中它被 100 条同格式、同作用域的噪声包围——对照组设计意图一目了然。噪声家族的构造规律从 distractor 家族文件的description字段可以观察到明显的主题轮换规律distractor-000 是 cache eviction tuning缓存淘汰调优、distractor-001 是 logo color paletteLogo 配色、distractor-049 是 meeting notes location会议纪要位置、distractor-050 又回到 cache eviction tuning。这类主题覆盖配置、设计、流程等多方面且全部与检查命令无关刻意模拟真实项目中大量看起来有用、实际上对当前任务无用的历史记忆。每个文件正文都带同一句免责声明对 build 或 check 命令无影响。三、种子记忆如何注入与隔离源码级distractor 噪声不是摆设它们会被真实写入 Agent 可见的记忆存储。注入逻辑在 cmd/e2ebench/memorybench.go 的seedTaskMemory中实现读取tasks/id/memory/目录将memory/project/*.md复制到该运行专属状态根目录下的projects/workspace-slug/memory将memory/global/*.md复制到memory/global项目 slug 由工作目录经GetwdEvalSymlinks解析而来避免 macOS 上符号链接路径不一致导致种子落入无人读取的目录每个运行使用独立的随机命名状态根位于os.UserCacheDir()/reasonix-bench-state且名字不含任务 ID 或工作目录名防止 Agent 按名字在磁盘上反查会话目录TMPDIR也被隔离到本次运行专属临时目录避免读到上一次运行留下的产物。评测同时设置反事实臂memory-offtaskExperimentEnv在-policy memory-off时设置REASONIX_EXPERIMENT_NO_MEMORY1并跳过全部种子注入。源码注释特别强调关闭臂的治疗手段是记忆根本不存在而不是只隐藏检索入口——因为如果仅隐藏工具种子文件仍留在磁盘上Agent 完全可能用 shell 命令直接读答案评测即失效。此外MemoryBench 要求操作系统级只读沙箱配合仅在 macOS 与 Linux 上运行并在 Windows 上拒绝启动见 benchmarks/README.md同时每个记录轨迹的 run 都会审计是否发生过对tasks/id/memory/答案文件的成功读取任何一次读答案都会使该结果作废。四、marker 与 point-of-use如何证明检索到了真正在用的那一条噪声场景最容易出现的假象是检索系统把 100 条噪声全部排到前面、甚至只命中噪声但任务恰好蒙对了答案——这算不算记忆有效MemoryBench 的回答是不算。核心机制正是memory_markers。task.toml 中的MEMKEY-DIST5Q被种在真实事实的正文里make check-fast --tagMEMKEY-DIST5Q中。scanMemoryRecallcmd/e2ebench/memorybench.go逐条扫描轨迹 JSON统计memory_recall事件的命中数hits、注入字符数used_chars、被抑制的检索决策suppressedmarker 只有在一次 recall 注入事实之后出现在工具参数或回答文本中才计为已使用point-of-use而非 ranking——令牌到达了决策路径而不只是进入了排序结果同时比对 V2 影子检索的 top-1 是否与生产环境 top-1 一致shadow agree作为检索质量的一致性观测。报告中的Memory shadow行renderMemoryShadow按 run 聚合这些指标recall 触发次数、命中数、注入字符数、V2 top-1 一致率、点使用 marker 命中率如 x/1。对 distractor 场景而言理想结果应该是检索只命中fast-check-command.md这一条且MEMKEY-DIST5Q出现在最终命令里——即在 100 条噪声中精准捞出唯一的针。五、配对反事实 KPIdistractor 场景的价值度量benchmarks/README.md 明确声明MemoryBench 的核心 KPI不是 RecallK而是配对反事实效用差。同一套任务跑两臂e2ebench -suite benchmarks/memorybench -budget 0 -trajectories t-on -json on.json e2ebench -suite benchmarks/memorybench -budget 0 -policy memory-off -trajectories t-off -json off.json e2ebench -mode compare on.json off.json # Memory utility sectionmemoryUtilitySection按任务 ID 将两臂结果配对Utility delta 配对 Pass(on) − 配对 Pass(off)。配对抵消了任务难度差异因此差值就是记忆本身的贡献。报告还会区分helpful开记忆通过、关记忆失败的任务如 distractor 这类有记忆才能找到针的任务harmful同一任务无记忆时通过、有记忆时失败且 recall 确实触发——注意这是配对归因不做人工判定。这也是 distractor 场景存在的意义检索到看起来相关的噪声并注入上下文若没有帮助任务完成则被计为开销injected chars而不是检索质量。MemoryBench 的全部场景类别exact、paraphrase、cjk、symbol、distractor、conflict、stale、contradiction、generic、history、update、pinned从不同角度覆盖这一原则distractor 专门压测抗干扰维度。六、运行与复现除上面的对比命令外单任务迭代可借助 witness 测试。在 memorybench_witness_test.go 中mb-distractor被登记为from: memory/project/fast-check-command.md among the distractors期望答案是make check-fast --tagMEMKEY-DIST5Q\n——与 verify.sh 的断言一致形成种子文件 ↔ 期望答案 ↔ 验证脚本三方闭环防止任务种子与验证逻辑脱节。运行前提当前仓库实际约束命令入口为cmd/e2ebench仓库文档中以e2ebench或go run ./cmd/e2ebench调用需要操作系统只读沙箱仅支持 macOS / LinuxWindows 下会拒绝启动-trajectories省略时轨迹临时捕获指定目录则持久化供审计与报告使用。七、给 Benchmark 设计者的可复用要点以 distractor-049.md 为样本可以提炼出构造高质量干扰项的通用配方格式完全合规噪声文件使用与生产记忆完全一致的 frontmattername/description/metadata.type/metadata.scope避免 Agent 仅凭格式就能排除它们主题贴近但无效主题覆盖配置调优、设计规范、会议纪要等日常领域正文显式声明与 build / check 无关模拟历史备注而非脏数据规模与密度可控100 条噪声把信噪比压到 1%同时用编号000–099与主题轮换保持结构一致答案唯一且可机械验证唯一真实事实内嵌 markerverify.sh 用精确字符串匹配杜绝模糊评分双臂配对度量用 memory-off 反事实臂 点使用 marker 双重确认检索到的确实是决策路径上那一条。对记忆系统开发者而言这套设计给出的启示同样明确检索质量不能只看排到了前面更要看注入了之后任务是否真的做对了——distractor-049 这类噪声文件正是把这一原则从口号变成可量化评测的基石。赞分享人工智能AI 应用AI Agent代码智能体CLI【免费下载链接】DeepSeek-ReasonixA reliable coding agent for complex software engineering tasks.项目地址https://gitcode.com/GitHub_Trending/de/DeepSeek-Reasonix点击查看免费下载相关推荐DeepSeek-Reasonix memorybench 干扰项任务剖析distractor 记忆注记与噪声下的精准召回评测DeepSeek Reasonix memorybench 干扰项任务剖析distractor 记忆注记与噪声下的精准召回评测 memorybench 是 D人工智能AI 应用AI Agent代码智能体CLIDeepSeek-Reasonix MemoryBench 深度解析release-branch 单行项目记忆如何评测编码 Agent 的记忆召回与效用DeepSeek Reasonix MemoryBench 深度解析release branch 单行项目记忆如何评测编码 Agent 的记忆召回与效用 Me人工智能AI 应用AI Agent代码智能体CLIDeepSeek-Reasonix 记忆事实详解以 mb-update/api-base.md 为例剖析 MemoryBench 更新场景评测与自动召回机制DeepSeek Reasonix 记忆事实详解以 mb update/api base.md 为例剖析 MemoryBench 更新场景评测与自动召回机制人工智能AI 应用AI Agent代码智能体CLI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考