SRE Agent 设计笔记 04:INTENT Convention 与 Untrusted Input

状态:大纲

核心论点

Audit log 只记录 what 不记录 why 是一个老问题。INTENT convention 用 bash 注释嵌入推理,零工具开销。这个设计是被约束逼出来的:Claude Code 的 hooks 无法访问 conversation context,所以推理必须嵌入命令本身。约束驱动设计(constraint-driven design)本身值得展开。

大纲

1. 问题:Audit Log 的 Why 缺失

  • 传统 audit log 记录了谁、在什么时间、对什么资源、做了什么操作
  • 缺失的是 why:为什么做这个操作?基于什么观察和推理?
  • 对人类 SRE:why 在 incident channel 的对话里,或者在 postmortem 里
  • 对 agent:conversation context 会被压缩,why 消失得更快

2. 约束驱动的设计

  • Claude Code hooks 的架构限制:PreToolUse hook 只能看到即将执行的命令,看不到 conversation
  • 这个限制把设计空间收窄到:推理信息必须编码在命令本身里
  • 解法:bash 注释 # INTENT: <reasoning>
  • 零工具开销、零临时文件、audit hook 用 regex 提取

3. INTENT Convention 具体设计

1
2
# INTENT: 2 pods OOM crashlooping, scaling down to reduce memory pressure
kubectl scale deploy payments-api --replicas=1 -n payments
  • 格式:一行,重点是 WHY 不是 WHAT(命令已经说了 what)
  • 规则:必须在同一个 Bash 调用中,命令之前
  • 门控:没有 INTENT 的 mutating command 被标记,gate 会提醒

4. PRE/POST Hook 配对

1
2
3
4
5
6
[PRE]  why  2 pods OOM crashlooping...
cmd scale deploy payments-api --replicas=1

[POST] why ↳ ... [inherited from PRE]
cmd scale deploy payments-api --replicas=1
out deployment.apps/payments-api scaled
  • PreToolUse: 提取 INTENT + 做语义门控
  • PostToolUse: 记录执行结果 + 继承 PRE 的 INTENT
  • 配对形成完整的因果链

5. Untrusted Input:集群输出物的注入风险

  • Agent 有执行权限,同时读取 pod 日志、event、annotation
  • 这些内容是 untrusted external data,和 web 应用的用户输入同等级别
  • Prompt injection via cluster output 是被严重低估的攻击面
  • 防御:CLAUDE.md 硬编码规则 + 人工确认门控
  • 类比:web 安全里 SQL injection 的教训 → agent 安全里 prompt injection 的类比

6. 推理真实性的未解问题

  • CoT(Chain of Thought)可能是 post-hoc rationalization,不反映真实决策逻辑
  • INTENT convention 让推理显式化了,但不保证推理的真实性
  • 这是一个 epistemological 问题,影响 audit 可信度
  • 当前立场:显式的可能不真实的推理 > 完全不可见的推理

涵盖的 Topic

  • Topic 6: INTENT convention
  • Topic 8: Untrusted input / prompt injection via cluster output

源文件引用

  • contexts/thought_review/agent_k8s_safety_infra_2026-03-28.md — INTENT convention 完整设计、hook 实现细节、untrusted input 分析、cluster tiering(本篇引用 INTENT 和 untrusted 部分)
  • contexts/thought_review/agentic_control_theory_primitives_20260413.md — Hook 作为原语的理论位置
  • contexts/thought_review/agent_sre_production_systems_synthesis_20260330.md — INTENT convention 解决 audit log「what without why」问题