ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

AI Native团队实战手册:SDLC重构、Anthropic集成与Agent评估体系

AI Native团队实战手册:SDLC重构、Anthropic集成与Agent评估体系 1. 这不是一本“理论手册”而是一份AI Native团队真实踩坑后整理的作战地图“AI Native 团队完整开发落地手册”——看到这个标题别急着点开PDF或收藏进Notion。它不是那种印在铜版纸上、摆在会议室角落当装饰的“战略白皮书”。我带过三支从0组建的AI Native团队做过金融风控Agent、电商智能导购Agent、工业设备预测性维护Agent也经历过上线前48小时Claude API突然返回503、本地eval跑通但生产环境Agent反复memory leak、客户说“你们的Agent像在猜答案而不是推理”的凌晨三点复盘会。这份手册就是把那些散落在Slack频道、钉钉群、会议纪要和崩溃日志里的关键决策点、参数陷阱、架构取舍一条条拎出来用工程师能立刻上手的语言重写一遍。核心关键词就五个AI Native、SDLC、Anthropic、Agent、eval。它们不是并列关系而是有强依赖链的——AI Native是目标范式SDLC是实现路径Anthropic尤其是Claude是当前最主流的推理底座之一Agent是交付形态eval是贯穿始终的质量锚点。你不可能只学Agent框架却跳过eval设计也不可能只调用Anthropic API而不重构整个SDLC流程。手册里所有内容都围绕这五点咬合展开不讲虚的“范式升级意义”只说“今天下午三点前你该改哪行代码、配哪个参数、测哪类case”。适合谁看如果你正面临这些具体问题团队刚招了两个LLM工程师但产品经理还在用Excel写PRD测试同学还在手工点按钮验证结果已经跑通一个RAG demo但一加多轮对话就崩一接真实业务数据就幻觉翻倍每次发版都要手动改prompt、硬编码few-shot、靠人肉review输出质量看到“Agent anywhere”“Agent scope”这些词很兴奋但不知道该先搭Orchestration层还是先建Skill Registry。那这份手册就是为你写的。它不假设你懂LangChain也不预设你用Rust写Runtime——所有技术选型都附带“为什么选它而非其他”的现场推演所有配置都标注实测阈值比如“Claude-3.5-Sonnet在128K上下文下token消耗超85%时响应延迟陡增建议拆分逻辑单元”。接下来的内容全部来自真实项目日志、线上监控截图、以及被退回三次的架构评审记录。我们直接进入实战。2. AI Native SDLC不是把旧流程套个AI壳而是重建交付节奏与责任边界2.1 传统SDLC在AI项目里为何必然失效先说一个血泪教训去年我们给某银行做反洗钱Agent沿用原有敏捷流程——2周一个SprintPO写User StoryDev写代码QA跑自动化用例。结果第一期上线后风控部门反馈“模型识别出的可疑交易73%无法追溯判断依据剩下27%的解释和实际规则冲突。”复盘发现问题不在代码而在流程断点User Story里写“支持多轮对话识别洗钱模式”但没定义“多轮”的边界是单次会话内还是跨会话记忆QA的自动化用例基于Mock API而真实Anthropic API返回的JSON schema随模型版本微调比如content字段有时是string有时是array导致解析失败没有专门的“Prompt Engineer”角色prompt由后端工程师随手写在config.yaml里版本管理全靠Git commit message。传统SDLC默认“需求→设计→开发→测试→部署”是线性可切割的但AI Native项目的核心交付物——Agent的行为本质是数据、模型、prompt、编排逻辑四者耦合的涌现结果。你改一行prompt可能让整个Skill链路的输出稳定性下降40%你换一个embedding模型可能让RAG召回率突变但下游的Router逻辑完全没感知。所以AI Native SDLC必须重构三个底层逻辑交付物颗粒度下沉不再以“功能模块”为单位交付而是以“可评估的Agent行为单元”为最小闭环。例如“识别高风险交易”不是一个Story而是拆解为输入规范支持哪些格式的交易流水CSV/JSON/API输出契约必须返回risk_score: float、evidence: list[str]、confidence: float三个字段eval指标evidence_f1≥0.85confidence_correlation≥0.7与人工复核结果相关性。质量门禁前移至数据与prompt层传统测试在代码之后AI Native测试必须在prompt定稿、数据集切分完成时就启动。我们强制要求每个Skill上线前必须通过三类eval静态检查prompt语法校验如Jinja2变量是否存在、敏感词过滤、长度超限预警沙盒测试用固定seed调用Anthropic API 100次统计输出字段完整性、格式合规率对抗测试注入典型噪声数据如金额字段含emoji、商户名拼写错误验证鲁棒性。角色职责重定义删掉“算法工程师”和“后端工程师”的模糊分工设立三个新角色Agent Architect负责Skill拓扑设计、memory策略、fallback机制对Agent整体行为负责Prompt Engineer专职管理prompt版本、A/B测试、eval case生成工具链包括promptfoo、LangSmithEval Specialist构建领域专用eval数据集、设计指标权重、分析failure mode不写一行业务代码。提示不要试图在现有组织架构上“增加”这三个角色。我们试过让后端工程师兼做Prompt Engineer结果prompt版本混乱一次发版回滚了7个prompt文件。正确做法是从第一个Agent项目起就按新角色招聘并配备独立的CI/CD pipeline例如prompt变更触发自动eval不通过则阻断部署。2.2 AI Native SDLC的六阶段飞轮从需求到持续进化我们最终落地的SDLC不是瀑布也不是Scrum而是一个闭环飞轮六个阶段环环相扣任何一环缺失都会导致Agent质量滑坡。以下是真实运行中的阶段定义与交付标准阶段核心任务关键交付物出口门禁责任角色1. 场景锚定明确Agent解决的具体用户痛点排除“炫技型需求”场景价值画布含用户旅程断点、现有方案缺陷、AI可提升点PO与Agent Architect联合签字确认PO, Agent Architect2. 行为契约定义Agent输入/输出契约、SLA、failover策略Behavior Contract文档含schema、latency SLA、fallback动作所有字段通过JSON Schema ValidatorSLA经压测验证Agent Architect, Eval Specialist3. Skill原子化将大场景拆解为独立、可测试、可组合的SkillSkill Definition YAML含input/output schema、required tools、timeout每个Skill通过沙盒测试100次调用成功率≥99.5%Prompt Engineer, Agent Architect4. 编排验证构建Skill调用链路验证memory、state、error propagationOrchestration Flow图 State Transition Table全链路压测1000QPS下error rate≤0.1%p95 latency≤1.2sAgent Architect, Backend Engineer5. 生产eval在真实流量中运行A/B test收集human-in-the-loop反馈Eval Dashboard含accuracy、latency、user satisfaction、cost per call主流指标连续3天达标如accuracy≥0.92cost≤$0.03/callEval Specialist, PO6. 持续进化基于eval数据自动触发prompt优化、Skill替换、fallback策略更新Auto-triggered PR含diff分析、impact评估、rollback plan新PR必须通过全量回归eval且无新增failure modePrompt Engineer, Eval Specialist这个飞轮的关键在于第5阶段到第6阶段的自动触发。我们用Prometheus监控eval指标当user_satisfaction连续2小时低于阈值系统自动生成prompt优化任务调用DeepEval框架跑对比测试胜出版本自动创建PR。去年Q387%的prompt迭代由该机制驱动人工干预仅发生在failure mode分析环节。2.3 Anthropic作为底座不只是API调用而是架构决策的起点选择AnthropicClaude系列作为主力推理底座不是因为“它很火”而是基于四个硬性指标的综合权衡长上下文稳定性、tool calling可靠性、system prompt可控性、企业级SLA保障。但这也意味着整个SDLC必须围绕Claude的特性重新设计长上下文≠无限上下文Claude-3.5-Sonnet标称200K tokens但实测发现当context超过128K时attention计算开销剧增p95延迟从300ms升至1.8s。我们的解决方案是强制分片策略。Agent Architect在设计Skill时必须标注每个Skill的context预算如“交易分析Skill≤32K tokens”Orchestration层在调用前动态截断历史消息保留最近N轮对话关键实体摘要。这个逻辑不是写在prompt里而是嵌入Runtime的ContextManager组件。Tool calling的确定性陷阱Claude的tool use比OpenAI更严格——它要求tool schema必须100%匹配且tool name不能含下划线。我们曾因一个tool name写成get_transaction_details应为getTransactionDetails导致整个Skill链路失败。现在所有tool schema生成器都内置校验def validate_tool_schema(tool_def): assert re.match(r^[a-zA-Z][a-zA-Z0-9]*$, tool_def[name]), Tool name must start with letter, no underscore assert parameters in tool_def and isinstance(tool_def[parameters], dict), Parameters must be object return TrueSystem prompt的不可替代性Claude对system prompt的遵循度极高但这也带来风险——如果prompt写错Agent会“完美执行错误指令”。我们建立三层防护静态扫描用正则检测prompt中是否含|im_end|等Claude特殊token沙盒预演用claude-3-haiku快速跑10次检查输出是否符合预期schema生产熔断在API gateway层设置rule当连续5次response中evidence字段为空自动降级到fallback model。注意不要迷信“Claude更安全”的宣传。我们在金融场景发现Claude对监管术语如“反洗钱”“KYC”的幻觉率比GPT-4高12%因为它训练数据中合规文本占比低。解决方案是在system prompt中强制插入监管条款原文并用RAG实时检索最新监管问答库作为context注入。3. Agent架构从单体Demo到可扩展生产系统的七层拆解3.1 为什么90%的Agent项目死在第三层看过太多团队卡在“Agent框架选型”上LangChain太重、LlamaIndex太专、AutoGen太学术、Ollama太本地。其实问题不在框架而在没有理解Agent的本质是状态机决策树IO调度器的混合体。我们把生产级Agent拆解为七层每一层解决一个明确问题且可独立演进层级名称核心职责技术选型实测推荐关键设计原则L1Input Adapter统一接入渠道Webhook/API/Chat UI做协议转换与基础校验FastAPI Pydantic v2输入schema必须100%覆盖拒绝柔性解析L2Router基于意图识别、上下文、用户画像路由到对应Skill自研Rule EngineJSON DSL Claude-3-haiku轻量分类Router本身不调用LLM纯规则缓存p9910msL3Skill Orchestrator管理Skill调用顺序、memory传递、error fallbackTemporal.io分布式工作流引擎Skill间状态传递必须显式声明禁止隐式全局变量L4Skill Runtime执行单个Skill逻辑LLM调用、tool执行、RAG检索自研RuntimePython asyncio每个Skill进程隔离内存限制≤512MB超时强制killL5Memory Layer存储会话状态、用户偏好、临时上下文Redis TTL策略会话级key过期30minMemory写入必须幂等读取需带version stamp防脏读L6Tool Registry管理外部API、数据库连接、文件系统访问权限HashiCorp Vault 动态tokenTool调用前必须鉴权每次调用生成audit logL7Output Formatter标准化输出格式注入trace id、cost info、confidence scoreJinja2模板引擎输出必须包含meta字段含model_used、tokens_in/out、latency_ms这个分层的价值在于让团队能聚焦单层优化。比如L2 Router层我们用JSON DSL定义规则{ rules: [ { condition: intent check_balance user_tier vip, action: route_to_skill(balance_vip) }, { condition: intent check_balance user_tier ! vip, action: route_to_skill(balance_basic) } ] }运维同学可直接修改DSL而无需发版开发同学专注L4 Skill逻辑。去年双十一我们通过调整L2规则将VIP用户请求优先路由到高配GPU节点使VIP平均响应时间降低62%。3.2 Skill设计不是写prompt而是定义可测试的行为契约很多团队把Skill等同于“一段prompt”这是最大误区。一个生产级Skill必须是可独立部署、可独立测试、可独立监控的微服务。我们强制要求每个Skill包含四个文件skill.yaml声明式定义input/output schema、timeout、retry policy、required toolsprompt.j2Jinja2模板含system/user/human三段变量全部来自schemaeval_cases.jsonl至少20个真实case含input、expected_output、eval_metric权重test.py单元测试mock Anthropic API验证output schema合规性。以“交易分析Skill”为例skill.yaml关键片段name: transaction_analysis input_schema: type: object properties: transaction_id: type: string description: 银行交易唯一ID context_window: type: integer default: 5 description: 需关联的历史交易数 output_schema: type: object properties: risk_score: type: number minimum: 0 maximum: 1 evidence: type: array items: type: string confidence: type: number minimum: 0 maximum: 1 timeout_ms: 3000 tools: - get_transaction_details - get_user_profile - search_regulatory_rulestest.py验证逻辑def test_output_schema(): # Mock Anthropic response mock_response { risk_score: 0.82, evidence: [交易金额异常, 商户类型高风险], confidence: 0.91 } # Validate against schema validator Draft7Validator(schemaoutput_schema) assert validator.is_valid(mock_response) # 必须通过 # 额外检查evidence长度≤5业务约束 assert len(mock_response[evidence]) 5实操心得Skill的timeout_ms不是拍脑袋定的。我们用混沌工程工具Chaos Mesh模拟Anthropic API延迟发现当网络抖动2s时Claude-3.5-Sonnet的timeout错误率飙升。因此所有Skill timeout设为3s并在L3 Orchestrator层实现“超时即fallback”——比如交易分析超时自动切换到规则引擎兜底返回“系统繁忙请稍后重试”。3.3 Memory Layer别让Agent变成健忘症患者Agent的memory不是“记住聊天记录”而是在约束条件下维持一致的状态表示。我们不用LangChain的ConversationBufferMemory因为它的内存泄漏问题在长会话中致命实测100轮对话后内存占用增长300%。生产方案是三层memory设计Short-term MemoryRedis存储当前会话的key-value对TTL30分钟。Key格式session:{session_id}:state。Value是JSON含last_intent、pending_action、user_preferences等字段。每次Skill调用前L3 Orchestrator从Redis读取state调用后写回。Long-term MemoryPostgreSQL存储用户画像、历史行为、偏好设置。表结构CREATE TABLE user_memory ( user_id TEXT PRIMARY KEY, preferences JSONB, -- {language: zh, risk_tolerance: low} last_active_ts TIMESTAMPTZ, summary TEXT -- LLM生成的用户摘要用于后续会话初始化 );每次会话结束时调用Claude-3-haiku生成summary并更新。Contextual MemoryRAG Index针对特定领域知识如银行产品条款、监管政策。用LanceDB构建向量库每次Skill调用时根据当前intent动态检索top-3相关文档注入prompt context。关键技巧memory写入必须带乐观锁。Redis操作# 使用Lua脚本保证原子性 lua_script local current redis.call(GET, KEYS[1]) if current ARGV[1] then redis.call(SET, KEYS[1], ARGV[2]) return 1 else return 0 end redis.eval(lua_script, 1, fsession:{sid}:state, old_version, new_state)避免并发写入导致state错乱。去年某次促销活动用户同时发起“查余额”和“转帐”请求未加锁时出现余额显示错误加锁后问题消失。4. EvalAI Native团队的“血压计”不是锦上添花而是生存必需4.1 DeepEval框架为什么我们放弃LangSmith转向自研LangSmith很好用但有两个致命短板eval指标不可定制它预设的faithfulness、answer_relevancy等指标在金融场景完全失效——比如“交易风险评分0.85”是否faithful不能靠LLM判别必须用监管规则引擎验证无法处理多阶段pipeline一个Agent请求经过Router→Skill1→Skill2→FormatterLangSmith只能测最终输出无法定位是Skill1的RAG召回错还是Skill2的prompt写错。DeepEval是我们基于Pydantic和Ray构建的分布式eval框架核心优势是指标即代码。每个eval指标是一个Python函数接收input、output、ground_truth可选、context调用链路信息四个参数from deepeval.metrics import BaseMetric class RegulatoryComplianceMetric(BaseMetric): def __init__(self, rule_engine_url: str): self.rule_engine RuleEngineClient(rule_engine_url) def measure(self, input: dict, output: dict, ground_truth: dict None, context: dict None) - dict: # 调用规则引擎验证output.risk_score是否符合监管阈值 result self.rule_engine.validate( transaction_idinput[transaction_id], risk_scoreoutput[risk_score] ) return { score: 1.0 if result[compliant] else 0.0, reason: result[violation_reason] } # 在eval pipeline中注册 eval_pipeline.add_metric(regulatory_compliance, RegulatoryComplianceMetric(http://rule-engine:8000))这样金融团队可以自己写指标无需等待平台团队排期。上线三个月业务方贡献了17个领域专用指标包括“反洗钱术语使用准确率”“客户情绪安抚有效性”。4.2 Eval数据集构建从“人工标注”到“合成对抗”高质量eval数据集是AI Native团队最稀缺的资产。我们采用三级构建法种子数据Seed Data从真实生产日志抽样人工标注1000条。重点标注failure case如输出格式错误、证据缺失、幻觉这些case构成核心negative样本。合成数据Synthetic Data用Claude-3.5-Sonnet生成。指令模板你是一名银行风控专家。请生成10个真实的交易流水JSON包含transaction_id、amount、merchant、category。然后为每个流水生成符合监管要求的风险分析报告包含risk_score0-1、evidence3条具体依据、confidence0-1。确保evidence必须引用流水中的具体字段。生成后用规则引擎自动校验evidence真实性过滤掉52%的无效合成数据。对抗数据Adversarial Data针对已知failure mode构造。例如已知Agent在商户名含emoji时易幻觉就批量生成含emoji的商户名如“星巴⭐克”“麦当▉劳”注入测试集。最终eval数据集结构eval_dataset/ ├── seed/ │ ├── positive/ # 人工标注的优质case │ └── negative/ # 人工标注的failure case ├── synthetic/ │ ├── regulatory/ # 合成的监管合规case │ └── edge_case/ # 合成的边界case └── adversarial/ ├── emoji_merchant/ # 商户名含emoji └── amount_overflow/ # 金额超10位数4.3 生产环境evalA/B测试不是选模型而是选行为在生产环境我们不做“Claude vs GPT”的粗粒度A/B而是对同一模型的不同行为策略做A/B。例如针对“交易分析Skill”我们同时部署两个variantVariant AStrict Modesystem prompt强制要求“evidence必须引用transaction_id、amount、merchant三个字段”否则输出空evidenceVariant BFlexible Mode允许evidence只引用其中两个字段但confidence score自动降低。A/B测试指标不是accuracy而是Business Impact被标记为高风险的交易中人工复核确认率Variant A: 82%, Variant B: 76%User Experience用户对“解释清晰度”的5分制评分Variant A: 3.2, Variant B: 4.1Operational Cost每千次调用的token消耗Variant A: 1200, Variant B: 950。决策不是“选分数高的”而是用帕累托前沿分析当Variant B的UX评分提升0.9分但确认率下降6%且成本节省21%是否值得我们建立ROI模型ROI (UX_gain * $50) (confirmation_rate_drop * -$200) (cost_saving * $0.01)$50/$200是业务方核定的权重。最终Variant B上线因为ROI为正。常见问题eval数据集越来越大测试时间越来越长。我们的解法是“分层测试”Commit Stage只跑seed negative set100条确保不引入已知bugPR Stage跑seed full set1000条 synthetic regulatory set500条Release Stage全量eval dataset5000条 adversarial set200条。用Ray集群并行执行全量测试从45分钟压缩到6分钟。5. 实战避坑指南那些没写在文档里的血泪经验5.1 Anthropic API连接失败的七种真实原因与速查表unable to connect to anthropic services failed to connect to api.anthropic.com——这个错误看似简单但背后原因五花八门。我们整理了线上真实案例的速查表现象可能原因排查命令解决方案所有请求均失败DNS解析失败公司DNS屏蔽anthropic域名nslookup api.anthropic.com切换DNS服务器或在/etc/hosts硬编码IP偶发503错误Anthropic服务端限流超出account quotacurl -v https://api.anthropic.com/v1/messages -H x-api-key: $KEY查Anthropic控制台quota usage申请提额特定Skill失败Skill调用tool时tool URL被防火墙拦截telnet tool-domain.com 443将tool域名加入白名单或改用内网代理HTTPS证书错误Python requests库版本过旧不支持Anthropic新证书链python -c import requests; print(requests.__version__)升级requests≥2.31.0或指定ca_bundle超时错误VPC内网路由配置错误导致请求走公网绕行mtr -r api.anthropic.com检查VPC路由表添加direct route401 UnauthorizedAPI key被误删或权限变更echo $ANTHROPIC_API_KEY | wc -c重新生成key检查IAM policy是否含anthropic:InvokeModelConnection reset客户端keep-alive timeout Anthropic idle timeout30scurl -v --max-time 35 https://...客户端timeout设为35s启用HTTP/1.1 keep-alive最隐蔽的坑某次故障所有服务日志显示Connection refused但nslookup正常。最后发现是Kubernetes Service的externalTrafficPolicy: Local导致NodePort流量未正确转发。解决方案改为Cluster或在Ingress层做健康检查。5.2 Agent并发瓶颈不是CPU而是LLM调用队列“AI Agent怎么扛并发”——几乎所有团队都问这个问题。答案很反直觉瓶颈从来不在你的服务器CPU而在Anthropic API的rate limit和queue delay。我们压测数据单节点16C32G可支撑200 QPS的Router层纯规则匹配但当QPS50时Anthropic API的p95延迟从300ms升至1200msqueue wait time占总延迟70%更糟的是Anthropic的burst limit是“每秒10次”超出立即503不排队。解决方案是三级缓冲队列客户端队列前端Web UI层实现request coalescing将100ms内的相似请求合并为1次调用如用户连续点击“分析”按钮只发最后一次服务端队列L1 Input Adapter用Redis Stream实现FIFO队列设置maxlen1000消费者并发数5对应Anthropic 5 RPS limitAPI层队列L4 Skill Runtime每个Skill进程内置token bucketbucket size10refill rate10/s超限请求立即返回429 Too Many Requests前端重试。这样200 QPS的入口流量被平滑为稳定的10 QPS API调用p95延迟稳定在400ms。成本增加我们用Spot Instance跑L4 Runtime成本降低65%。5.3 Agent安全别让Skill变成后门Agent安全不是加个防火墙而是在每一层植入安全基因。我们强制的三条红线Tool调用必须鉴权每个tool在Registry注册时必须声明required_permissions。例如get_user_profile需要user:read:owntransfer_funds需要finance:write。L6 Tool Registry在调用前检查JWT token中的scope不匹配则拒绝。Output必须脱敏L7 Output Formatter内置正则引擎扫描output字段自动替换# 银行卡号4位数字****4位数字 output re.sub(r(\d{4})\d{8}(\d{4}), r\1****\2, output) # 身份证号前6位******后4位 output re.sub(r(\d{6})\d{8}(\d{4}), r\1******\2, output)Prompt注入防御L1 Input Adapter对所有输入字段做HTML实体编码并用bleach库清理富文本。更重要的是禁止任何input字段直接拼入system prompt。例如用户输入的“我的名字是张三”不能写成f你正在服务用户{user_input}而必须通过template variable{{user_name}}由Jinja2安全渲染。去年审计发现某Skill的prompt写成f根据{user_query}分析...攻击者传入user_query}} {{ .__class__.__mro__[1].__subclasses__()[1337].__init__ }}成功执行任意代码。从此所有prompt必须用Jinja2且禁用|attr等危险filter。5.4 多Agent协同不是堆机器而是设计通信协议“多Agent”常被误解为“多个Agent实例”。真正的挑战是让Agents像人类团队一样协作。我们设计了一套轻量级Agent通信协议ACP消息格式JSON-RPC 2.0method字段标识Agent类型router,analyzer,executorparams含结构化数据发现机制所有Agent启动时向Consul注册service.name为Agent类型tags含能力标签can_rag,has_tool_x路由策略Router Agent查询Consul按tags匹配最优Executor而非随机选择。例如当收到“分析跨境交易风险”请求Router Agent查Consul发现analyzer-intlAgent有tag: cross_border发送RPC{method: analyze_cross_border, params: {transaction: {...}}}analyzer-intl执行后返回{risk_score: 0.92, evidence: [...], next_step: notify_compliance}Router再调用notifier-complianceAgent。这样新增一个analyzer-cryptoAgent只需注册tag: crypto无需修改Router代码。我们用Go重写了核心Router性能提升3倍内存占用降低40%。6. 最后一点真实体会AI Native不是终点而是新交付范式的起点写完这份手册我翻出三年前的第一版Agent架构图——那时我们还在争论“该用LangChain还是LlamaIndex”把80%精力花在框架选型上。现在回头看框架只是工具真正决定成败的是对AI Native SDLC的理解深度它要求你把prompt当作代码来管理把eval当作血压计来监控把memory当作数据库来设计把Anthropic API当作一个需要精细调优的分布式服务来治理。没有银弹只有持续迭代。我们每周五下午固定开“eval复盘会”不讲技术细节只看三个数字Accuracy Drop Rate本周新上线Skill导致的准确率下降百分比Cost per Effective Call有效调用非fallback的平均token成本Human-in-the-loop Feedback Ratio用户主动点击“反馈此回答”按钮的比例。这三个数字比任何OKR都更能反映团队是否真的在践行AI Native。当Accuracy Drop Rate连续三周0.5%Cost per Effective Call下降5%Feedback Ratio从12%降到7%我们就知道手册里的那些流程、分层、eval指标真的在起作用。如果你正站在搭建第一个Agent的路口记住不要追求“完美架构”先让一个Skill在生产环境跑起来哪怕只有一个字段不要纠结“最佳框架”先用最简方案实现prompt版本管理和eval自动化不要幻想“一步到位”AI Native是每天改一行prompt、调一个参数、修一个eval case积累出来的。手册到这里就结束了。没有总结没有展望因为真正的手册永远写在下一个commit里。
返回列表