把工作显性化
TAM Work, Made Visible告警进来,报告出去——更重要的是:每一次排查都被完整留存。「排查故障」这件原本藏在个人经验里的事,变成可阅读、可评测、可复用的资产。
新人 · 照着 trace 学排查
入职不靠口口相传:读一遍完整 trace——思考、工具调用、观察、报告——看一次故障是如何被一步步收敛到根因的。
thought → tool_call → observation → report
老 TAM · 梳理自己的工作
排查不再是消失的聊天记录:每次沉淀为三段式报告与 trace 账本;故障模式注册表就是你的工作清单。
cpu_spike · slow_query · oom · pool_exhausted
团队 · 沉淀最佳实践
trace 回流语料库、沉淀为 Skill;故障注册表同时是评测集——好的排查经验成为可验证、可复制的团队能力。
eval: 命中率 · 平均步数 · token 成本
排查即语料
Traces as Corpus每步思考 / 工具调用 / 观察以 JSONL 落盘 traces/<alert-id>.jsonl——报告与 trace 都是语料资产,可回流语料库、沉淀 Skill。上表为 cpu_spike 演示样例。
大脑与手脚分离
Brain / Hands over MCPorchestrator 只推理
运维专家 Agent(AgentScope ReAct):接告警 → 排查计划 → 调度子 Agent → 汇总报告。metric-agent / log-agent 独立协作。
主备自动切换 · 重试退避
MCP 工具总线
数据获取全部走固定签名的 MCP 工具,mock 与真实后端互换零改动。
query_logs(service, start, end, level?, keyword?)
护栏前置
命令白名单 + dry-run 预览 + 敏感操作人工确认,先于自主性。
DENY rm -rf /data → 白名单外,拒绝并记录
PASS restart demo-app → dry-run 预览后人工确认
根因报告,三段交付
Structured RCA根因报告
demo-app CPU 使用率 92.5%(阈值 80%)。根因:订单查询慢查询(duration≈2.3s)打满 CPU,指标与日志证据闭合。
- cpu_usage 92.5% > 80%,持续 12 分钟
- ERROR 日志 47 条:slow query detected
- load_1m 8.34,高于基线 2.7σ
- 为订单查询补复合索引(dry-run 预览)
- 对慢查询接口限流降级
- 复盘后沉淀为巡检规则
不是聊天记录,是可交付文书
结论摘要、异常清单、建议动作三段结构固定落盘 Markdown;同一份证据链同时进入 trace 语料。故障模式注册表(cpu_spike / slow_query / oom / connection_pool_exhausted)既是演示剧本,也是评测集。
评测集即故障注册表
Measurable按故障模式逐个跑通,断言报告产出且根因命中。
最大 15 步 + token 预算双重上限,超限强制收敛。
主备模型切换在成本与命中之间取平衡。
未点亮的格子也是设计:排查中排除掉的假设,以幽灵格留在面板上。
演进路线
Roadmap M0–M5后期演进(按需展开)
三分钟跑通闭环
Quick Startuv sync
uv run open-tam fault inject cpu_spike
uv run open-tam investigate --alert-file /tmp/alert.json --fake
cat reports/*.md # 三段式根因报告
无 Key 闭环用 FakeChatModel;换上 DASHSCOPE_API_KEY 即走 Qwen 真实模型排查。Python 3.12 · uv 管理环境。