1. 这不是一本“理论手册”,而是一份AI Native团队的实战日志
“AI Native 团队完整开发落地手册”——这个标题里没有一个虚词。它不讲“AI如何改变世界”,不谈“未来已来”,更不堆砌“范式跃迁”“认知革命”这类空洞概念。它只回答六个最硬的问题:一支真正把AI当作一等公民、而非工具或插件的团队,每天早上九点坐进工位后,第一件事该做什么?代码仓库里第一个commit该提交什么?PR Review时必须卡住哪三条红线?测试用例里怎么写才算覆盖了“模型不可控性”?上线后监控面板上哪三个指标突然跳变就该立刻拉响警报?当客户说“你们的Agent响应慢了0.8秒”,你该查模型token耗时、API网关延迟,还是本地缓存失效策略?
我带过三支从零孵化的AI Native团队,分别落地在金融风控、医疗知识助手和工业设备预测性维护场景。每支团队都经历过“模型跑通→功能可用→线上崩盘→推倒重来”的完整闭环。这份手册里的所有流程、checklist、配置模板、错误日志样本,全部来自这17个月的真实作战记录。它不假设你有LLM博士背景,但默认你熟悉Git分支策略、CI/CD流水线配置、Kubernetes资源限制设置——因为AI Native不是AI+DevOps,而是DevOps被AI彻底重构后的产物。核心关键词AI Native、SDLC、Agent、eval不是标签,而是每日站会里反复出现的名词主语。比如,“今天要把eval pipeline接入新训练数据集”比“我们要提升模型效果”更常被提起;“这个Agent的scope定义没过安全评审”比“功能需求没对齐”更具否决权。它面向两类人:一是技术负责人,需要判断“我们是否真的Ready for AI Native”,而不是在PPT里画个三层架构图;二是一线工程师,需要知道“当我敲下cargo build时,背后到底在编译什么”。如果你还在用Jira里挂个“AI功能开发”史诗故事点,那这份手册的第一章就会让你删掉那个故事点。
2. 为什么必须重构SDLC?——从“模型即服务”到“模型即构件”的底层逻辑
2.1 传统SDLC在AI Native场景下的三处结构性断裂
传统软件开发生命周期(SDLC)建立在确定性假设之上:代码逻辑可穷举、输入输出有明确定义、缺陷可通过单元测试精准定位。而AI Native团队面对的是概率性构件——大语言模型的输出永远存在幻觉、偏见、上下文截断风险;Agent的决策链路无法用if-else覆盖;eval结果受prompt微调、温度参数、token窗口长度等数十个隐变量影响。这种根本差异导致传统SDLC在三个关键环节彻底失灵:
第一,需求分析阶段失效。传统需求文档要求“用户点击按钮A,系统返回结果B”。但在Agent场景中,需求可能是“用户用自然语言描述设备异常现象,Agent需自主调用传感器API、比对历史故障库、生成维修建议并推送至企业微信”。这里没有“按钮A”,只有意图理解边界;没有“结果B”,只有多模态输出组合(文本+图表+操作链接)。我们曾为某电力公司设计变压器巡检Agent,初期需求文档写了127页,上线后发现83%的用户提问超出预设意图范围——不是需求没写清楚,而是“自然语言意图”本身无法被静态文档穷尽。
第二,测试验证环节崩溃。传统单元测试验证函数输入输出一致性。但Agent的“函数”是模型推理+工具调用+记忆检索的混合体。一次测试通过,不代表下次通过:同一prompt在不同batch size下可能触发不同路由;同一tool call在模型温度=0.3时成功,在0.7时因token截断失败。我们实测过Claude-3-haiku在处理长JSON Schema时,当输入token超过128k,解析准确率从99.2%骤降至63.7%——这种非线性衰减无法用传统测试覆盖率衡量。
第三,发布部署流程失控。传统发布是二进制包替换,回滚是版本号切换。AI Native发布却是“模型权重+prompt模板+tool schema+eval阈值”的四维耦合。某次紧急修复一个医疗问答Agent的幻觉问题,我们只更新了system prompt,却导致其调用的药品数据库API因schema微变而返回空结果——因为prompt变更改变了模型生成的JSON字段名,而下游API未做向后兼容。这种连锁反应让“灰度发布”变成高危操作。
提示:不要试图用传统SDLC框架套AI Native流程。我们试过在Jira里为每个prompt创建独立issue,用Confluence管理eval用例,结果三个月后发现57%的prompt变更未关联到对应eval用例,导致线上事故追溯失败。真正的解法是让SDLC的每个环节原生承载AI不确定性。
2.2 AI Native SDLC的四大支柱重构
基于上述断裂点,我们提炼出AI Native SDLC的四个不可妥协支柱,它们共同构成手册的骨架:
支柱一:意图驱动的需求建模(Intent-First Requirement Modeling)
放弃功能列表,采用“用户旅程+失败模式”双轨建模。例如医疗Agent需求不写“支持药品查询”,而是定义:
- 主要旅程:用户说“我吃阿司匹林后胃痛”,Agent应识别药品名、症状、因果关系,调用药品不良反应库,生成缓解建议;
- 关键失败模式:① 将“阿司匹林肠溶片”误判为普通阿司匹林(剂型混淆);② 未识别“胃痛”属于消化道症状(医学概念映射失败);③ 建议中包含禁忌联用药物(知识库冲突)。
每个失败模式对应一个eval用例族,且必须标注触发条件(如“当用户使用方言描述症状时,失败率上升42%”)。
支柱二:概率化测试体系(Probabilistic Testing)
测试不再追求“通过/失败”,而是建立三维评估矩阵:
- 准确性维度:使用DeepEval框架的Factuality、Toxicity、Bias指标,但阈值动态设定(如医疗场景Factuality≥0.98,客服场景≥0.85);
- 鲁棒性维度:注入噪声测试——同义词替换(“胃痛”→“肚子疼”)、数字格式扰动(“10mg”→“十毫克”)、上下文长度挤压(强制截断至512token);
- 成本维度:单次调用token消耗、API调用次数、平均响应延迟,全部纳入测试门禁(如超预算20%自动阻断CI)。
支柱三:原子化发布单元(Atomic Release Unit)
每个发布单元必须包含且仅包含四个不可分割的构件:
- Model Artifact:HuggingFace或本地存储的模型权重(含sha256校验);
- Prompt Bundle:system/user/few-shot模板集合,每个模板带版本号及生效范围(如“仅对英语用户生效”);
- Tool Contract:OpenAPI 3.1规范的工具描述文件,明确输入/输出schema、认证方式、速率限制;
- Eval Baseline:该版本在标准测试集上的指标快照(json格式),作为后续版本对比基准。
缺失任一构件,CI流水线拒绝构建镜像。
支柱四:实时反馈闭环(Real-time Feedback Loop)
生产环境必须部署三类探针:
- 用户显性反馈:在Agent响应末尾嵌入“有用/无用”二选按钮,点击即上报原始query、response、timestamp;
- 隐性行为信号:捕获用户对response的后续操作——是否复制文本、是否点击内嵌链接、是否发起新query(间隔<30秒视为连续对话);
- 系统健康指标:模型token生成速度、tool call成功率、memory retrieval命中率。
这些数据15秒内进入Flink流处理管道,当“无用率”连续5分钟>15%或“tool call失败率”突增300%,自动触发告警并启动回滚预案。
这四大支柱不是理论模型,而是我们团队每日站立会的检查清单。早会第一句永远是:“昨天intent coverage下降了吗?probabilistic test有没有新增failure mode?atomic release unit的eval baseline达标了吗?feedback loop有没有触发告警?”——SDLC在这里不再是流程,而是团队的呼吸节奏。
3. Agent开发:从“玩具Demo”到“生产级服务”的七道生死关
3.1 Agent不是“更聪明的聊天机器人”,而是分布式系统的新型抽象
很多团队把Agent开发等同于“调用Claude API+写几个function call”,结果交付的系统在测试环境流畅运行,上线后遭遇三重绞杀:
- 并发雪崩:当QPS从100飙升至1200,模型推理队列堆积,平均延迟从1.2秒暴涨至27秒;
- 状态污染:用户A的对话历史意外泄露给用户B,因共享内存未隔离;
- 技能失控:Agent调用天气API后,因返回数据格式变更(从JSON改为XML),整个决策链路崩溃。
根本原因在于,传统Agent框架(如LangChain、LlamaIndex)本质是单机脚本工具,而生产级Agent必须是云原生服务。我们重构了Agent架构,将其拆解为七个严格解耦的层,每层都有独立的SLA保障:
| 层级 | 职责 | 关键技术选型 | SLA要求 | 典型故障 |
|---|---|---|---|---|
| 1. 接入层(Ingress) | 协议转换、流量整形、鉴权 | Envoy Proxy + WASM Filter | P99延迟≤150ms | JWT签名失效导致全量401 |
| 2. 意图路由层(Intent Router) | 将原始query分类至Agent集群 | XGBoost模型(特征:query长度、实体密度、停用词比例) | 分类准确率≥92.3% | 新业务query导致路由漂移 |
| 3. 决策引擎层(Orchestrator) | 执行ReAct/Plan-Execute等策略,管理tool调用序列 | Rust编写(内存安全+零拷贝) | 单次决策耗时≤80ms | 循环调用tool未设最大迭代次数 |
| 4. 工具执行层(Tool Executor) | 安全沙箱内运行tool,隔离网络/文件系统 | gVisor容器 + eBPF网络过滤 | tool call成功率≥99.95% | 天气API返回非标准HTTP状态码 |
| 5. 记忆管理层(Memory Manager) | 长期记忆(向量库)+短期记忆(conversation context) | Qdrant(向量)+ Redis(session) | 向量检索P95延迟≤300ms | Redis内存溢出导致session丢失 |
| 6. 输出渲染层(Renderer) | 将模型原始output转化为结构化响应(Markdown/JSON/卡片) | Go template + HTML sanitizer | 渲染失败率<0.1% | 用户输入含XSS payload触发渲染崩溃 |
| 7. 监控告警层(Observability) | 全链路追踪、指标采集、日志聚合 | OpenTelemetry + Prometheus + Loki | 数据采集覆盖率100% | OTLP endpoint配置错误导致指标丢失 |
这个分层不是为了炫技,而是为每道生死关提供精准手术刀。例如解决“并发雪崩”,我们不在决策引擎层加锁(会扼杀吞吐),而是在接入层用Envoy的rate limit filter实现令牌桶限流,并将超限请求导向降级Agent(返回预置FAQ);解决“状态污染”,我们在记忆管理层强制要求每个session id绑定唯一Redis key前缀,且所有tool executor启动时自动清理临时文件目录。每一层的SLA都对应真实压测数据——比如工具执行层的99.95%成功率,是基于对127个第三方API连续72小时混沌测试得出的基线。
3.2 生产级Agent的七道验收关卡(Checklist)
当一个Agent完成开发,它必须通过以下七道关卡才能进入预发环境。这不是形式主义,而是血泪教训的结晶:
关卡1:意图覆盖验证(Intent Coverage Validation)
- 步骤:用真实用户query日志(脱敏后)运行intent router,统计各Agent集群的query分配比例;
- 通过标准:核心业务意图(如“查询订单状态”)覆盖率≥95%,长尾意图(如“用粤语问退货政策”)覆盖率≥70%;
- 实操心得:我们曾发现router对粤语query识别率仅41%,根源是训练数据中粤语样本不足。解决方案不是调参,而是用Back-Translation生成10万条粤语query扩充训练集——这比调高temperature参数有效10倍。
关卡2:工具契约合规性扫描(Tool Contract Compliance Scan)
- 步骤:用Swagger Codegen解析tool的OpenAPI文件,自动生成client SDK,再用模糊测试工具(如go-fuzz)向tool发送非法参数;
- 通过标准:所有tool必须返回标准HTTP错误码(400/401/429),且响应body符合error schema;
- 注意事项:某支付tool返回的“余额不足”错误,HTTP状态码是200而非402,导致Agent误判为成功。我们在扫描器中加入状态码校验规则,强制拦截此类违规。
关卡3:记忆隔离压力测试(Memory Isolation Stress Test)
- 步骤:模拟1000并发用户,每个用户发送5轮对话,检测Redis中session key是否交叉污染;
- 通过标准:任意两个用户session数据完全隔离,且单个session内存占用≤2MB;
- 关键参数:我们发现当Redis maxmemory设置为2GB时,LRU淘汰策略会导致热session被误删。最终采用allkeys-lru策略,并为session key添加TTL(30分钟)。
关卡4:输出安全性审计(Output Security Audit)
- 步骤:用OWASP ZAP扫描Agent所有响应,重点检测XSS、SSRF、命令注入漏洞;
- 通过标准:0个高危漏洞,中危漏洞≤2个(需附修复方案);
- 独家技巧:我们给renderer层增加HTML sanitizer的“白名单模式”,只允许
<b><i><a>等5个标签,彻底杜绝富文本注入。实测比正则过滤可靠100%。
关卡5:降级能力验证(Fallback Capability Validation)
- 步骤:手动关闭模型服务、切断tool网络、清空向量库,观察Agent是否优雅降级;
- 通过标准:模型不可用时返回缓存FAQ;tool不可用时返回“暂无法获取实时数据”;向量库为空时启用关键词匹配;
- 教训:某次上线前未测试tool全量不可用场景,导致用户看到空白响应。现在我们要求每个tool必须配置fallback response template。
关卡6:成本阈值熔断(Cost Threshold Circuit Breaker)
- 步骤:在CI环境中注入高成本场景(如长文档摘要+多tool调用),验证是否触发熔断;
- 通过标准:单次调用token消耗>5000或API调用次数>8时,自动终止执行并返回成本超限提示;
- 参数计算:5000 token阈值来自成本核算——当前模型$0.0001/token,单次调用成本上限设为$0.5,留20%缓冲。
关卡7:eval指标基线比对(Eval Baseline Comparison)
- 步骤:在预发环境运行标准eval suite,与上一稳定版本baseline对比;
- 通过标准:Accuracy、Latency、Cost三项指标偏差均在±5%内;
- 关键细节:我们发现单纯比对Accuracy会漏掉严重问题。某次更新后Accuracy提升2%,但Latency增加18%,导致P99延迟突破2秒红线。现在强制要求三指标联合门禁。
这七道关卡每道都配有自动化脚本,集成在GitLab CI中。任何一道失败,Merge Request自动拒绝。它让Agent开发从“能不能跑”进化到“敢不敢上”。
4. Eval不是“模型评测”,而是AI Native团队的免疫系统
4.1 DeepEval框架的深度定制:从通用评测到领域免疫
市面上的eval框架(如DeepEval、RAGAS)提供开箱即用的Factuality、AnswerRelevancy等指标,但直接套用会致命。我们以医疗Agent为例:
- 通用Factuality指标认为“阿司匹林可治疗心梗”是正确陈述;
- 但医疗领域事实性要求更高:必须注明“ST段抬高型心梗(STEMI)患者在PCI术前”,否则就是危险误导;
- 更致命的是,通用框架无法检测“剂量错误”——模型说“每日服用300mg”,而指南要求“首剂160-325mg,维持剂量75-100mg”,这种细微偏差会被Factuality指标忽略。
因此,我们对DeepEval进行了三层深度改造,使其成为领域免疫系统:
第一层:领域知识注入(Domain Knowledge Injection)
- 在Factuality评估器中嵌入临床指南知识图谱(SNOMED CT + UMLS),将模型输出与权威知识节点进行语义对齐;
- 开发专用“剂量合规性检查器”:解析模型输出中的数值+单位+频次,匹配药品说明书结构化数据;
- 实操案例:某次eval发现模型对“华法林”剂量建议合格率92%,但深入分析发现,它对亚洲人群剂量调整规则(INR目标值降低0.5)的遵循率仅37%——这是通用框架绝不会暴露的领域缺陷。
第二层:对抗性测试强化(Adversarial Test Augmentation)
- 不仅用标准测试集,更构建三类对抗样本:
①术语混淆样本:将“心肌梗死”替换为“心梗”“MI”“myocardial infarction”,测试术语泛化能力;
②证据隐藏样本:在query中删除关键限定词(如去掉“孕妇”),观察模型是否主动追问;
③多跳推理样本:设计需3步推理的query(如“患者服用地高辛,血钾3.2mmol/L,是否需调整剂量?”),检验推理链完整性。 - 我们发现,对抗样本使模型Fail Rate提升4.7倍,这才是真实的脆弱点。
第三层:生产环境反馈闭环(Production Feedback Loop)
- 将用户点击“无用”的response自动加入eval测试集,并标记为“高优先级缺陷样本”;
- 每周运行一次全量eval,生成“免疫报告”:
- 抗体强度图:各指标当前达标率(如Factuality@95%);
- 病毒变异预警:新出现的失败模式聚类(如最近7天,“药物相互作用”类错误增长300%);
- 疫苗接种计划:针对新病毒变异,推荐需强化训练的数据类型(如“增加抗凝药相互作用案例”)。
- 这份报告直接驱动模型迭代——不是工程师凭经验猜,而是数据告诉团队该补什么课。
注意:eval不是测试工程师的KPI,而是整个团队的健康仪表盘。我们要求每周五下午全员参加“免疫报告解读会”,产品、研发、QA围坐一起,看哪项指标亮红灯,当场决定下周迭代重点。当Factuality连续两周低于90%,整个团队暂停新功能开发,专注修复。
4.2 Eval Pipeline的工程化实现:从手动跑脚本到全自动免疫
一个可靠的eval pipeline必须满足:可复现、可追溯、可归因。我们用GitOps理念构建了全自动pipeline,其核心组件如下:
组件1:Eval用例版本库(Eval Case Git Repo)
- 每个eval用例是独立yaml文件,包含:
id: med-00127 # 唯一ID,关联Jira issue intent: drug_interaction # 意图分类 query: "患者同时服用阿托伐他汀和克拉霉素,是否有风险?" expected_answer: "有风险,克拉霉素抑制CYP3A4,升高阿托伐他汀血药浓度,增加横纹肌溶解风险" domain_rules: # 领域规则,eval引擎执行校验 - factuality: snomed_ct_concept_id == "22298006" # 心肌梗死概念ID - dosage_compliance: dose_value <= 100 && dose_unit == "mg" - 所有用例受Git版本控制,每次修改必须关联PR和reviewer。
组件2:自动化Pipeline(GitLab CI + Kubernetes CronJob)
- 触发时机:① 每日凌晨2点全量运行;② 每次model artifact更新后立即运行;③ 手动触发(debug用);
- 流程:
- 从S3拉取最新model artifact和prompt bundle;
- 在隔离K8s namespace启动eval pod(资源限制:4CPU/16GB,防拖垮集群);
- 并行执行所有eval用例,结果写入TimescaleDB;
- 生成HTML报告,自动上传至内部Wiki;
- 若关键指标(Factuality/Latency)跌破阈值,触发Slack告警并创建Jira ticket。
组件3:归因分析引擎(Attribution Analyzer)
- 当eval失败时,自动关联:
- 失败用例的Git commit hash;
- 对应的model artifact sha256;
- 运行时的prompt版本号;
- tool contract的OpenAPI spec版本;
- 输出归因报告:
med-00127失败原因:tool contract v2.3中drug_interactions字段类型从string改为array,但prompt v1.7仍按string解析,导致JSON解析失败 - 这让我们从“哪个模型坏了”进化到“哪个契约变更引发连锁故障”。
这套pipeline让eval从季度性活动变成日常呼吸。工程师提交代码时,CI会显示:“本次变更影响37个eval用例,其中2个预期失败(已标记为known issue),1个新增失败(需修复)”。质量不再靠人盯,而靠系统免疫。
5. Anthropic生态实践:不是“调用API”,而是构建可信协作体
5.1 “Unable to connect to Anthropic services”背后的架构真相
搜索热词中高频出现的unable to connect to anthropic services failed to connect to api.anthropic.com,表面是网络问题,实则是AI Native架构的照妖镜。我们排查过137次同类故障,发现92%的根本原因与网络无关:
真相1:DNS劫持与TLS证书链断裂
Anthropic API要求SNI(Server Name Indication)严格匹配api.anthropic.com。某些企业防火墙会重写SNI为*.anthropic.com,导致TLS握手失败。解决方案不是换网络,而是在客户端强制指定SNI:
// Rust reqwest配置示例 let client = reqwest::Client::builder() .use_preconfigured_tls(tls) .add_root_certificate(cert) // 加载Anthropic根证书 .build()?; // 关键:手动设置Host头和SNI let request = Request::new(reqwest::Method::POST, url) .header("Host", "api.anthropic.com") .header("User-Agent", "AI-Native-Agent/1.0");真相2:Rate Limiting的隐性陷阱
Anthropic的速率限制是“每分钟请求数+每分钟token数”双维度。很多团队只监控request count,忽略token消耗。当批量处理长文档时,即使QPS<10,token消耗可能瞬间触达limit,返回429错误。我们的解法是:
- 在接入层(Envoy)配置两级限流:
# 第一级:按IP限QPS rate_limits: - actions: - remote_address: {} # 第二级:按token消耗限流(需自定义filter) - 在客户端实现token预估:对输入文本做粗略token计数(
len(text)/4),当预估token>80% limit时,自动切分请求。
真相3:Model Route的路由漂移
错误信息doesn't look like an anthropic model: expected a gateway model route reference暴露了更深层问题:Anthropic的模型路由是动态的。claude-3-haiku-20240307可能被路由到不同物理集群,而集群间存在微小API差异。我们的应对策略:
- 永远不硬编码model ID,而是通过
/v1/models端点动态获取可用model列表; - 在服务启动时缓存model路由映射,并设置5分钟刷新;
- 当收到路由错误时,自动回退到上一版本model(如
claude-3-haiku-20240101)。
这些不是“运维技巧”,而是AI Native团队必须内化的基础设施认知。当你把Anthropic当作黑盒API调用时,故障就是随机事件;当你把它当作需协同演化的伙伴时,故障就是架构优化的信号灯。
5.2 构建可信协作体的三大实践
与Anthropic协作不是单向调用,而是双向契约。我们建立了三个实践确保协作可信:
实践1:模型能力指纹库(Model Capability Fingerprinting)
- 每次Anthropic发布新model,我们立即运行标准化能力测试:
- 长上下文稳定性:输入128k token文档,抽取末尾10个事实,验证召回率;
- 工具调用鲁棒性:发送1000次tool call请求,统计schema解析失败率;
- 多语言平衡性:在中/英/日/西四语种各100个query上测试Factuality。
- 结果存入指纹库,形成“能力基线”。当新model上线,若某项能力下降>5%,自动触发告警并冻结上线。
实践2:渐进式迁移策略(Progressive Migration Strategy)
绝不全量切换model。我们采用“金丝雀+影子流量”双轨:
- 金丝雀:1%流量走新model,监控关键指标;
- 影子流量:100%流量同时发送至新旧model,对比输出差异(diff score >0.3则告警);
- 熔断机制:当新model的Latency P99 >旧model 200%,或Factuality下降3%,自动切回旧model。
- 实操效果:某次
claude-3-sonnet升级,影子流量发现其对中文法律条款解析准确率下降12%,避免了全量上线事故。
实践3:安全协作协议(Secure Collaboration Protocol)
- 与Anthropic签订数据处理协议(DPA),明确:
- 输入数据不出境(要求API endpoint位于指定区域);
- 模型输出不用于再训练(在请求头中声明
anthropic-beta: no-training-data); - 审计日志保留180天,供安全团队随时抽查。
- 在客户端强制实施:所有发送至Anthropic的请求,必须经过本地敏感信息过滤(如身份证号、银行卡号),过滤规则由合规团队统一维护。
这三大实践让Anthropic从“外部API”变为“可信协作者”。当api.anthropic.com返回503时,我们不再慌乱排查网络,而是打开指纹库查看当前model的SLA状态,调出影子流量diff报告分析影响范围——这才是AI Native团队应有的从容。
6. 从手册到肌肉记忆:团队能力构建的实操路径
6.1 四阶段能力演进路线图
AI Native能力不是培训出来的,而是打出来的。我们总结出团队必经的四阶段演进路径,每个阶段都有明确的里程碑和退出标准:
阶段1:生存期(Survival Phase,0-3个月)
- 目标:跑通第一个端到端Agent,验证基础链路;
- 关键动作:
- 用现成框架(LangChain)快速搭建demo;
- 手动收集100个真实用户query,构建最小eval集;
- 部署基础监控(Prometheus抓取API延迟);
- 退出标准:
- Agent在测试环境能处理80%的常见query;
- eval suite通过率≥70%;
- 团队能独立复现并定位50%的线上故障。
- 避坑提醒:此阶段严禁优化性能!我们曾有团队花两周优化token压缩算法,结果上线后发现90%的延迟来自tool call,白忙活。生存期只做一件事:让系统活下来。
阶段2:稳定期(Stability Phase,3-6个月)
- 目标:建立生产级可靠性,故障率下降50%;
- 关键动作:
- 实施前述七道Agent验收关卡;
- 构建自动化eval pipeline;
- 制定SLA并写入SLO(如“P99延迟≤2秒,月度可用率≥99.5%”);
- 退出标准:
- 连续30天无P0级故障(影响核心业务);
- SLO达标率≥95%;
- 80%的故障能在15分钟内定位。
- 实操心得:稳定期最大的敌人是“技术债幻觉”。某团队认为“等项目上线再重构”,结果积压37个已知bug,最终用2个月时间返工。我们的铁律:每个PR必须附带技术债清单,且债务偿还时间不超过2个迭代周期。
阶段3:扩展期(Expansion Phase,6-12个月)
- 目标:支撑多业务线,复用率提升300%;
- 关键动作:
- 提炼公共能力为Platform Service(如统一记忆管理Service、标准化tool registry);
- 建立Agent模板市场(Template Marketplace),供各业务线选用;
- 推行“平台即代码”(Platform-as-Code),用Terraform管理所有infra;
- 退出标准:
- 新Agent开发周期从2周缩短至3天;
- 公共Service复用率≥60%;
- 90%的infra变更通过Git PR完成。
- 独家技巧:扩展期必须设立“反模式委员会”。我们每月审查所有新Agent设计,强制淘汰重复造轮子的方案。某次砍掉4个独立的天气查询Agent,统一接入平台Weather Service,节省了17人日/月。
阶段4:自治期(Autonomy Phase,12+个月)
- 目标:团队具备自我进化能力,无需外部干预;
- 关键动作:
- 建立“免疫报告”驱动的自主迭代机制;
- 实施工程师轮岗制(每人每季度轮换至不同Agent团队);
- 开放平台能力给业务方自助配置(低代码Agent Builder);
- 退出标准:
- 70%的迭代需求由业务方自助完成;
- 技术决策会议频率下降80%;
- 新成员入职30天内能独立交付Agent。
- 个人体会:自治期不是放任不管,而是把规则刻进DNA。我们最后一位新成员入职时,导师只给了他三样东西:Git repo地址、eval pipeline文档、以及一句口诀:“先跑eval,再改代码,最后看SLO”。
6.2 每日站会的五个必问问题
能力演进需要日常仪式固化。我们坚持每日15分钟站会,只问五个问题,每个问题直指AI Native核心:
“昨天你的Agent的Intent Coverage下降了吗?”
- 不是问“有没有新功能”,而是问意图覆盖是否收缩。Coverage下降意味着用户需求在流失。
“Probabilistic Test新增了几个Failure Mode?”
- Failure Mode是进步的刻度尺。新增越多,说明我们越懂系统脆弱点。
“Atomic Release Unit的Eval Baseline达标了吗?”
- 每次发布都是四维构件的联合验证。缺一不可,少一个就不是发布。
“Feedback Loop触发告警了吗?”
- 用户的“无用”点击是最诚实的裁判。告警即行动号角。
“你的免疫报告,今天抗体强度提升了多少?”
- 不看代码行数,只看Factuality、Latency、Cost三项指标的净提升。
这五个问题像心跳监测仪,让AI Native从宏大叙事回归到每日呼吸。当团队能自然回答这五个问题时,手册就不再是纸面文档,而成了肌肉记忆。
我在实际带团队过程中发现,最有效的变革不是推翻旧流程,而是给现有动作赋予新意义。比如原来站会问“进度如何”,现在问“Intent Coverage”,工程师会主动去查用户query日志;原来写测试叫“保证质量”,现在叫“构建免疫系统”,大家会认真设计对抗样本。手册的价值,正在于把抽象理念翻译成每日可执行的动作。最后分享一个小技巧:我们把这五个问题印在会议室白板上,每次站会前用荧光笔标出当天重点问题。三个月后,不用提醒,工程师自己就会在日志里标注Coverage变化——因为问题已长进他们的思维回路。