今天选取两篇 2026 年 10 月 22 日提交的原创论文,关注 Software Factory 中如何取得可信的工程事实:第一篇来自 DoorDash 生产系统,第二篇用受控实验研究过期指令文件如何影响 Coding Agent。
1. Automating Feature Flag Cleanup at Scale with Multi-Agent LLM Systems: An Industrial Experience at DoorDash
- 作者/来源: Atharv Chandratre、Jai Datar / DoorDash(ICSME 2026 Industry Track)
- 发布日期: 2026-10-22(arXiv v1)
- arXiv 原文: https://arxiv.org/abs/2610.31351
- AlphaXiv: https://www.alphaxiv.org/abs/2610.31351
推荐理由: 很少有 Software Factory 案例同时公开端到端流程、成本、成功率与失败边界。DoorDash 在 623 个仓库中管理超过 56,000 个 Feature Flags,研究给出了从读取真实 Rollout 状态到生成可审查 PR 的多 Agent 方案,而不是只展示自动生成的 Patch。
3 条核心要点:
- 先确认生产事实,再并行改代码。 Orchestrator(Claude Sonnet 4.6)从 Jira 和实验平台 MCP 获取过期 Flag、线上 Rollout 比例与最终生效值,工程师确认目标值后,Removal Agents(Claude Opus 4.6)才在独立 Git worktree 中并行清理引用、测试和无用分支,每个仓库最多同时运行 4 个 Agent。这避免仅凭代码里的默认值误删实际生效逻辑。
- 让可执行质量门禁决定 PR 是否合格。 Agent 必须通过构建、测试、JaCoCo 变更行覆盖率至少 95% 和 Detekt 检查,失败则诊断重试。50 次清理中,44 次首次 CI 通过;其中一些 Agent 对本地覆盖率的自检不准确,最终由独立 CI 发现问题。Worktree 隔离和禁用 Gradle Daemon 也用于减少并发干扰。
- 生产结果有用,可靠性边界也清晰。 50 个 Flag 中,31 个首次生成可接受 PR,14 个经小修后通过,5 个仍需工程师介入,总可用率 45/50(90%);平均 13.8 分钟、4.79 美元 API 成本/个。失败主要集中在跨接口、深调用链中残留的引用。样本来自单一公司 Kotlin 仓库,人工耗时基线是内部估计,不能直接外推到所有代码库。
核心启示:
Live System State → Human Confirmation → Isolated Agents → Tests/Coverage/Lint → Reviewed PR。让 Agent 自动消除技术债的前提,是能访问真实业务状态,并让外部检查器验收结果。
2. Stale Instruction Files Override the Code in Coding Agents: A One-Sentence Fix
- 作者/来源: Xiaonan Xu、Wenjing Wu / Georgia Tech、University of Colorado Boulder
- 发布日期: 2026-10-22(arXiv v1)
- arXiv 原文: https://arxiv.org/abs/2610.30571
- AlphaXiv: https://www.alphaxiv.org/abs/2610.30571
- 数据与代码: https://github.com/WenJing95/stale-docs-data
推荐理由: AGENTS.md 和 CLAUDE.md 常被视为 Agent 的长期约束来源,但当描述性规范过期时,它们可能反而推动 Agent 破坏已有代码。这篇论文用 40 个小型 Python 工程、两种 Coding Agent、共 320 次运行测量冲突,并测试一个极简干预。
3 条核心要点:
- 过期指令确实可能压过当前代码。 不加干预时,90.1% 的代码选择遵循已过期的指令文件,只有 4.2% 遵循现有代码约定。Claude Code 在 80 次运行的 79 次中指出了矛盾,却仍倾向于遵守旧文档;Codex CLI 在 80 次中有 20 次反向重写原有代码,其中 17 次造成原测试失败。
- 显式声明“现有代码约定优先”,效果显著。 作者在用户级指令中加入一句规则:当仓库描述性文档与现有代码冲突时,优先遵循现有代码的约定,并在最终回复列出冲突。遵循代码的选择占比由 4.2% 升至 91.4%;整体测试通过率由 89.4% 升至 100%,实验中也不再出现上述大规模重写。
- 问题与 Instruction Hierarchy 有关,但结论有边界。 作者推测,指令文件作为高优先级指令进入上下文,而读到的代码以工具输出形式出现,导致过期描述获得不当权重。实验只覆盖两个 Agent、40 个合成 Python 工程及单轮功能任务;“代码优先”适用于识别已过期的描述性约定,不能据此忽略明确的安全策略、授权要求或新需求。
核心启示:
Instruction File + Repository Reality → Conflict Detection → Explicit Precedence → Tests。Context Engineering 不只是补充规则,还要定义当规则与事实冲突时如何判定与报告。
今日思考
“谁才是当前事实的权威来源?” 两篇论文从不同侧面回答这个问题:DoorDash 的代码默认值不能代表线上真正启用的 Flag 状态;Coding Agent 读到的旧指令也不能代表仓库已经采用的编码惯例。
AI-native Software Factory 要区分三类信息:授权与不可违反的约束、随业务变化的真实运行状态、随代码演化的工程约定。它们既不应混为一个 Prompt,也不应全部交给执行 Agent 自行判断;关键决策需要有来源、有冲突处理规则,并可由独立测试或人工检查核验。