柯南 AI 在快手内部大前端研发的用户渗透率接近 60%,根因分析结果的完整采纳率稳定在 50%。这套系统真正对其他团队有借鉴价值的,不是五层架构本身,而是嵌在架构里的四条硬约束——以及抄这套架构之前必须先想清楚的三件事。
本文基于快手主站技术稳定性专家王泽锋在 AICon 2026 上海站的公开分享《AI Coding 提速之后,如何补上稳定性"最后一公里"?》整理与延伸,原文见 InfoQ 中文站。这场分享把"柯南 AI"这套内部系统的五层架构、Skill 建设方法和 Bad Case 闭环都摊开来讲,是过去半年国内少见的能落到具体决策的稳定性 Agent 案例。我们要做的不是复述那五层,而是把里面真正对其他团队有借鉴价值的硬约束抽出来,同时点名一些原文没细说、但从我们看别人复制这类架构时反复踩到的坑。
Cursor、Claude Code、Codex 这一轮 AI Coding 工具把研发吞吐拉了一档,但线上告警、根因定位、止损决策、修复回归这一整条下游链路没有同步提速——这就是分享里反复强调的"最后一公里"。柯南 AI 在快手内部大前端研发的用户渗透率接近 60%,根因分析结果的完整采纳率稳定在 50% 左右。用来标定这个水位的经典案例是一个只有系统堆栈的鸿蒙 C++ Crash:Agent 在约 10 分钟内串起寄存器、业务日志和源码,定位到系统库 libuv 的一个 Async Handle Use-After-Free,并帮团队找到止损开关。

图:柯南 AI 的五层架构总览——应用层 / Agent 编排层 / Agent Harness 层 / 数据服务层 / 端侧基建层,外挂反馈迭代与可观测机制。来源:快手王泽锋 / AICon 2026 上海站分享。
原文的五层架构容易被当成"抄作业模板",但真正决定这套系统能不能跑起来的,是嵌在架构里的四条约束。它们跟层数无关,跟你团队多大也无关,都能直接搬。
约束一:确定性的归代码,概率性的归模型。 报警处置这类流程清晰、规则明确、答案唯一的任务,用代码复刻人工 SOP,只在部分子环节引入模型;只有真正涉及理解、推理和判断的部分(比如根因分析里横跨堆栈、源码、代码变更、聚合特征、历史相似 Case 的证据链构建),才让 Agent Loop 承接。这一层的自我审查题是:"这个任务如果我明天写死一段脚本,能不能得到同样答案?" 如果能,就不要放 LLM。
约束二:单次 LLM 请求能解决,就不要用 Agent。 Agent Loop 每多一轮,就多一次 LLM 请求、一次 Tool Call 失败可能、一段自主决策跑偏的可能。快手团队把报警"快速分析"做成典型样本:代码聚合 APM 维度数据 → 一次性喂进 Prompt → 按预设结构化模板输出结论,端到端 1 分钟内完成。这条约束在国内落地时最容易被忽略,因为"上 Agent"听起来比"跑一次 LLM"高级,但加轮次不是加价值。
约束三:Agent Harness 用现成的,Skill 才是本地知识的载体。 柯南 AI 没有从头搭通用框架,直接用 Claude Agent SDK;前期原型探索过 AutoGen 编排、基于 OpenAI Agent SDK 的自研 Workflow,最终敲定在 Claude Agent SDK 上做轻量化定制:剥掉与稳定性无关的通用 Coding 约束、Auto Memory、通用 Skill 清单等噪声,注入领域硬规则(区分推测与确定性结论、标注置信度、禁止跨问题类型联想);同时把 Read/Write/Edit 等 Bash 类工具的访问路径锁定在 CWD,绝对路径越界直接拒绝。

图:Claude Agent SDK 的轻量化定制两条主线——围绕稳定性领域精简 System Prompt,同时精简工具集并把 Permission 锁到 CWD。来源:快手王泽锋 / AICon 2026 上海站分享。
约束四:数据服务给 Agent 用的是 Bash 接口,不是 API Spec。 源码服务把原本面向人的 GUI 数据接口重新包装成面向 Agent 的 Bash 接口:Agent 用 git grep、git blame 在源码仓库里自由探索,模型训练语料里本来就见过大量 Bash,不需要为每种查询重新定义 API Spec。灵活性给足了,但配套是容器只读挂载 + 完整命令日志 + 执行超时——自由探索的前提是不能越界。
这套系统里最花力气的不是编排也不是 Harness,是那 30 多个 Skill、正文与 Reference 加起来接近 2 万行的私域知识。原文讲了两类 Skill 构成要素,都是踩过坑抽出来的:
一类是私域知识注入,处理"字段语义与上报时不一致"和"内部框架 / SDK 从未进过训练语料"两种典型。比如低版本 Android 的 APM SDK 会把 FD 数超阈值标成"FD OOM",但这套规则在高版本已经失效——如果 Agent 看到这个标签还按旧规则分析,会非常自信地给出错误结论,所以要在 Skill 里明确写成禁止行为。又比如内部崩溃兜底 SDK Ekko 的栈帧和根因无关,如果不加约束 Agent 会沿着 Hook 逻辑追下去把方向带偏。

图:两类私域知识注入示例——字段语义已与上报时不一致的 FD OOM 判定,以及内部框架 Ekko fake_exception 栈帧跳过。来源:快手王泽锋 / AICon 2026 上海站分享。
免费获取企业 AI 成熟度诊断报告,发现转型机会
另一类是根因分析 SOP。鸿蒙 AppFreeze 的分析流程被写成完整决策树:先取卡死前的多次采样堆栈,比较是否一致,判断是主线程真阻塞、还是过于繁忙无法处理窗口消息;确认阻塞后再看全线程堆栈,判断哪个线程持有锁卡住主线程。Android Native Crash 与鸿蒙 C++ Crash 的信号路由更直接:SIGABRT 优先查 Abort Message,因为根因通常已经写在那里;只有 SIGSEGV 才继续进反汇编、寄存器分析。

图:两个根因分析 SOP 决策树——鸿蒙 AppFreeze 主线程判定,以及 Native Crash 按 SIGABRT/SIGTRAP 走 abortMsg、SIGSEGV/SIGBUS 走深度分析。来源:快手王泽锋 / AICon 2026 上海站分享。
Skill 的组织原则也很直接:不与 Agent 工程耦合,独立 Git 仓库维护、独立发布灰度回滚;按异常退出类型划分边界,Android Java Crash / iOS Crash / Android Native Crash 各自独立——宁可接受适度重复建设,也要避免跨端、跨异常类型的上下文污染。这条边界规则很容易被"复用"的直觉拉偏,值得复述一遍:同一段 Prompt 试图覆盖两种问题类型时,你实际上在让模型自己判断"这次算哪种",那就是幻觉的入口。
看别人的架构图容易上头,尤其是画得干净的五层结构。但把这套系统真正搬到自己团队之前,有三件事必须先想清楚,否则大概率抄了个空壳。
第一,你的私域知识足够沉淀成 Skill 吗? 柯南 AI 能跑起来的前提是快手这些年在稳定性领域积累的经验足够多、足够结构化,而且这些知识确实不在公开语料里——Ekko 这种内部 SDK、consumerProguardFiles 传导 R8 关闭这种 case,模型再强也猜不到。如果你的团队没有这个存量,Skill 就是空目录,光有架构没有内容,Agent 会被打回"通用 Coding 助手"的水位。先审计知识存量,再决定要不要上这套 Agent。
第二,你的端侧基建能给 Agent 什么现场? 王泽锋在原文里说得很清楚:"上下文才真正决定 Agent 的效果上限。Agent 无法凭空创造信息。"柯南 AI 正在往 Android / iOS / 鸿蒙三端的 Core Dump 方向探索,因为 Tombstone 只能给出 PC 附近几百字节内存,覆盖不了 JIT 机器码这类问题。如果你的监控系统只上报堆栈和最基本的元数据,Agent 就只能在这个信息量上做推理,做不到"10 分钟证据链"这种水位。端侧基建的升级是"为 Agent 优化"而不是"为人优化"——这也是原文里最容易被忽略、但落地时最影响 ROI 的一句话。
第三,你有闭环团队跑 Bad Case 迭代吗? 原文的第五点结论"反馈迭代决定 Agent 长期表现",落到具体动作是 Case 标注平台 + 统一采纳率标准 + 固定例会 Review。这不是一个技术问题,是一个团队问题——如果没有专人跑这条闭环,模型效果会在两三个月内滑回起点,Skill 会被搁置成过期文档。国内做过 AIOps 的团队多半在这一步栽过,跟柯南 AI 换个名字面对的是同一道题。

图:柯南 AI 当前定位——落在拦截域 / 监控域 / 排障域 / 止损域中的问题处置环节,覆盖报警处置、根因分析、修复建议、治理初检四类场景。来源:快手王泽锋 / AICon 2026 上海站分享。
柯南 AI 这套系统跟传统 SRE 手册里的"5-whys、无责事后复盘、错误预算"并不冲突——它其实是在给"事故发生后的第一分钟到第十分钟"这个时段提供一个 AI Native 的答案。5-whys 和事后复盘服务的是"事故之后到下一次上线"的中长周期;柯南 AI 服务的是"报警响起到止损完成"的短周期。两者叠加,才是完整的稳定性纵深。
另一个值得留意的信号是 Agent Harness 的技术选型正在收敛到 Claude Agent SDK。快手团队走过 AutoGen、自研 Workflow、最后落到 Claude Agent SDK,这条路径不是孤例——今年下半年多家国内公司在做同样的收敛。原因不是 Claude 模型本身有多强,而是这个 SDK 把上下文管理、Skill 加载、Permission 沙箱这些能力打磨得足够成熟,团队可以把注意力从"造框架"转到"沉淀私域知识"。谁能更早把注意力挪到 Skill 上,谁就能更早享受模型升级的红利——这是原文里"Context 才是壁垒"这句话背后真正的意思。
还有一件事值得单独拎出来。原文提到目前 Agent Harness 层的两个瓶颈:一是思考深度不足,比如遇到 NPE 只能指出"这里为空",无法沿数据流继续追踪到"什么数据经过什么路径导致对象为空",信息缺失时还容易补出似是而非的幻觉结论;二是修复效果明显落后于排障效果,因为 Agent 缺少历史修复经验,而大量业务"暗知识"只存在于人脑中——某块代码能不能改、改成什么样才符合业务规范,既不在堆栈里,也不在文档里。这两个瓶颈提醒国内团队:排障和修复不是同一个难度等级,把 Agent 推到修复自动化之前,先看看 Memory 体系有没有跟上、业务暗知识有没有显性化。没有被表达和沉淀的知识,就无法成为 Agent 可以使用的上下文。
如果你在负责一个 AI Coding 落地项目,那么下一次上线扩容之前,把这四条约束和三件事逐条对照一遍:确定性 vs 概率性的分工、单次 LLM vs Agent 的边界、Harness 复用 vs Skill 私域、Bash 接口 vs API Spec。剩下的架构画法可以自己决定。








关注公众号

扫码关注,获取最新 AI 资讯
3 步完成企业诊断,获取专属转型建议
已有 200+ 企业完成诊断