AI Agent 上线后变慢变贵?这份生产优化实战指南讲透了
AI Agent 性能优化教程|生产环境实测
在过去一年里,AI Agent 从“演示级玩具”逐渐进入真实业务系统:自动客服、数据分析助手、销售运营助手、研发代码助手、知识库问答、工单处理、风控审核、报表生成等场景都开始落地。
但很多团队在上线后会遇到同样的问题:Demo 很惊艳,生产环境很拉胯。
典型表现包括:
- 响应速度慢,用户等待 20 秒以上;
- 调用大模型成本高,一个月账单不可控;
- Agent 经常“绕路”,明明一步能解决,却调用多个工具;
- 多轮对话上下文越来越长,延迟和成本持续上升;
- 工具调用失败率高,用户体验不稳定;
- 知识库检索结果不准,回答看似合理但事实错误;
- 并发一上来,系统吞吐明显下降;
- 线上无法定位问题,不知道慢在哪里、错在哪里。
本文将从生产环境实测角度,系统讲解 AI Agent 性能优化方法。内容覆盖架构设计、模型选择、Prompt 优化、工具调用、RAG 检索、缓存、并发、观测、成本控制和评测体系,适合正在构建或准备上线 AI Agent 的研发团队、产品团队和技术负责人参考。
一、AI Agent 性能优化到底优化什么?
很多人一提到性能优化,就只想到“让模型回答更快”。但在生产环境中,AI Agent 的性能指标远不止响应时间。
通常我们至少要关注以下几个维度:
| 指标 | 说明 |
|---|---|
| 延迟 Latency | 用户从发起请求到收到结果的时间 |
| 吞吐 Throughput | 系统单位时间内可处理多少请求 |
| 成本 Cost | 每次请求消耗的 Token、模型费用、工具调用费用 |
| 准确率 Accuracy | 回答是否正确,是否符合业务逻辑 |
| 稳定性 Stability | 是否容易失败、超时、返回异常 |
| 可控性 Controllability | Agent 是否按预期调用工具、遵守流程 |
| 可观测性 Observability | 出问题时能否快速定位 |
| 用户体验 UX | 是否支持流式输出、是否有中间状态反馈 |
生产环境中的 AI Agent 优化,本质是要在 速度、质量、成本、稳定性 之间找到平衡。
例如:
- 使用最强模型,准确率高,但成本和延迟可能不可接受;
- 使用小模型,速度快、成本低,但复杂任务容易失败;
- 增加多轮思考和工具校验,质量提升,但响应时间变长;
- 缓存历史结果,性能提升,但可能带来数据过期问题。
因此,Agent 性能优化不能只靠“换一个更快的模型”,而是需要从系统工程角度做整体设计。
二、生产环境中 AI Agent 的典型架构
一个常见的 AI Agent 系统通常包含以下模块:
用户请求
↓
入口服务 API Gateway
↓
会话管理 Conversation Manager
↓
意图识别 / 路由 Router
↓
Agent Planner / LLM
↓
工具调用 Tool Calling
↓
知识库检索 RAG
↓
结果生成 Response Generator
↓
安全审查 / 格式校验
↓
返回用户
如果进一步细化,还会包含:
- 用户身份认证;
- 权限控制;
- 业务数据查询;
- 向量数据库;
- Embedding 服务;
- 工具执行器;
- 日志系统;
- 评测系统;
- 缓存系统;
- 消息队列;
- 限流熔断组件。
很多团队刚开始做 Agent 时,喜欢把所有逻辑都塞进一个 Prompt:
你是一个智能助手,请理解用户问题,查询知识库,必要时调用工具,最终给出答案。
这种方式在 Demo 阶段没问题,但上线后会很难维护。
因为模型既要判断意图,又要规划步骤,还要选择工具,还要组织回答。一旦任务复杂,模型很容易出现不稳定行为。
更合理的方式是:将 Agent 拆成多个可控模块。
例如:
- 先用轻量模型做意图分类;
- 再判断是否需要调用知识库;
- 如果需要工具,则通过结构化参数调用;
- 对工具结果做校验;
- 最后再让模型生成自然语言回答。
这种拆分看似增加了流程,但实际上能显著提升稳定性,并降低成本。
三、优化方向一:模型选择与模型路由
1. 不要所有任务都用最强模型
生产环境中最常见的浪费,是所有请求都调用大模型的旗舰版本。
但实际业务里,大量请求并不复杂。
例如客服场景中,用户问题可能分为:
- 简单寒暄:你好、谢谢、再见;
- FAQ 问题:如何修改密码、如何开发票;
- 订单查询:需要调用工具;
- 投诉处理:需要复杂判断;
- 多步骤任务:需要 Agent 规划。
如果所有请求都使用最高规格模型,成本会非常高。更合理的做法是使用 模型路由 Model Routing。
2. 生产环境模型路由策略
可以根据任务复杂度选择不同模型:
| 任务类型 | 推荐模型策略 |
|---|---|
| 寒暄、简单分类 | 小模型或规则 |
| FAQ 问答 | 小模型 + RAG |
| 格式转换、摘要 | 中等模型 |
| 复杂推理 | 强模型 |
| 多工具调用 | 强模型或专用 Agent |
| 安全审核 | 分类模型或规则模型 |
示例流程:
用户输入
↓
轻量分类器判断任务类型
↓
简单任务 → 小模型
复杂任务 → 强模型
工具任务 → Agent 模型
风险任务 → 审核模型
线上实测中,模型路由通常可以带来以下收益:
- 平均成本降低 30%~70%;
- 简单问题延迟明显下降;
- 强模型资源集中用于真正复杂的任务;
- 整体系统吞吐提升。
3. 路由器如何实现?
路由器可以有三种实现方式:
方式一:规则路由
适合非常明确的场景,例如:
- 用户输入命中固定关键词;
- 请求路径不同;
- 用户选择了固定功能;
- 前端传入任务类型。
优点是便宜、稳定、可解释。
缺点是覆盖面有限。
方式二:小模型分类
让一个低成本模型输出结构化分类结果:
{
"intent": "order_query",
"need_tool": true,
"complexity": "medium"
}
优点是灵活。
缺点是需要评测分类准确率。
方式三:混合路由
线上最推荐的是混合方式:
- 能用规则判断的先用规则;
- 规则不确定时再用小模型;
- 小模型置信度低时升级到强模型。
这种策略可以兼顾稳定性和成本。
四、优化方向二:Prompt 压缩与上下文管理
AI Agent 的延迟和成本与 Token 数量强相关。
很多线上系统越来越慢,不是模型变慢了,而是上下文越来越长。
1. 常见问题:把所有历史对话都塞给模型
许多系统会简单地把完整聊天记录拼接到 Prompt 中:
system prompt
+ 第1轮用户问题
+ 第1轮助手回答
+ 第2轮用户问题
+ 第2轮助手回答
...
+ 当前问题
这种方式在前几轮还可以,但对话超过 10 轮后,输入 Token 会迅速膨胀。
带来的问题包括:
- 模型调用费用升高;
- 响应速度变慢;
- 关键信息被长上下文稀释;
- 模型更容易误解当前问题;
- 超出上下文长度后需要截断,导致信息丢失。
2. 使用会话摘要
更合理的做法是维护一个动态会话摘要:
用户基本信息:
- 用户是企业管理员
- 正在咨询发票开具问题
已确认事实:
- 订单号:A20250108
- 发票类型:增值税专用发票
- 用户希望修改抬头
未完成事项:
- 需要查询订单是否支持重新开票
每轮对话结束后,将历史内容压缩为摘要,只保留必要事实。
下一轮请求时,不再传完整历史,而是传:
系统指令 + 会话摘要 + 最近2轮对话 + 当前问题
线上实测中,这种方式可以显著减少输入 Token,尤其适合客服、运营助手、销售助手等多轮场景。
3. Prompt 模板要短而明确
很多 Prompt 写得非常长,包含大量重复说明。例如:
你必须认真回答,不能胡说,要专业,要准确,要友好,要一步一步思考……
这类描述如果没有可执行约束,效果有限,还会增加 Token。
更好的写法是使用明确规则:
回答规则:
1. 如果缺少订单号,先向用户索要订单号;
2. 如果用户询问订单状态,必须调用 query_order 工具;
3. 不允许编造订单数据;
4. 最终回答不超过 200 字;
5. 如果工具返回 error,告知用户稍后重试。
Prompt 优化的原则是:
- 少写空泛形容词;
- 多写可执行规则;
- 输出格式尽量结构化;
- 工具调用条件要明确;
- 不要在系统 Prompt 中堆砌无关背景。
五、优化方向三:工具调用优化
Agent 的核心能力之一是调用工具。
但在生产环境中,工具调用也是最容易拖慢系统的环节。
1. 工具数量不要太多
很多团队会给 Agent 注册几十个工具:
- 查订单;
- 查物流;
- 查库存;
- 查用户;
- 查优惠券;
- 查发票;
- 查合同;
- 查工单;
- 查审批;
- 查知识库……
工具越多,模型选择工具时的负担越大,误调用概率也越高。
尤其当工具描述相似时,模型容易混淆。
优化建议:
- 按业务场景加载工具,而不是全量加载;
- 使用工具路由,先判断场景,再暴露对应工具;
- 合并高度相似的工具;
- 工具名称要清晰,不要使用缩写;
- 工具参数要结构化,并提供约束。
例如,不建议这样命名:
get_info
query_data
search
fetch
推荐使用:
query_order_status
query_invoice_detail
search_product_knowledge
create_after_sales_ticket
2. 工具描述要简洁准确
工具描述不是越长越好,而是要告诉模型三件事:
- 什么时候使用;
- 输入参数是什么;
- 返回结果是什么。
示例:
{
"name": "query_order_status",
"description": "当用户询问订单状态、物流进度、是否发货时使用。必须提供 order_id。",
"parameters": {
"order_id": "订单号,字符串,必填"
}
}
避免描述中包含过多业务废话,否则会增加上下文长度,也会干扰模型判断。
3. 并行调用工具
如果一个任务需要调用多个互不依赖的工具,可以并行执行。
例如生成客户画像时,需要:
- 查询用户基本信息;
- 查询最近订单;
- 查询售后记录;
- 查询优惠券使用情况。
这些请求之间没有强依赖,就可以并行:
串行方式:A → B → C → D,总耗时 = A+B+C+D
并行方式:A/B/C/D 同时执行,总耗时 ≈ max(A,B,C,D)
生产环境中,工具调用并行化常常能把 5~8 秒的任务压缩到 2~3 秒。
4. 对工具结果做裁剪
工具返回的数据不能无脑塞回模型。
例如订单查询接口可能返回几十个字段:
{
"order_id": "...",
"user_id": "...",
"sku_list": "...",
"payment_channel": "...",
"coupon_info": "...",
"invoice_info": "...",
"warehouse_id": "...",
"risk_flag": "...",
"created_at": "...",
"updated_at": "..."
}
如果用户只是问“订单发货了吗”,模型只需要:
{
"order_id": "...",
"shipping_status": "已发货",
"tracking_number": "...",
"carrier": "顺丰"
}
工具结果裁剪可以减少 Token,也能降低模型误读无关字段的风险。
六、优化方向四:RAG 检索性能优化
RAG 是很多 Agent 的基础能力,但知识库问答中常见问题是:
检索不准、上下文太长、回答慢、幻觉多。
1. 文档切分要合理
切分过小,会丢失上下文;切分过大,会引入噪声。
一般建议:
- FAQ 类文档:按问答对切分;
- 产品文档:按标题层级切分;
- 合同制度:按条款切分;
- 技术文档:按章节与代码块切分;
- 长篇文档:使用父子分块策略。
例如:
父块:整章内容,用于保留上下文
子块:具体段落,用于向量检索
检索时命中子块,再把相关父块或相邻段落带入模型。
2. 混合检索比单纯向量检索更稳定
单纯向量检索适合语义相似问题,但对关键词、编号、专有名词不够稳定。
生产环境更推荐:
向量检索 + 关键词检索 + 重排序
例如:
- 向量召回 Top 20;
- BM25 关键词召回 Top 20;
- 合并去重;
- 使用 reranker 重排序;
- 取 Top 3~5 输入模型。
这种方式在企业知识库、政策文档、产品手册中效果明显更好。
3. 控制检索上下文长度
很多系统为了“保险”,一次塞入 Top 10 文档片段。
结果反而让模型被噪声干扰。
建议:
- 默认 Top 3~5;
- 每个片段控制长度;
- 去掉无关元数据;
- 对长片段做摘要;
- 对低相关性片段直接丢弃。
RAG 的目标不是把所有资料交给模型,而是把最相关、最必要的信息交给模型。
4. 引用来源提升可信度
生产环境中,建议让 Agent 输出引用来源,例如:
根据《售后服务政策》第 3.2 条,商品签收后 7 天内可申请无理由退货。
这样不仅提升用户信任,也方便排查错误回答来自哪个知识片段。
七、优化方向五:缓存策略
缓存是降低成本和延迟的有效手段,但 AI Agent 的缓存设计需要谨慎。
1. 哪些内容适合缓存?
适合缓存的内容包括:
- Embedding 结果;
- RAG 检索结果;
- FAQ 问答结果;
- 工具查询结果;
- 模型分类结果;
- Prompt 编译结果;
- 静态系统指令。
不适合缓存的内容包括:
- 强个性化回答;
- 实时订单状态;
- 高风险决策;
- 金融、医疗等敏感判断;
- 依赖最新数据的问题。
2. 多级缓存设计
推荐使用多级缓存:
本地内存缓存
↓ 未命中
Redis 缓存
↓ 未命中
数据库 / 模型 / 工具
对于高频 FAQ,缓存命中率可以非常高。
例如“如何修改密码”“如何申请发票”“如何联系客服”这类问题,完全可以通过语义缓存加速。
3. 语义缓存
传统缓存依赖完全匹配:
用户A:怎么改密码?
用户B:密码在哪里修改?
这两个问题语义相同,但字符串不同。
语义缓存会先计算用户问题的向量,如果与历史问题相似度超过阈值,就直接复用答案。
不过语义缓存需要注意:
- 设置合理相似度阈值;
- 区分业务场景;
- 区分用户权限;
- 对实时数据设置短 TTL;
- 对命中结果进行安全校验。
八、优化方向六:流式输出与用户体验
有些任务总耗时无法降到 1 秒以内,例如复杂分析、报告生成、多工具调用。
这时可以通过流式输出改善体验。
1. 为什么流式输出重要?
用户对等待的感知并不只取决于总时间,还取决于是否有反馈。
例如:
- 直接等待 12 秒后返回完整答案,体验很差;
- 1 秒内显示“正在查询订单”,3 秒后显示“已获取物流信息”,最后输出结果,体验会好很多。
2. Agent 中间状态可视化
对于复杂 Agent,可以返回阶段性状态:
正在理解问题……
正在查询订单信息……
正在检索售后政策……
正在生成处理建议……
这能显著降低用户焦虑,也方便用户理解 Agent 在做什么。
3. 部分结果先返回
如果任务包含多个模块,可以先返回已完成部分。
例如数据分析 Agent:
已完成销售额统计,正在分析异常门店……
这类设计对长任务尤其有用。
九、优化方向七:并发、限流与超时控制
AI Agent 上线后,必须考虑并发稳定性。
1. 设置合理超时
不同模块应设置不同超时:
| 模块 | 建议超时 |
|---|---|
| 意图分类 | 1~3 秒 |
| Embedding | 1~3 秒 |
| 向量检索 | 1~2 秒 |
| 工具查询 | 2~5 秒 |
| 大模型生成 | 10~30 秒 |
| 长任务 | 异步处理 |
不要让某个工具无限等待,否则会拖垮整个 Agent。
2. 熔断和降级
当某个服务异常时,需要降级策略:
- 知识库不可用:回答“暂时无法查询知识库”,而不是胡编;
- 工具不可用:提示用户稍后重试;
- 强模型不可用:降级到备用模型;
- 流量过高:限制低优先级请求;
- 检索失败:返回人工客服入口。
3. 异步任务处理
对于耗时任务,例如:
- 生成长报告;
- 批量分析数据;
- 多文档总结;
- 自动生成方案;
- 批量调用外部系统。
建议采用异步架构:
用户提交任务
↓
返回任务ID
↓
后台队列处理
↓
用户轮询 / WebSocket / 消息通知获取结果
不要让用户在 HTTP 请求里等待几十秒甚至几分钟。
十、优化方向八:输出格式与结构化校验
生产环境中,Agent 输出不能完全依赖自然语言。
尤其是需要进入业务系统的结果,必须结构化。
例如工单创建结果:
{
"category": "invoice_issue",
"priority": "medium",
"summary": "用户反馈发票抬头错误,希望重新开票",
"need_human": true
}
1. 使用 JSON Schema 约束输出
通过 JSON Schema 可以减少格式错误:
{
"type": "object",
"properties": {
"intent": {
"type": "string",
"enum": ["faq", "order_query", "complaint", "other"]
},
"need_tool": {
"type": "boolean"
},
"reply": {
"type": "string"
}
},
"required": ["intent", "need_tool", "reply"]
}
2. 输出后做校验
模型输出后,服务端应进行:
- JSON 解析校验;
- 字段类型校验;
- 枚举值校验;
- 敏感内容校验;
- 权限校验;
- 业务规则校验。
如果校验失败,可以:
- 要求模型重新生成;
- 使用备用解析器修复;
- 降级为人工处理;
- 返回安全提示。
十一、优化方向九:可观测性与日志追踪
没有观测,就没有优化。
很多团队上线 Agent 后,只记录最终回答,这是远远不够的。
1. 必须记录的关键数据
建议记录每次请求的完整链路信息:
- request_id;
- user_id 或匿名用户标识;
- 用户输入;
- 意图分类结果;
- 使用的模型;
- 输入 Token;
- 输出 Token;
- 模型耗时;
- 工具调用名称;
- 工具调用参数;
- 工具返回耗时;
- RAG 检索关键词;
- 命中文档 ID;
- 最终回答;
- 错误码;
- 用户反馈。
2. 构建 Agent Trace
一个典型 Trace 可以这样展示:
Request ID: 20250108-0001
用户问题:我的订单什么时候发货?
Step 1: Intent Classification
- intent: order_query
- latency: 320ms
Step 2: Tool Call query_order_status
- order_id: A123456
- latency: 840ms
- result: shipped
Step 3: LLM Response
- model: xxx
- input_tokens: 950
- output_tokens: 120
- latency: 1.8s
Total latency: 3.1s
通过 Trace 可以快速回答:
- 慢在哪里?
- 是模型慢还是工具慢?
- 是检索失败还是生成失败?
- Token 为什么这么多?
- 哪些工具调用最频繁?
- 哪类问题成本最高?
3. 指标看板
生产环境建议建立指标看板:
- 平均延迟;
- P95 / P99 延迟;
- 请求成功率;
- 工具失败率;
- RAG 命中率;
- Token 消耗;
- 单次请求成本;
- 缓存命中率;
- 用户满意度;
- 人工转接率。
其中 P95/P99 特别重要。
平均延迟看起来可能不错,但少数慢请求会严重影响用户体验。
十二、生产环境实测优化案例
下面给出一个接近真实业务的优化案例。
背景
某企业内部知识库助手,主要用于回答员工关于制度、流程、财务报销、IT 支持的问题。初始版本架构如下:
用户问题
↓
直接调用强模型
↓
检索知识库 Top 10
↓
将全部片段塞入 Prompt
↓
生成回答
初始指标
| 指标 | 初始值 |
|---|---|
| 平均响应时间 | 9.8 秒 |
| P95 响应时间 | 18.4 秒 |
| 单次平均输入 Token | 6200 |
| 单次平均输出 Token | 480 |
| 知识库命中准确率 | 71% |
| 月度模型成本 | 较高 |
| 用户满意度 | 一般 |
主要问题:
- 所有问题都走强模型;
- 检索片段过多,噪声严重;
- 没有缓存;
- 上下文缺少摘要;
- 工具和模型耗时没有拆分监控;
- 输出经常过长。
优化措施
1. 增加意图分类
将问题分为:
- FAQ;
- 制度查询;
- IT 故障;
- 财务报销;
- 闲聊;
- 其他。
简单问题使用小模型或直接规则回复。
2. 优化 RAG
- 向量检索 Top 20;
- BM25 检索 Top 20;
- reranker 重排;
- 最终只取 Top 4;
- 对每个片段限制最大长度;
- 输出引用来源。
3. 增加语义缓存
对高频 FAQ 建立语义缓存,TTL 设置为 7 天。
涉及制度变更的内容,在知识库更新时主动清除缓存。
4. 压缩 Prompt
将系统 Prompt 从约 1800 Token 压缩到 650 Token。
删除重复要求,保留工具规则、回答格式和风险约束。
5. 输出长度控制
根据问题类型设置回答长度:
- FAQ:150 字以内;
- 制度解释:300 字以内;
- 步骤说明:使用列表;
- 不确定问题:提示用户查看来源或联系负责人。
6. 增加链路追踪
为每次请求记录:
- 分类耗时;
- 检索耗时;
- rerank 耗时;
- 模型生成耗时;
- Token 消耗;
- 缓存命中情况。
优化后指标
| 指标 | 优化前 | 优化后 |
|---|---|---|
| 平均响应时间 | 9.8 秒 | 3.6 秒 |
| P95 响应时间 | 18.4 秒 | 7.9 秒 |
| 平均输入 Token | 6200 | 2100 |
| 平均输出 Token | 480 | 260 |
| 知识库命中准确率 | 71% | 84% |
| 缓存命中率 | 0% | 31% |
| 单次平均成本 | 100% | 42% |
| 用户满意度 | 一般 | 明显提升 |
这个案例说明:
Agent 性能优化并不是某一个技巧带来的,而是多项工程优化叠加后的结果。
十三、AI Agent 性能优化清单
上线前可以参考以下清单。
模型与路由
- [ ] 是否所有请求都用了同一个大模型?
- [ ] 是否有轻量意图分类?
- [ ] 是否根据任务复杂度选择模型?
- [ ] 是否设置备用模型?
- [ ] 是否统计不同模型的成本和成功率?
Prompt 与上下文
- [ ] System Prompt 是否过长?
- [ ] 是否删除了空泛描述?
- [ ] 是否使用结构化输出?
- [ ] 多轮对话是否有摘要?
- [ ] 是否只传必要历史信息?
工具调用
- [ ] 工具数量是否过多?
- [ ] 工具名称是否清晰?
- [ ] 工具描述是否明确使用场景?
- [ ] 工具参数是否有校验?
- [ ] 工具是否支持并行调用?
- [ ] 工具结果是否裁剪后再传给模型?
RAG 检索
- [ ] 文档切分是否合理?
- [ ] 是否使用混合检索?
- [ ] 是否使用 reranker?
- [ ] 是否控制 Top K?
- [ ] 是否输出引用来源?
- [ ] 是否评估检索准确率?
缓存与成本
- [ ] 是否缓存 Embedding?
- [ ] 是否有 FAQ 缓存?
- [ ] 是否有语义缓存?
- [ ] 缓存是否设置 TTL?
- [ ] 是否避免缓存敏感或实时数据?
- [ ] 是否统计单次请求成本?
稳定性与观测
- [ ] 是否设置模块级超时?
- [ ] 是否有熔断降级?
- [ ] 是否支持异步任务?
- [ ] 是否记录完整 Trace?
- [ ] 是否监控 P95/P99?
- [ ] 是否有用户反馈闭环?
十四、常见误区
误区一:Prompt 写得越长越好
长 Prompt 不等于好 Prompt。
生产环境中,Prompt 应该像配置规则一样清晰、简洁、可维护。
误区二:RAG Top K 越大越好
塞入更多文档不一定提高准确率,反而可能增加噪声。
关键是召回质量、重排序和上下文裁剪。
误区三:Agent 必须自主规划所有步骤
在业务系统中,完全自主的 Agent 往往不可控。
更推荐“半自主”模式:关键流程由系统控制,模型负责理解、生成和局部决策。
误区四:只看平均响应时间
平均值会掩盖长尾问题。
P95、P99 和失败率更能反映真实体验。
误区五:上线后再说评测
Agent 必须在上线前建立评测集。
没有评测集,优化很容易变成凭感觉调 Prompt。
十五、结语
AI Agent 的生产环境优化,本质是一项系统工程。
它不只是模型问题,也不只是 Prompt 问题,而是模型、检索、工具、缓存、上下文、并发、观测和业务流程共同决定的结果。
如果要总结为一句话:
让模型只处理它最擅长的部分,把确定性逻辑交给系统,把重复请求交给缓存,把复杂链路交给可观测工程。
一个优秀的生产级 AI Agent,应该具备以下特征:
- 简单问题快速响应;
- 复杂问题有清晰规划;
- 工具调用准确可控;
- 知识检索来源可靠;
- 成本可预测;
- 异常可降级;
- 结果可评测;
- 链路可追踪。
未来 AI Agent 会越来越强,但真正能在企业里稳定运行的系统,依然离不开扎实的工程优化。
只有把性能、成本、准确率和稳定性同时做好,AI Agent 才能从“炫技 Demo”变成真正可用、可信、可持续迭代的生产力工具。