Appearance
Observability、Tracing、Evaluation、Prompt/Context Engineering、Cost、Latency 与 Security
AI 系统最容易让人产生错觉的一点是:
只要能跑通一次,好像就已经差不多了。
但真正上线之后,问题往往不是“跑不跑得通”,而是:
- 为什么同样的问题今天能答对,明天又开始飘
- 为什么延迟有时很稳,有时突然翻倍
- 为什么成本越跑越高,却说不清花在哪里
- 为什么用户反馈变差了,但日志里看起来一切正常
- 为什么系统偶尔会调用不该调用的工具,或者把不该带出来的内容带出来
这几个词,就是拿来处理这些问题的。
1. 一条更接近工程现场的链路
mermaid
flowchart TD
A[用户请求] --> B[上下文组装]
B --> C[检索 / 工具 / 模型调用]
C --> D[输出结果]
D --> E[Observability 汇总指标]
C --> F[Tracing 记录链路]
D --> G[Evaluation 评估效果]
G --> H[Prompt / Context Engineering 调优]
H --> I[Cost / Latency 权衡]
I --> J[Security 加固]这条图最想说明的是:
- AI 工程不是只盯着模型输出
- 一次请求从输入到输出,中间有很多可漂移的环节
- 工程治理的工作,就是把这些环节看见、拆开、衡量、调优、收边界
2. Observability:把系统状态看见
Observability 就是可观测性。
在 AI 场景里,它关心的不是一句“接口成功了没”,而是:
- 请求量是不是突然变化
- 成功率和错误率有没有异常
- 单次请求用了多少 Token
- 哪类工具调用最频繁
- 哪个模型、哪段链路最容易超时
它解决的问题是:
系统运行时,你能不能第一时间发现不对劲。
但它的边界也很清楚。
可观测性让你看到异常,不代表你已经知道异常为什么发生。想继续往下查,还得看 Tracing。
3. Tracing:把一次请求走过的路完整串起来
Tracing 可以理解成链路追踪。
传统系统里,一次请求可能只经过几个服务;AI 系统里,一次请求往往会更长:
- 先拼 Prompt
- 再裁历史上下文
- 再查知识库
- 再做重排
- 再调工具
- 最后还可能有多轮模型生成
这时如果没有 Tracing,你只能看到“结果不太对”,却不知道问题卡在:
- Prompt 组织
- 检索结果
- 工具参数
- 模型决策
- 输出后处理
🌟 Tracing 的价值,在于把“模糊感觉不对”变成“这一步确实出了问题”。
4. Evaluation:判断系统到底有没有变好
很多团队会做日志、做监控、做追踪,但最后还是回答不了一个最关键的问题:
这次改动之后,系统到底变好了还是变差了。
这就是 Evaluation 要解决的事。
在 AI 系统里,评估通常不会只盯一个维度。更常见的是组合看:
- 答案正确性
- 检索命中质量
- 工具调用成功率
- 格式稳定性
- 任务完成率
- 用户反馈或人工标注结果
没有评估,很多调优最后都会变成“感觉更好了”。
而工程上最怕的就是这种“感觉型优化”。
5. Prompt/Context Engineering:很多问题,最后都不是模型本身的问题
Prompt/Context Engineering 直接看成:
围绕指令和上下文组织方式做持续调优。
这里的重点不只是“提示词怎么写”,而是整条输入到底怎么拼。
典型问题包括:
- 系统指令和业务规则谁在前面
- 历史消息保留多少轮
- 检索结果放几条最合适
- 工具返回结果要不要裁剪
- 哪些上下文应该结构化,哪些保留自然语言
很多人一看到效果不稳,就先怀疑模型。
但真实项目里,问题经常出在上下文塞得太乱、太长、太脏,或者关键约束根本没有放在模型最容易理解的位置。
6. Cost 和 Latency:真正上线后,它们每天都在跟效果拉扯
Cost 是成本,Latency 是延迟。
这两个指标经常一起看,不是巧合,而是因为它们总跟效果互相牵扯。
比如:
- 上下文更长,模型理解可能更充分,但 Token 成本和延迟都会上升
- 模型更大,效果可能更稳,但调用价格也更高
- 工具和检索链路更丰富,回答可能更准,但整条链路也更慢
- 多次重试能提高成功率,但同样会抬高成本
所以工程上真正需要的不是“只追效果”或者“只控成本”,而是知道:
哪些效果提升值得花钱,哪些延迟增加是用户不能接受的。
7. Security:AI 系统的安全边界通常比传统接口更宽
AI 场景里的 Security,不只是登录鉴权和接口防刷。
它还会碰到一批更有 AI 味道的问题:
- Prompt 注入
- 敏感信息泄露
- 工具被诱导滥用
- 权限边界被绕开
- 高风险动作缺少确认
- 外部知识或网页内容带进恶意指令
所以 AI 系统里的安全,至少要同时看 4 层:
- 输入安全
- 上下文安全
- 工具调用安全
- 输出结果安全
这里也顺手区分一下:
Guardrails 更偏运行时护栏,Security 更偏完整安全体系。
前者更像一道道检查点,后者则是从身份、权限、数据、调用、审计到合规的一整套要求。
8. 这些概念在真实项目里通常怎么串起来
更稳的落地顺序通常是:
- 把关键指标和链路打出来,建立
Observability和Tracing - 再补评估集和评估流程,用
Evaluation判断优化是否有效 - 再围绕 Prompt、上下文、检索结果和工具返回做
Prompt/Context Engineering - 在效果相对稳定之后,继续压
Cost、控Latency - 最后把
Security从补丁式防御收成体系化治理
如果顺序反过来,比如系统都还看不清就开始猛调 Prompt,通常会很痛苦,因为你根本不知道调动之后到底影响了哪一层。
9. 一段更接近落地现场的总结
Observability 负责让你看到系统状态,Tracing 负责让你看清一次请求到底经历了什么,Evaluation 负责判断系统有没有变好,Prompt/Context Engineering 负责把输入组织方式持续调顺,Cost 和 Latency 负责把效果和现实约束放到一起权衡,Security 则负责把系统真正收进可控边界里。
AI 工程难的从来不只是“把模型接进来”,而是把这整套东西长期跑稳。很多 Demo 死在上线前,不是因为模型不够强,而是因为这条治理链路根本没有建立起来。