公告
先看证据,再决定买不买

频道每天最多 3 条价格异动与中转状态;具体商品请用机器人设置降价/补货提醒。交流群提问请带预算、模型、工具和使用频率。

查看
社群与联系Telegram 群点击加入Telegram 频道每天最多 3 条有效价格情报联系我们tgAIPricedb交流群979789483
返回资讯列表
research

代码智能体能否绕过糟糕的命名?上下文检索或许更关键

一则讨论认为,代码智能体并不只是猜测关键词,而是会结合错误日志、代码片段和依赖关系逐步扩大检索范围,以定位故障并生成修复方案。这个观点回应了遗留代码中方法名、变量名和模块名失真的常见问题。

84% VERIFIED

相关研究和实践材料表明,上下文检索确实是代码智能体定位问题的重要能力。智能体可以从堆栈信息或崩溃位置出发,读取局部代码,再沿着函数调用、类引用和变量依赖关系寻找相关内容。

不过,证据并不支持“命名约定完全不重要”这一绝对结论。ContextBench 等评测显示,许多模型具有较高的检索召回率,但精确率偏低;模型读到的代码也不一定会被真正用于最终补丁。糟糕的命名仍可能增加歧义和噪声,尤其是在缺少日志、测试或清晰依赖关系的项目中。

更稳妥的工程做法是把语义检索与日志、符号索引、依赖分析、测试和人工审查结合起来,而不是依赖单一的命名映射或模型直觉。

来源证据

hello-agents/Extra-Chapter/Extra09-Agent应用开发实践踩坑与经验分享.md at main · datawhalechina/hello-agents · GitHubgithub.com · supporting

Agent 是概率系统,不可能永远正确。但它出错时,你需要能回答:它做了什么?结果是什么?为什么这么做? 实现 Trace 系统,记录调用链、返回链、决策链。别只记录成功路径,失败轨迹往往更有价值。 别怕"污染历史"就清洗掉失败记录。CONFLICT 错误、超时重试、模型瞎猜——这些都记下来。只有看到完整的失败过程,才能定位根因,才能把"遇到 CONFLICT 必须重新 Read"这种经验固化到提示词里。 ## 写在最后:我们都是在给 LLM "擦屁股" Agent 开发的核心,不是让模型更自由,而是通过工程设计,把模型"不确定的能力"约束在"最小可控的范围"里。说白了,我们就是在给 LLM 擦屁股。 你看啊,LLM 很强,能写代码、能读文档、能推理。但它就像一个特别聪明但特别不靠谱的实习生—— 你让它去打印文件,它可能把全公司的打印机都调用一遍; 你让它整理会议纪要,它可能把上周的会议也掺和进来; 你让它写个函数,它写得贼溜,但变量命名全是 `a`、`b`、`c`,还顺带改了你没让改的文件。 而我们做 Agent 工程,本质上就是在解决这个矛盾: | 模型的天性 | 我们的工程对策 | --- | | 喜欢自由发挥 | 用 Function Calling 锁定调用格式 | | 上下文一多就"失忆" | 用 L1/L2/L3 分层 + Summary 压缩 | | 出错不会自查 | 用 Trace 记录每一步,让错误可追溯 | | 长任务容易跑偏 | 用 Todo + Task 拆分,降低单步复杂度 | | 不懂领域知识 | 用 Skills 固化 SOP,让它"有脑" | 你看这七章的内容,从工具原子化到上下文工程,从可观测性到子代理——每一层都是在给模型"打补丁",帮它收拾烂摊子。 [...] ## 本章结论 Agent 是概率系统,不可能永远正确。但当它出错时,你需要有能力回答三个问题: 1. 它做了什么?(调用链) 2. 结果是什么?(返回链) 3. 为什么这么做?(决策链) 只有当你能把这三个链条串在一起时,才能真正理解 Agent 的行为,才能让它从"黑盒"变成"玻璃盒"。 前面七章,我断断续续讲了这个 Code Agent 项目从立项到成熟的整个过程。每一章都是一个具体的坑,以及我是怎么爬出来的。 这一章,我想把这

代码Agent的苦涩教训!首次拆解上下文检索,直指自动化软件瓶颈 - 智源社区hub.baai.ac.cn · supporting

式的过度工程化; 很多最强大模型倾向「多捞少漏」,导致噪声偏多; 「检索到」不等于「用到了」,看过关键代码也可能没体现在最终补丁里;更均衡的检索策略往往在成功率与成本之间更划算。 ContextBench希望为代码智能体提供可观测、可度量、可优化的过程评测视角,帮助社区更精准地改进检索与推理链路。 「黄金上下文」由人类专家认证 为了构建这一基准,研究团队并没有依赖自动化生成,而是采用了一套严谨的「人机回环」(Human-in-the-loop)标注流程。 大规模覆盖:包含来自66个真实代码仓库的 1,136个 问题解决任务,覆盖 Python、Java、C++、Go、Rust、JavaScript、TypeScript、C 等 8种主流编程语言。 专家级标注:每一条数据都配有由专家开发者标注的「黄金上下文」(Gold Contexts)。这些上下文并非「相关代码」的简单集合,而是问题修复过程中不可或缺的最小代码依赖集。研究者通过分析真实补丁,沿函数调用、类引用与变量依赖关系逐步回溯,最终确定必须阅读的代码片段。 一个真实仓库中的依赖链条:若未阅读箭头所连接的函数与类,即使模型生成补丁,也难以保证语义正确 细粒度追踪:评测框架能够记录Agent的每一步操作轨迹,并在文件(File)、代码块(Block)、行(Line)三个层级上计算检索的精确率(Precision)和召回率(Recall)。这意味着模型的行为可以被量化为「定位能力」:不仅判断是否访问了关键文件,还能判断是否精确定位到关键函数乃至关键语句。 评测对象 顶尖模型与主流Agent 研究团队使用CONTEXTBENCH评测了当前最强的4款LLM和5种主流代码Agent框架: [...] 数据展示了各模型Recall极高、Precision极低的「偏科」现状,精确率普遍偏低 3. 策略分化:GPT-5「大口吞」 vs Devstral 2「小步跑」 不同模型在检索策略上展现出了截然不同的性格 。 GPT-5 倾向于「少次多量」,平均只需 5.87 轮检索,但每一步会阅读高达 119 行代码,试图一次性获取大量信息 。 Devstral 2 则采取「多次少量」的策略,平均需要进行 22 轮检索,但每一步仅读取约 12 行代码 。 这种高频交互导致 Devstral 2 的T

宝玉on X: "其实不用担心代码命名的问题,agent 并不是简单通过猜关键 ...x.com · supporting

其实不用担心代码命名的问题,agent 并不是简单通过猜关键字去找代码的,它会阅读代码片段,根据上下文去找。 举个例子来说,它发现程序崩溃了,它会

@dotey 向老师请教个问题:历史代码中有很多局部的改动 ...x.com · supporting

向老师请教个问题:历史代码中有很多局部的改动,导致很多方法名其实根本表达不了它的意图,还有日志、变量名、甚至模块名,这些历史债都在,但是因为

烧掉上亿 Token 后,我总结的 Coding Agent 高阶玩法zhuanlan.zhihu.com · supporting

Image 49 其他扫码方式:微信 下载知乎App 无障碍模式 验证码登录 密码登录 开通机构号 中国 +86 获取短信验证码 忘记密码 登录/注册 其他方式登录 未注册手机验证后自动登录,注册即代表同意《知乎协议》《隐私保护指引》 扫码下载知乎 App 关闭二维码 [...] Image 1) Image 2: ZhiHu logo 变得非常受欢迎。从那时起,这些语言模型的使用得到了爆炸式的发展,这在一定程度上得益于HuggingFace的Transformer库和PyTorch等… deeph...发表于deeph...Image 46: 支持1000万+token上下文:Google开源递归语言模型实现 # 支持1000万+token上下文:Google开源递归语言模型实现 数据与AI爱好者Image 47: vLLM V1 源码解读(七):Speculative Decoding——让大模型一次验收多个 token # vLLM V1 源码解读(七):Speculative Decoding——让大模型一次验收多个 token 弗流# Representation, Tokenizer & Modeling RepresentationCompression is a kind of clustering自然语言上的缩句、数据类型上的精度压缩、模态编码器...... 所有的压缩本质上都可以映射到某种聚类方式,其中, 压缩的损失来自于在原… Zack Zhao _想来知乎工作?请发送邮件到 jobs@zhihu.com_ 打开知乎App 在「我的页」右上角打开扫一扫 Image 48 其他扫码方式:微信 下载知乎App 无障碍模式 验证码登录 密码登录 开通机构号 中国 +86 获取短信验证码 忘记密码 登录/注册 其他方式登录 未注册手机验证后自动登录,注册即代表同意《知乎协议》《隐私保护指引》 扫码下载知乎 App 关闭二维码 打开知乎App 在「我的页」右上角打开扫一扫 Image 49 其他扫码方式:微信 下载知乎App 无障碍模式 验证码登录 密码登录 开通机构号

为什么AI 总爱越改越多?这个仓库用4 条规则把问题讲透了zhuanlan.zhihu.com · supporting

第一类,是已经在真实项目里长期用AI 写代码的人。 不是拿AI 随手生成个demo,而是已经让它参与改bug、加功能、做重构。你会很快感受到