摘要

随着大模型逐渐融入软件开发流程,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 原生软件工程的重要能力之一。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐