AI Observability:当 ChatGPT、Codex 进入软件工程,可观测性为何成为新基础设施?
摘要
随着大模型逐渐融入软件开发流程,AI 已经不再只是代码补全工具,而开始参与需求分析、方案设计、代码修改、测试验证等多个环节。
然而,一个新的问题也逐渐出现:
AI 为什么选择这样的方案?
它修改代码的依据是什么?
一次任务失败,到底是需求理解错误、上下文不足,还是执行过程出现偏差?
传统软件系统依靠日志、指标、链路追踪来定位问题,但 AI 系统增加了“决策过程”这一新的复杂因素。因此,AI Observability(AI 可观测性)正在成为 AI 工程化过程中的重要方向。
未来的软件开发,不仅需要关注代码运行结果,也需要理解 AI 的输入、上下文、决策路径和执行过程。
一、传统可观测性解决的是“系统发生了什么”
在传统软件工程中,可观测性已经是大型系统的重要组成部分。
一个服务出现异常时,工程师通常不会直接猜测原因,而是通过各种监控信息进行分析:
-
请求经过了哪些服务?
-
哪个模块出现延迟?
-
数据库是否异常?
-
是否存在错误调用?
传统系统主要依靠三类信息:
1. Logs(日志)
日志记录系统发生过什么。
例如:
logger.info("Create order", {
orderId,
userId,
amount
});
通过日志,开发者可以了解程序执行过程中的关键事件。
2. Metrics(指标)
指标反映系统当前状态,例如:
-
CPU 使用率
-
接口响应时间
-
错误数量
-
请求数量
-
内存占用情况
这些数据帮助工程师判断系统是否健康。
3. Tracing(链路追踪)
链路追踪关注一次请求经过了哪些环节。
例如:
Request
↓
Gateway
↓
Order Service
↓
Payment Service
↓
Database
通过链路信息,可以快速定位问题出现的位置。
但是,AI 系统带来了新的挑战。
因为传统软件:
代码决定行为。
而 AI 系统:
模型、上下文、工具、历史状态共同影响行为。
因此,仅仅观察运行状态已经不够。

二、AI 系统最大的挑战:无法解释的决策过程
传统程序出现问题时,开发者通常查看代码。
但 AI 应用出现问题时,仅查看代码往往无法解决。
例如:
开发者让 Codex:
优化订单模块。
AI 可能执行:
读取项目代码
↓
分析当前结构
↓
发现重复逻辑
↓
设计重构方案
↓
修改多个文件
↓
生成测试
↓
执行验证
如果最终结果不符合预期,问题可能来自:
-
读取上下文不完整
-
对需求理解错误
-
技术方案判断偏差
-
修改范围评估错误
-
测试覆盖不足
如果没有记录 AI 的思考路径,就很难快速定位问题。
因此,未来 AI 系统需要类似:
Decision Trace(决策追踪)
记录:
-
AI 接收到的信息
-
使用了哪些上下文
-
调用了哪些工具
-
为什么选择某个方案
-
最终验证结果如何
它类似传统系统中的调用链,只不过追踪对象从“程序执行过程”变成了“智能决策过程”。
三、ChatGPT 场景中的关键问题:语义是否发生偏移
对于 ChatGPT 这类对话式 AI,问题通常不是程序报错,而是:
输出方向逐渐偏离目标。
例如:
最初要求:
分析 AI 工程化的发展趋势。
经过多轮交流后,内容可能逐渐变成:
介绍 AI 工具如何提升效率。
表面上仍然相关,但核心主题已经发生变化。
这就是 AI 应用中的:
Semantic Drift(语义漂移)
未来 AI 系统需要具备语义监控能力,例如:
-
当前任务目标是什么?
-
当前输出是否符合原始需求?
-
是否遗漏关键限制条件?
-
是否偏离技术主题?
这类似软件系统中的异常监控,只不过监控对象从运行状态变成了“语义状态”。

四、AI 代码开发需要新的变更追踪方式
过去的软件开发中,Git Diff 解决了一个核心问题:
哪些代码发生了变化?
但 AI 编程时代,还需要回答:
为什么发生这些变化?
例如:
代码变化:
- oldFunction()
+ newService()
传统 Diff 可以看到修改内容。
但 AI 工程还需要知道:
-
修改原因是什么?
-
对应哪个需求?
-
风险等级如何?
-
是否增加测试?
-
是否经过验证?
因此未来 AI 辅助开发可能需要:
AI Change Trace(AI 修改记录)
例如:
文件:
OrderService.ts
修改类型:
重构
原因:
减少重复查询逻辑
关联需求:
订单查询优化
风险:
中等
验证:
order.service.test.ts
未来 AI 提交代码,可能不仅包含代码变化,也包含变化背后的解释。
五、AI Agent 时代,可观测性更加重要
未来的 AI Agent 不只是回答问题,而可能完成完整任务:
理解目标
↓
制定计划
↓
调用工具
↓
执行操作
↓
检查结果
↓
调整策略
这已经接近一个自动运行的软件系统。
但是 Agent 最大的问题是:
执行路径可能不是固定的。
同一个任务,不同时间可能产生不同过程:
第一次:
搜索资料
↓
总结方案
第二次:
分析代码
↓
修改文件
↓
运行测试
为什么会不同?
原因可能包括:
-
上下文变化
-
历史状态变化
-
工具结果变化
-
模型判断变化
因此 Agent 系统需要记录:
-
Agent 状态
-
工具调用记录
-
决策路径
-
记忆访问
-
异常事件
形成完整的运行轨迹。
六、模型能力越强,越需要可观测能力
很多人认为:
模型越来越强,人工干预会越来越少。
但实际情况可能相反。
模型能力提升后,能够处理的问题更加复杂:
任务复杂度增加 → 决策数量增加 → 隐藏状态增加 → 可观测需求增加。
未来企业关注的不只是:
“AI 是否能够完成任务?”
还包括:
-
为什么这样完成?
-
使用了哪些依据?
-
是否符合规则?
-
出错后如何恢复?
-
是否可以复现过程?
这也是 AI 工程化区别于简单 AI 使用的重要方向。
七、AI Observability 的可能架构
未来 AI 系统可能包含类似这样的观察层:
AI Application
|
Observation Layer
|
--------------------------------
Prompt Trace
Context Trace
Decision Trace
Tool Trace
Memory Trace
Change Trace
Validation Trace
--------------------------------
Storage
Dashboard
Alert
其中:
Prompt Trace
记录:
-
输入内容
-
任务目标
-
约束条件
Context Trace
记录:
-
使用了哪些文件
-
参考了哪些知识
-
获取了哪些信息
Tool Trace
记录:
-
调用了什么工具
-
参数是什么
-
返回结果是什么
Decision Trace
记录:
-
为什么选择这个方案
Validation Trace
记录:
-
如何验证结果正确
这些信息共同构成 AI 系统的透明化基础。

八、未来开发者需要掌握 AI Debugging
未来调试 AI 系统,不只是:
哪行代码错了?
还需要关注:
AI 为什么做出这个决定?
新的排查流程可能变成:
结果异常
↓
查看输出记录
↓
查看决策过程
↓
查看上下文来源
↓
查看工具调用
↓
定位问题节点
↓
优化工作流程
例如:
AI 修改了一段错误代码。
传统方式:
查看代码差异。
AI 调试方式:
分析:
-
AI 读取了什么?
-
AI 理解了什么?
-
哪些信息被忽略?
-
哪个约束没有生效?
这将成为未来开发人员的新技能。
九、AI 工程团队需要建立过程记录
未来团队使用 AI,不应该只是:
“每个人单独向 AI 提问”。
更合理的方式是建立统一的 AI 工程流程。
例如记录:
.ai/
├── traces/
├── decisions/
├── failures/
├── evaluations/
└── reports/
每一次 AI 任务都可以保存:
-
目标
-
输入上下文
-
执行过程
-
修改结果
-
测试情况
-
人工反馈
长期积累后,这些数据可以形成团队自己的 AI 工程经验库。
结语:AI 时代,需要让智能变得可理解
过去的软件工程关注:
程序如何执行。
未来 AI 工程关注:
智能为什么这样执行。
随着 ChatGPT、Codex 等 AI 工具逐渐参与真实开发流程,最大的挑战已经不仅是 AI 能不能完成任务,而是:
-
决策是否透明?
-
过程是否可追踪?
-
结果是否可信?
-
问题是否容易定位?
AI Observability 的价值,不是限制 AI,而是让 AI 更容易被理解、管理和优化。
未来优秀开发者不仅需要会使用 AI,还需要理解:
如何观察 AI。
如何分析 AI。
如何调试 AI。
如何让 AI 在复杂软件系统中稳定工作。
这可能会成为 AI 原生软件工程的重要能力之一。
更多推荐



所有评论(0)