惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
Last Week in AI
Last Week in AI
博客园_首页
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
人人都是产品经理
人人都是产品经理
V
Visual Studio Blog
宝玉的分享
宝玉的分享
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
月光博客
月光博客
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
博客园 - 聂微东
S
SegmentFault 最新的问题
博客园 - 司徒正美
罗磊的独立博客
V
V2EX
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
美团技术团队
小众软件
小众软件
Jina AI
Jina AI

暗无天日

读:AI Agent 安全日志——从可见性与隐私的两难说起 - 暗无天日 AI写作的语言指纹——如何让文字不那么像机器 - 暗无天日 读:50 条 Claude Code 技巧——一个工程经理的六个月使用心得 读:AI 辅助开发为什么让 E2E 测试更有价值 - 暗无天日 读:在Emacs中使用Claude Code(Spacemacs适配版) - 暗无天日 Claude Code 背后的工程哲学——读 Agent Harness Engineering 读:Agent Harness Engineering——AI 智能体不只是模型,还有套件 - 暗无天日 browser-harness:让 AI 直接接管你的浏览器 - 暗无天日 读:Security-First CI/CD —— DevSecOps 自动化实践指南 TIL: 数字小键盘的小数点陷阱与行内算术求值 - 暗无天日 读:Immutability 不是万能药,它是一种权衡 - 暗无天日 Conducty:给 Claude Code 加上项目记忆和并行执行能力 - 暗无天日 读 — GitHub Trending 里的 Claude Code 技能包 读 — Prompt Caching 省钱指南 TIL: Emacs 中那些跟鼠标配合的冷门快捷键 - 暗无天日 读:Anvil——把 Emacs 变成 AI 的工具服务器 读:Emacs 代码折叠终极指南 - 暗无天日 读:Clojure 搭车客指南 - 暗无天日 git推送失败后恢复仓库损坏的完整记录 - 暗无天日 多智能体系统的两个有效模式——以及对 Claude Code 用户的启示 - 暗无天日 用 Org Babel 写 Literate 博文:扩展执行 + 定制导出 proced:Emacs 内置的进程查看器 - 暗无天日 从 proced 定制中学到的 Elisp 模式 读:让 Emacs proced 在 macOS 上显示 CPU 和内存 异步编程的函数着色税 - 暗无天日 链式调用的代价:JavaScript 和 Clojure 的共同教训 - 暗无天日 hyperfine:命令行基准测试工具 - 暗无天日 管道中的变量去哪了?——子 shell 作用域陷阱 - 暗无天日 开源包装器的信任陷阱:四个危险信号 - 暗无天日 程序员愿意为 AI 写文档,却不愿为同事写 - 暗无天日
读:软件测试的反馈视角——CLEAR 原则从测试到运维 - 暗无天日
2026-05-10 · via 暗无天日

Manioudakis 用 CLEAR 框架概括了有效反馈的五个特征。这套框架本来用于写 bug 报告,但结构完美适配运维场景。

Concise(精简)——最大化信号,最小化噪音

测试的反面例子:"支付模块好像有点奇怪,我在结账页面点了好几次按钮,有时候就没反应,卡住了。"CLEAR 版本:"结账:快速点击'购买'按钮触发竞态条件,UI 卡死。"

运维场景:告警信息尤其需要精简。一个真正有用的告警标题应该是"支付网关 /health 返回 503,持续 3 分钟",而不是"系统出问题了"。差别在后者收到告警的人还得去查才知道发生了什么,前者直接就能判断要不要爬起来处理。

Logical(逻辑链)——复现步骤有因果顺序

测试侧用四段式结构:前置条件 → 复现步骤 → 预期结果 → 实际偏差。如果故障是间歇性的,不说"它有时候会坏",说"只在缓存为空时(首次加载)出现"。

运维场景:故障报告最怕逻辑跳步。"中午用户反馈登录慢"跟"下午发现 Redis 连接数打满"之间缺了中间链条——是登录请求激增导致 Redis 连接数上升,还是 Redis 慢导致登录堆积?故障复盘没有完整时间线,根因分析就靠猜。

Empathetic(同理心)——把问题外化,不攻击人

测试的反面例子:"这个定价逻辑完全错了,代码审查怎么过的?"CLEAR 版本:"定价引擎里发现一个边界场景——老的折扣规则跟新的 VAT 规则冲突了。看起来是挺复杂的交互,我把日志附上了。"

运维场景:同样的原则。运维发现开发部署的应用吃光了连接池时,说"你的代码把连接池打满了"是钉人,说"这个版本的连接池配置可能跟当前并发量不匹配,峰值时到上限了"是钉问题。

Actionable(可行动)——拿到就能开工,不用回头问

如果对方收到你的反馈后还得再来问你"在哪看的?""什么时间发生的?""影响多大?",那就是不够 actionable。

运维场景:告警信息里附上处理步骤是最直接的 actionable。一个好的告警模板可以包含:什么服务、什么指标异常、持续多久、建议检查什么、谁 on-call。值班的人不用翻 runbook 就知道第一步做什么。

标题: [CRITICAL] 支付网关 /health 返回 503,持续 3 分钟
服务: payment-gateway
异常指标: 健康检查连续 3 次失败
影响: 用户无法完成支付(预估 50 笔/分钟)
建议操作: 检查 Pod 状态及最近一次部署日志
值班: @on-call-payments

Relevant(相关性)——对不同人说不同话

Manioudakis 举了个例子:同一个 bug,对开发说"堆栈跟踪在这里,环境版本,变量状态",对产品经理说"这个 bug 导致 10% 的英国用户今天无法完成购买,估计营收影响 £X",对管理层说"这个 UI 问题让登录过程看起来不安全,可能导致流失率上升"。

运维场景:故障通告也一样。给技术团队技术细节,给业务方恢复时间,给领导影响和风险等级。一份通告发给所有人是不负责任的。