前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
返回 AI 情报前线
All News · 全部资讯9275
  • AI Agent 为何需要向量数据库作为记忆层
  • DeepSeek V4 Pro 上线国家超算互联网,Harness 智能体框架开源
  • 智谱GLM-5.3发布:开源编程能力最强模型
  • 智谱 GLM-5.3 编程能力最强开源模型发布,Qwen3.8-27B 同日开源
  • 英伟达量产全球首款 200G/lane 硅光交换机,功耗降为 1/5
  • 别分类,直接「幻觉」标签:LLM标签推荐新思路
  • Anthropic推出Claude文本水印检测API
  • RPA与工作流自动化深度对比:如何构建持久自动化
  • Google Sheets推AI画布,可用自然语言构建交互应用
  • n8n替代方案横评:企业级自托管AI自动化平台
  • 苹果AI策略区域分化或致iOS应用在中国行为不同
  • CoT Prompting 实战指南:何时用、怎么用
  • 阿里Qwen3.8:消费级硬件即可跑出Opus 4.6级性能
  • 什么是AI上下文架构?为什么不建议自建?
  • 阿里Qwen 3.8开源:27B参数上下文达26万token
  • OpenAI推出Computer History:Mac操作记录转为ChatGPT可搜索记忆
  • Grok 4.6 登陆 GitHub Copilot,专为 Agent 编码设计
  • 提升 Claude Code 使用效率的实战指南
  • 换用新模型前,先用历史失败用例回归测试
  • Qwen3.8-27B vs Qwen3.6-27B:架构完全相同,性能提升全赖训练
  • 编程Agent能读git log,却读不到你试错的四次失败
  • AI集成层大规模密钥泄露:Composio等平台暴露数千凭证
  • NVIDIA Nemotron 3.5 Lightning:解决Agent执行层成本与能力矛盾
  • 研究打脸:前沿模型还无法自主做科研
  • AI代理真正学会记住的四层记忆系统
  • Amazon Nova Forge 多轮强化学习奖励函数设计指南
  • GitHub推出覆盖全SDLC的Agent应用
  • AI by Hand:Hacker News热捧的AI辅助手工工具
  • SageMaker 联手 Bedrock AgentCore 构建多Agent工作流指南
  • 两阶段语义检索 + 结构化引用:游戏答案类 RAG 架构设计
  • 语音转文字 + 模型网关:知识库流水线的 API 设计实践
  • Meta发布Glimmer开源模型,Zuckerberg阐述开放AI理念
  • Google用同态加密让私有AI变为实用技术
  • Qwen3.8-27B 开源:家用显卡可跑,可商用
  • 大吞吐量 LLM 工单分类的成本控制五法
  • 阿里开源 OpenSandbox:AI Agent 安全沙箱,两天斩获 1.27 万星
  • AI 记忆不必是数据库:试试 Markdown + Git 方案
  • AI 功能开发中的信任边界设计原则
  • GLM-5.3编码能力跃升:基座未变,提升从何而来
  • AI 编程模型评测实战框架:从真实开发任务出发的选型方法
  • 阿里开源 Qwen3.8-27B:编程办公场景超越 Qwen3.7-Plus,推理资源可调控
  • AI生成的Shell命令需像MR一样审查
  • 中国医生用GPT-5.6-Sol 16小时证明22年数学难题
  • Qwen3.8-27B发布:阿里新一代开源大模型
  • Node.js API客户端防御式解析实战:四种结果分而治之
  • AGENTS.md成跨工具标准:Claude/Cursor/Codex统一配置指南
  • 一行属性将ASP.NET Core API暴露为MCP服务器
  • .NET消费MCP服务三动词:Connect/Discover/Call
  • .NET消费MCP服务:应用作为客户端
  • 生产级 AI Agent 可观测性建设实战指南
  • Kog深度优化GPU推理,挑战Agent工作流效率
  • 已加载 51 / 9275
8.0
热点
AI SCORE
编程提效2026-08-15 00:12

编程Agent能读git log,却读不到你试错的四次失败

dev.to · AI#AI编程#Agent记忆#工程实践
Editor brief · 编辑速览

NexusMem作者分享核心洞察:Agent能获取已提交代码,却无法获知开发者尝试过但失败的方案,并展示如何用BM25+向量检索+信号权重解决。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

我独自构建 NexusMem 已经好几周了,都是大段时间。它是一个本地优先的 AI 编程 Agent 记忆引擎:将你的 git 历史、shell 命令(带退出码)、项目文档,以及可选的助手对话记录索引到磁盘上的 SQLite 数据库,然后通过 MCP 或 CLI 返回经过排序、符合 token 预算的切片。无需账号、无需云端、无需遥测。

一句话卖点:你的 Agent 已经能读取 git log。它读不了你上周二尝试的四个没成功的方案——而那才是真正值得记住的部分。

本周,有两个陌生人出现,开始修复一些我没让他们修的东西。这是个不错的借口,来写写它做了什么、以及为什么做。

它在解决什么问题

编程 Agent 从两个地方获取上下文:你粘贴进去的内容,以及它们能 grep 到的东西。两者都不记得过程。Git 告诉 Agent 发了什么,但它不会说你在最终成功的方案之前尝试了哪三种方法,也不会说你在调试时哪些 shell 命令退出了非零。这个信息大概只存在一天,在你的终端回滚里,然后就消失了。

NexusMem 的答案刻意做得很无聊:读取磁盘上已有的内容(git log、shell 历史、markdown 文档),将它们规范化为同一种节点形状,建立索引,排序得足够好,让一个查询返回正确的五条而不是正确的五十条。

有趣的部分:让排序先验相互对抗

检索侧是 SQLite FTS5 上的 BM25,加上如果能访问嵌入模型就过一遍 sqlite-vec 的向量通道,两者用 Reciprocal Rank Fusion(RRF)融合。RRF 只根据排名位置融合,不看原始分数——这是使用它的全部意义,因为 BM25 的代价和向量距离活在无关的尺度上,只有位置是它们唯一能达成一致的。

在融合排名之上,两个先验调整分数:信号(一个 fix: commit 排名高于 chore:;一个退出非零的 shell 命令排名高于成功退出的)和时效性。两者都是真实信号。两者也差点把整个系统搞砸。

在这个工具自己的仓库上做内测,一个关于 PowerShell hook 的查询返回了两个同一天提交的无关 fix: commit,排在第 3 和第 4 位,而真正回答了查询的那个 commit 排在第 6 位。先验是各自独立设了上限的——每个最多只能推翻 2 倍的相关性差距——但分数把它们相乘,所以一个新鲜的、高信号的 commit(这描述了大多数活跃工作日的样子)可以推翻 4 倍。修复方法不是加大上限,而是让它们共享一个预算:先验现在在两者之间分配一个预算,推导出的结果是每个值恰好价值 √2,而不是凭感觉断言。

我只是因为不断对自己的工具运行真实查询、批判性地阅读输出,而不是在纸上相信排名数学,才发现了这个。这才是构建这个工具真正在做的事:内测,找到它自信地出错的情况,写一个在修复前失败、修复后通过的测试。

它坦诚承认哪些地方不工作

README 有一个"Where it breaks"(它在哪里出问题)部分,我一直努力让它保持真实,而不是粉饰太平。几个例子:

没有安装 hook 的 shell 历史没有目录上下文,所以它会被归因到你恰好运行 sync 的那个仓库。

没有空格词边界的语言(日语、中文)无法获得有用的 BM25 召回——它们完全依赖向量通道。

rebase 会让那些在重写历史中不再存在的 commit 的节点搁浅。

也有一个数字我本来想放在开头但没有:最初的目标是将 API token 消耗比发送完整上下文减少 70% 以上。但在整个仓库端到端测量下来,接近 40%。>70% 的数字描述的是打包数学在其自己的候选集上显示的结果,这是一个真实的数字,但是比"Agent 实际少读了多少"这个问题的答案更乐观。README 直截了当地说明了这一点,而不是悄悄地报告那个更友好的数字。

让这周变得不同的地方

我是独自构建的,连续几周长时间迭代。本周,第一次,一个我不认识的人开了一个 issue,要求为 MCP 服务器添加端到端 stdio 传输覆盖——现有的测试只练习了内存传输,这无法证明协议组帧在真实进程边界上能否保持。他们先在评论里描述了方法,然后提交了一个 PR,将实际的构建好的 CLI 作为子进程启动,并断言写入 stdout 的每一行都解析为 JSON-RPC。CI 在他们的第一轮中抓到了一个真实的 Windows only bug(一个 .cmd 垫片在 Windows 上需要 shell: true 才能启动)——他们在不到一小时内修复了,合并很干净。

同一天另一个人 fork 了仓库,没有先开 issue,找到了一些我没有发现的东西:PowerShell hook 总是用 \n 行结尾插入它的块,但 Windows 编辑器编写的配置文件按惯例是 CRLF,所以安装 hook 会静默地把一个 CRLF 文件变成混行结尾的文件——之后移除它会留下一行孤零零的裸换行。这是一个足够微妙的 bug,找到它意味着真正在读代码,而不是走马观花。

这两件事都不需要我。这一点值得好好体会——项目变得足够清晰明了,让别人能够第一次尝试就正确地扩展它。

npx nexusmem init
npx nexusmem sync
nexusmem query "windows spawn failure"

只需要 Node 22+ 和 git。Ollama 是可选的,只影响语义搜索——没有它 BM25 也能完全正常工作。

如果你想戳戳看,仓库在这里,现在也有一个 CONTRIBUTING.md,如果你发现有什么值得修复的话。

Original source

本文由 AI 翻译整理自 dev.to · AI,原文版权归原作者所有。

阅读英文原文
上一篇
Qwen3.8-27B vs Qwen3.6-27B:架构完全相同,性能提升全赖训练
下一篇
AI集成层大规模密钥泄露:Composio等平台暴露数千凭证