# Knowledge Scout — 2026-04-17

**管道**: 146/151 feeds → 2528 条 → GPT-5.4 粗筛 1222 条（去重后 1145）→ Claude WebFetch 11 篇深度分析

## 高价值发现

### 1. Martin Fowler — Context Anchoring
**Insight Card**: `[旧共识: AI 对话状态靠上下文窗口维持] vs [新发现: 应外化到 feature-level 文档，使决策"survive session boundary"]`

- 核心机制：把"为什么选 X（以及拒绝了 Y）"写入随 session 启动加载的持久文档
- 里程碑式 litmus test：**"你能否无焦虑地关闭 session？"** — 如果不能，决策困在错误媒介
- 对比："Lost in the Middle" 研究表明长 context 中间段性能显著下降，锚定文档避免这个退化
- **与 VibeGuard 的关系**：与 MEMORY.md / exec-plan.md 完全同构；litmus test 可以纳入 exec-plan 验收标准
- 来源：https://martinfowler.com/articles/reduce-friction-ai/context-anchoring.html

### 2. Anthropic — Code Execution with MCP
**Insight Card**: `[旧共识: MCP 把工具 schema 灌进 context] vs [新发现: 让 agent 写代码、按需读 tool 定义，可 98.7% 降 token]`

- 具体数字：150K → 2K token（一个连接数千工具的场景）
- 中间结果问题：2h 会议转录从 Google Drive 到 Salesforce，走 model 两次 → 多 50K token
- **PII Tokenization**：MCP client 拦截数据，替换为 `[EMAIL_1]`，仅在目标工具被 untokenize；真实 PII **不经过模型**
- 架构启示：下一代 agent 更像"写代码调编排"，少像"直接 API client"
- 来源：https://www.anthropic.com/engineering/code-execution-with-mcp

### 3. arXiv 2506.01333 — MCP Tool Squatting / Rug Pull (ETDI)
**Insight Card**: `[旧共识: MCP 工具安装后可信] vs [新发现: 工具描述可静默改写 → rug pull，需加密签名 + 不可变版本 + policy engine]`

- 验证了 SEC-12 已记录的 4 类攻击（Tool Poisoning / Rug Pull / Tool Shadowing / Direct Injection）
- **新补充**: ETDI 方案给出三层防御：**加密身份验证 + 不可变注册表 + OAuth 2.0 + 策略引擎**
- 静态 OAuth scope 不够：需 runtime 上下文感知策略
- 来源：https://arxiv.org/abs/2506.01333

### 4. Addy Osmani — AI-Assisted Productivity Reality
**Insight Card**: `[旧共识: AI 给开发者 10× 效率] vs [新发现: 实测 20-30% 提速，senior 仅 8-16%，复杂 legacy 场景反而 -19%]`

| 研究 | 数据 |
|------|------|
| Google RCT | +21% |
| Microsoft/Accenture | +26%（junior 35-39%，senior 8-16%） |
| METR 经验 OSS 开发者 | **-19% slowdown** 在复杂 legacy 上 |
| Faros 10K 开发者 | 任务 +21%，**PR review 时长 +91%** |

- 66% 开发者：**"差点对"的修复**是最大时间黑洞
- 84% 使用 AI，但仅 60% 正面评价（2023 是 70%）— **净满意度在下降**
- 瓶颈转移：AI 加速编码 → 代码审查/QA 拥塞
- 来源：https://addyo.substack.com/p/the-reality-of-ai-assisted-software

### 5. Zvi Mowshowitz — Claude Code Auto Mode
**Insight Card**: `[旧共识: 人类在决策回路上把关] vs [新发现: 93% 批准率 = 系统性 rubber-stamping；分类器 17% 假阴性]`

- 两层防御：输入层 prompt injection 扫描 + 输出层 Sonnet 4.6 分类器
- 观察到"lazy-but-honest"模式：默认半拼凑，认真要求后可做到完美
- 失效分类：overeager / honest mistakes / prompt injection / misalignment

### 6. Eugene Yan — News Agents with MCP + Q + tmux
**Insight Card**: `[旧共识: news agent 靠单 loop 串行抓取] vs [新发现: main agent 分块派发到 tmux 并行 sub-agents，本地编排避免分布式复杂度]`

- **与 rss-scout 直接同构**：main agent 读 feeds.txt → 分片 → sub-agents 并行 → 汇总
- FastMCP `@mcp.tool()` 每个源自定义 parser；约 5 个 news 工具 + 通用 file/bash
- 故意放弃远程部署："weekend hours to hack"约束下，本地 tmux > 分布式
- 来源：https://eugeneyan.com/writing/news-agents/

### 7. Stripe — Minions End-to-End Coding Agents
**Insight Card**: `[旧共识: agent 迭代越多越可能完成任务] vs [新发现: Stripe 对 CI 迭代写死 ≤ 2 轮，"diminishing marginal returns"后强制 halt]`

- 规模：每周千余 PR 合并
- 关键模式：**deterministic-agentic interleaving**（agent loop 穿插确定性步骤：git/lint/test）
- 400+ 工具经内部 Toolshed MCP 接入
- **按子目录条件化规则**（Stripe 规模下无法维持大量 unconditional rules）
- 本地 heuristic lint <5s → shift-left，避免 CI 成本

### 8. Sebastian Raschka — Coding Agent Components
6 组件：Live Repo Context / Prompt Shape + Cache / Tool Access / Context Min / Memory / Subagents
- 提示缓存的三段式：稳定前缀（工具+指令+repo 摘要）+ 变动 session state + 当前 request
- Context compaction 两策略：**clipping**（截短单条长输出）+ **transcript reduction**（压缩老历史保留近况）
- Mini Coding Agent <400 行 Python 示范

### 9. Ben's Bites — Leaked Claude Code 架构
- **情绪检测**：代码中有"frustration/anger keyword → analytics marked negative"
- Proactive Autonomy Mode（未发布）：AI 无需 prompt 主动工作
- `/buddy` Tamagotchi 式陪伴功能（产品方向）
- 终端 UI 渲染重做（消除 flicker，mouse support）

### 10. Interconnects — GPT-5.4 step change
- 四维进步：correctness / ease / speed / cost
- 关键 meta：**token efficiency 作为新核心 metric**（Cursor 数据：新模型用更少 token 达到同峰值）
- Codex app fast mode 从未撞到限额（对比 Claude 经常撞）
- Benchmark 需重设计：单数分数会误导，应拆分 correctness/latency/cost/usability

### 11. Addy Osmani — Conductors to Orchestrators
- Conductor（同步带 1 个 agent）→ Orchestrator（设目标，多 agent 异步并行）
- 瓶颈前移：review & integration，不是实现
- 失效：**上下文碎片化**（agent 间 state 不共享）— 需"specification-driven tasks"

---

## Bridge Notes（跨领域关联）

### Bridge 1 — Stripe CI=2 印证 W-15「低收益循环检测」（强关联）
```
If [Claude Code 3 轮低收益即触发 halt] works →
then apply to [production CI pipelines, Stripe 对 unattended agent CI 写死 ≤ 2 轮]
```
两个独立来源（Claude Code 对话层 + Stripe production agent pipeline）汇聚到同一模式：**成本感知 halting**。
**结论**：W-15 可从"对话守卫"泛化为"Agent 工程通用原则"。不新增规则，补入 W-15 证据表。

### Bridge 2 — "93% 批准率 = rubber-stamping"补强 W-16（强关联）
```
If [Addy: AI 生成 PR 导致 rubber-stamping, review +91% 时长但 depth 不够] works →
then apply to [Claude Code Auto Mode: 用户 93% 批准率 = 同样的麻木模式]
```
两处独立数据都指向**默认批准是安全系统性漏洞**。
**结论**：任何 auto-approval UI 需要区分"采样率 ≠ 批准率"来打破麻木。W-16（验证必须本会话产生）已部分覆盖，不新增规则。

### Bridge 3 — Code Execution with MCP 反向启发 rss-scout（可能关联）
```
If [Anthropic: agent 写代码 → 98.7% token 节省] works →
then apply to [rss-scout Step 2 当前 GPT-5.4 对 2528 条全量评分，改为让 Claude 写本地 Python 评分脚本]
```
**推断**（置信度：中）：rss-scout 本次 Step 2 耗 96s + 大量 token；改为 Claude 生成本地 heuristics 脚本（关键词 + 信号匹配），再仅对 top N 召回送 Claude 精筛，可能节省 80%+ API 成本。
**待验证**：需要实际测 token 消耗对比。

### Bridge 4 — "差点对"是 AI 代码核心失效模式（中关联）
```
If [Addy: 66% 开发者最大时间花在 "almost correct" 修复] works →
then apply to [SEC-11 已记录数据：45% AI 代码含漏洞，XSS 2.74×，逻辑错误 1.75×]
```
都指向"表面合理但细节错"的 silent drift。**建议**：code-review skill 的 primary 检查点应是"差点对"模式（边界条件、空集/单元素/off-by-one、类型边界、默认值），而非"明显错误"。

### Bridge 5 — Eugene Yan News Agents ↔ rss-scout 架构（强关联）
```
If [tmux + sub-agents 并行处理 feeds 分片] works →
then apply to [rss-scout Step 3 Claude 精筛，当前串行，可用 sub-agent 并行分片]
```
**前提**：需要能接受 sub-agent 并行成本；文件所有权要按 W-14 显式分配（每 agent 负责不重叠的 feed 集合）。

### Bridge 6 — Raschka 6 组件与 VibeGuard L1-L7 的映射（自审）

| Raschka 组件 | VibeGuard 现有对应 | 差距 |
|------|------|------|
| Live Repo Context | preflight | 覆盖 |
| Prompt Shape + Cache | （无） | **缺失**：VibeGuard 未显式指导提示缓存 |
| Tool Access | hooks + skills | 覆盖 |
| Context Min | 无明确规则 | 部分：W-13 只读瘫痪守卫是负面约束，无正面 compaction 指导 |
| Structured Memory | MEMORY.md | 覆盖 |
| Subagents | W-14（文件所有权）| 覆盖 |

**推断**（置信度：中）：VibeGuard 对 **prompt caching / context compaction** 无正面指导。按 W-17（少而智能 gate），不立刻加规则，**标记为 DEFER**。

---

## 决策 & 产出

按 **W-17 少而智能的 gate > 多而机械的 gate**，本次不新增规则。

| 候选动作 | 决策 | 理由 |
|----------|------|------|
| 新增"PR review 默认不批准"规则 | ❌ 拒绝 | SEC-11 + W-16 已覆盖"必须有新鲜验证"语义 |
| 扩展 W-15 加入 Stripe CI=2 证据 | ✅ 待做 | 强化已有规则的跨领域证据，不增数量 |
| 新增 SEC-12 ETDI 细化 | ⚠️ 观望 | 实际加密签名在 MCP 生态未普及，加规则过早 |
| 把 Context Anchoring litmus test 加到 exec-plan | 🔄 P2 候选 | "是否能无焦虑关闭 session" 是强力验收标准 |
| rss-scout 本地 heuristics 替代 GPT 粗筛 | 🔄 P2 候选 | 需实测 token 对比 |
| 今日产出 = 本摘要（知识积累）| ✅ 完成 | 11 条深度分析 + 6 条 Bridge Notes |

## 参考（本次 WebFetch 成功的 11 篇）
1. https://arxiv.org/abs/2506.01333 — MCP ETDI
2. https://www.anthropic.com/engineering/code-execution-with-mcp
3. https://martinfowler.com/articles/reduce-friction-ai/context-anchoring.html
4. https://addyo.substack.com/p/the-reality-of-ai-assisted-software
5. https://thezvi.substack.com/p/claude-code-codex-and-agentic-coding
6. https://eugeneyan.com/writing/news-agents/
7. https://www.interconnects.ai/p/gpt-54-is-a-big-step-for-codex
8. https://www.bensbites.com/p/inside-the-leaked-claude-code-files
9. https://addyo.substack.com/p/conductors-to-orchestrators-the-future
10. https://stripe.dev/blog/minions-stripes-one-shot-end-to-end-coding-agents
11. https://magazine.sebastianraschka.com/p/components-of-a-coding-agent

**WebFetch 失败**（405/403，跳过不影响结论）：InfoQ (Linux Kernel vuln / Cloudflare Code Mode), OpenAI (Codex almost everything)

---

# Round 2 — 补深度分析（同日追加）

第一轮从 215 条 20 分只 fetch 了 11 篇。第二轮从剩余 43 条 20 分中挑 6 篇独立视角（4 成功 / 2 条 404）。

## 新发现

### R2.1 Aider — Architect/Editor 模型分离
**Insight Card**: `[旧: 单模型包打天下] vs [新: 推理模型（o1-preview）写解决方案 + 编辑模型（Sonnet/DeepSeek）翻成 diff → 85% SOTA, 14× 降成本]`

- 85% pass（whole format）vs 79.7% baseline = +5.3pp
- 自配对也提升：Sonnet / GPT-4o / GPT-4o-mini 作 Architect+Editor 同模型对也升分
- DeepSeek 意外强于 Editor 角色（模型特化不可预测）
- **局限**：whole 格式太慢，交互场景不实用
- 来源：https://aider.chat/2024/09/26/architect.html

### R2.2 Addy — The 80% Problem / Comprehension Debt
**Insight Card**: `[旧: AI 代码跑通就合入] vs [新: 你不理解的合入 = 复利负债，inverted effort 70% 问题定义+验证 / 30% 执行]`

- **Comprehension debt（Jeremy Twei 命名）**: agent 不累你会累→ 评审压力下推未真正理解的代码上线 → 未来无法维护
- 最后 20% 的内容：假设校验 / 概念 pushback / 生产加固 / 架构一致性
- 5 条战术：
  1. **反转 70/30**: 70% 问题定义+验证策略，30% 执行
  2. **Fresh-context self-review**: 让模型用干净 context 批判自己的输出
  3. **Tests first** 作为客观成功标准
  4. **保留手写练习** 防问题解决肌肉退化
  5. **承认心理冲击**: orchestrator 角色感觉像管理
- 数据：团队 PR +98% 但 review +91% → 认知负荷只是从写转移到审
- 来源：https://addyo.substack.com/p/the-80-problem-in-agentic-coding

### R2.3 Simon Willison — MCP Prompt Injection（通俗版）
**Insight Card**: `[旧: MCP 独有安全问题，可通过技术方案解] vs [新: 这是 2.5 年未解的通用 prompt injection，Willison 承认"不知道怎么解"，只能靠 UI + human-in-loop]`

- 三类攻击：
  1. **Tool Poisoning**: 工具描述埋指令读 `~/.cursor/mcp.json` 外泄
  2. **Rug Pulls**: 安装后静默改描述重定向 API key
  3. **WhatsApp exploit**: 假"日常小知识"工具用空白符混淆转发消息历史
- 客户端防御：首次展示工具描述 / 描述变更告警 / 不用隐藏滚动条
- 服务端防御：sanitize 外部输入 / 不 shell 调 unsanitized / UI 清晰
- **关键分歧**: Willison 拒绝给技术解决方案，"I don't know what to suggest"——与 ETDI 学术解不同
- 来源：https://simonwillison.net/2025/Apr/9/mcp-prompt-injection/

### R2.4 addyosmani/agent-skills（GitHub 17K⭐）
**Insight Card**: `[旧: 每团队自写 skills] vs [新: 20 个覆盖全生命周期 skills 开源成熟，SKILL.md 含 rationalizations + red flags + verification 字段]`

- 六阶段结构：Define(2) / Plan(1) / Build(6) / Verify(2) / Review(4) / Ship(5)
- **SKILL.md 新格式要素**：frontmatter + overview + triggering / process / **rationalizations（常见借口）** / **red flags** / **verification evidence**
- 高价值 skills: test-driven-development / code-review-and-quality / security-and-hardening / git-workflow-and-versioning
- 多平台：Claude Code / Cursor / Gemini CLI / Windsurf / Copilot
- 来源：https://github.com/addyosmani/agent-skills

## Round 2 Bridge Notes

### Bridge 7 — Architect/Editor 模型分离 ↔ Raschka "separate storage from prompt logic"
```
If [Aider: 推理+编辑分离 → +5.3pp, 14× cost reduction] works →
then apply to [VibeGuard review / build-fix skill: 分析判断 vs 修改动作分开]
```
**推断**（置信度：中）：VibeGuard 当前 skill 同一次调用内混合"分析+建议+改动"，参考 Aider 模式可能提升精确率。

### Bridge 8 — Comprehension Debt + Fresh-context self-review ↔ W-16
```
If [Addy: 用新 context 让模型自评，能发现自身错误] works →
then apply to [VibeGuard W-16 验证要求，加一条"用 fresh context 复核本会话结论"]
```
**推断**（置信度：高）：Fresh-context self-review 与 vibeguard:cross-review（双模对抗）同向；但更轻量——单模不同会话即可。可能是 cross-review 的"穷人版"。

### Bridge 9 — Willison "不知道怎么解" ↔ SEC-12 的落地边界
```
If [Willison 认为 MCP prompt injection 无技术解, 只能 human-in-loop] works →
then apply to [SEC-12 加一条"不要把 MCP 安全做成纯技术 gate"]
```
**推断**（置信度：高）：SEC-12 已记录 5 项机械检查，应补充 **"即使 5 项全过，仍需用户层确认高风险工具调用"**——承认 illusion of control 的边界（与 U-32 语义一致）。

### Bridge 10 — addyosmani/agent-skills 的 "rationalizations" 字段 ↔ VibeGuard 规则格式
**最具操作性的 Round 2 发现**：Addy 的 SKILL.md 有一个 VibeGuard 没有的字段：
> **rationalizations**: "常见用来跳过这一步的借口" 列表

VibeGuard 当前规则只记录"应该做什么"，缺少 **"为什么人会跳过这条规则"** 的预判。这与 U-32 的 curse-of-instructions 机制互补：前者解释"规则太多"，后者指出"即使少规则也会被跳过"。
**可操作建议**（P2）：把 rationalizations 字段加入 VibeGuard 规则模板（W-17 仍约束不随便加规则，但现有规则可补字段）。

## Round 2 决策

按 W-17 原则本轮仍不新增规则。新动作候选：

| 候选 | 决策 | 理由 |
|------|------|------|
| 把 `rationalizations` 字段纳入 VibeGuard 规则模板 | 🔄 P2 候选 | Addy 17K⭐ repo 验证有效，但需先改模板 3-5 处看反应 |
| W-16 加"fresh-context self-review 是 cross-review 的轻量版"note | 🔄 P2 候选 | 已有 W-16 + cross-review，只加 note 不增规则 |
| SEC-12 补"即使技术 gate 全过也要人工确认"note | 🔄 P2 候选 | Willison 视角校准 illusion of control |
| 增量追加到本文件（不新开日期）| ✅ 完成 | 同一轮 scout 数据，避免日期混淆 |

## Round 2 数据核对（风险提示）

**WebFetch 小模型 + 我（Claude 综合）双层加工**，未做原文交叉核对。高置信数据（85% SOTA / 98.7% token 节省 / +91% review 时长）来自 WebFetch 摘要，若要据此落规则应先用 Read/curl 验证原文。

- WebFetch 成功率：本轮 4/6（66.7%），全程 15/20 = 75%
- 失败原因：2 条 404（Uber / TWIML 播客），3 条 405/403（InfoQ ×2 / OpenAI）

---

# Follow-ups（跨会话待办）

此段是 scout 会话结束时固化的未决动作，便于新会话恢复上下文（W-16 + Context Anchoring）。**中央索引在 `docs/internal/followups.md`**。

## Round 1 P2 候选（2026-04-17 首轮）

- [ ] 把 Context Anchoring litmus test（"能否无焦虑关闭 session?"）加到 `exec-plan` 验收标准
- [ ] rss-scout Step 2 本地 heuristics 粗筛 PoC（对比 GPT-5.4 API 的 token 成本，量化决定替换）
- [ ] 对照 addyosmani/agent-skills 六阶段 20 skills 做 VibeGuard 差距分析（半小时）

## Round 2 P2 候选（2026-04-17 补分析）

- [ ] 把 `rationalizations` 字段从 W-16 roll out 到 W-12/W-15/SEC-11/SEC-12（若试点有效）
- [ ] SEC-12 补 note: "即使 5 项机械检查全过仍需人工确认高风险 MCP 工具调用"（Willison 视角，反 illusion of control）
- [ ] 验证 VibeGuard review/build-fix skill 是否适用 Aider Architect/Editor 分离模式

## W-16 试点后续（E1-E4）

- [ ] **E1** 观察 W-16 rationalizations 字段 1-2 天效果（需要 hooks stats 量化 skip 率）
- [ ] **E2** 若 E1 正向，rollout 到 W-15（低收益循环）+ 另 5 条 rationalizations
- [ ] **E3** 把 PR #78 / 分支 `docs/scout-2026-04-17` 的 scout 文档、Round 2 补分析、W-16 rationalizations 试点整体 review 后合入 main
- [ ] **E4 反向触发条件**：若 E1 观察到规则冲突或负反馈，开 follow-up PR 移除 W-16 rationalizations 字段

## 原文核对债务（风险降级）

当前多项高价值数据来自 WebFetch 小模型摘要 + Claude 综合，未交叉验证：
- [ ] Aider Architect/Editor 85% SOTA / 14× cheaper 数据
- [ ] Anthropic Code Execution MCP 98.7% token 节省数据
- [ ] Addy Reality Productivity 数据（Google 21% / Microsoft 26% / METR -19% / Faros +91% review）
- [ ] Stripe Minions CI ≤ 2 轮上限的原文位置

**触发条件**：要据以上数据改规则时，必须先 `curl | Read` 原文核对。仅用于文档摘要时可不核对。
