给 skill 建门禁:一天里的三种沉默失败、一次红线写法实证,和它抓到的上游 bug(又一只)
上个月我写过一篇《从 trace 到 eval》,主线是「测 agent」:trace 是一等公民,eval 要防假通过和假失败,门禁不是判官是反馈回路。文章里的 harness 测的是一个插件系统(dsh)的行为回归。
上个月我写过一篇《从 trace 到 eval》,主线是「测 agent」:trace 是一等公民,eval 要防假通过和假失败,门禁不是判官是反馈回路。文章里的 harness 测的是一个插件系统(dsh)的行为回归。
我开始做 AI 相关 App,从 chatbot 到 agent,一年多了,攒了些经验。这篇分享我在 trace 和 eval 上的做法与观点。
2025 年 4 月,得物技术团队发了一篇文章得物 iOS 启动优化之 Building Closure,讲他们排查到 iOS 启动耗时中 BuildingClosure 阶段的一次诡异暴增。根因不是动态库、不是编译选项、不是打包脚本,而是新增的几个 ObjC 方法名,跟已有符号在 dyld 的完美哈希构造算法里...
我在维护两个项目,一个是 Swift 写的 macOS CLI 工具(ForgeLoop),另一个是 Rust 写的微信 Bot(AMClaw)。开发阶段每次 push 都跑全量测试太费时间,而且有些测试在本地 commit 之前已经跑过了,CI 再跑一次完全重复。
在 iOS 开发里,没有哪个基础控件能像 UITextField 这样—-表面上代码只有一行,背地里却牵扯到半个操作系统的子模块。它泄漏、它卡顿、它生命周期诡异、它让内存检测工具集体失语。更麻烦的是,这些问题往往不是你代码写错了,而是系统层面组合出的结果。
把 Agent 的上下文理解成“聊天记录”,很自然,也很容易把问题看浅。
我最早把 Thought 看得很重。
前两篇写 Planning 和 ReAct 的时候,我其实一直没把问题说到底。