传统软件出现问题时,开发者通常会检查日志、调用链、数据库记录和监控指标。

哪一个接口失败。
哪一条请求超时。
哪个服务返回异常。
哪一步开始偏离预期。

这些信息共同构成了软件系统的可观测性。

但当ChatGPT开始分析需求,Codex开始读取代码、修改文件、运行命令,Pro开始支撑更长、更复杂的开发任务后,新的问题出现了:

AI完成了很多操作,开发者却不一定知道它为什么这样做。

它读取过哪些文件?
根据什么结论修改代码?
调用过哪些工具?
哪一步出现错误?
为什么放弃原来的方案?
最终结果建立在哪些假设上?

AI能够执行任务,不代表执行过程天然透明。

这背后对应的是AI工程中的另一项核心能力:可观测性工程。

一、最终结果无法代表完整过程

开发者让Codex修复一个接口问题,最后可能只看到:

已完成修改,测试通过。

这句话看起来很完整,却缺少大量关键信息:

  • 实际修改了哪些文件;
  • 是否读取了无关模块;
  • 测试覆盖了哪些场景;
  • 是否跳过了失败命令;
  • 是否改变了原有接口行为;
  • 是否新增了依赖;
  • 哪些风险仍然没有解决。

结果正确,不代表过程可靠。

尤其在复杂项目中,AI可能通过一个不合理的方法暂时让测试通过。

例如:

  • 放宽断言;
  • 删除异常检查;
  • 修改测试数据;
  • 绕过权限判断;
  • 用默认值掩盖真实错误。

如果只看最终状态,开发者很难发现这些变化。

因此,AI任务不能只有“完成”或“失败”。

还必须能够解释:

任务是怎样完成的。

二、传统日志为什么不够

普通日志记录的是系统事件:

  • 接口被调用;
  • 数据写入成功;
  • 测试执行失败;
  • 命令返回错误。

但AI Agent还存在一层更复杂的决策过程。

它不仅执行动作,还会:

  • 理解任务;
  • 选择文件;
  • 判断优先级;
  • 调整计划;
  • 放弃某个方案;
  • 根据反馈继续修改。

所以AI可观测性不能只记录命令结果。

还需要记录三类信息。

决策信息

AI为什么选择这个方案?

依据的是用户要求、项目代码,还是自己形成的推断?

执行信息

它读取了什么、修改了什么、调用了什么工具?

状态信息

当前任务处于分析、修改、测试、修复,还是等待人工确认?

只有这三类信息能够被追踪,开发者才可能真正理解AI任务。

三、什么是AI可观测性工程

AI可观测性工程,是对任务理解、工具调用、状态变化和验证结果进行持续记录。

完整链路可以表示为:

用户目标

ChatGPT分析与规划

Codex读取文件

工具调用与代码修改

测试结果

状态更新

人工审查

每一个阶段都应该留下可以检查的证据。

它至少需要回答六个问题:

  1. 当前目标是什么;
  2. AI使用了哪些上下文;
  3. AI为什么采取当前动作;
  4. 实际执行了哪些操作;
  5. 执行结果是否符合预期;
  6. 下一步为什么继续或停止。

可观测性不是让AI输出更多文字。

而是让关键决策和工程动作能够被准确追踪。

四、第一层:文件与工具调用记录

Codex进入项目后,首先需要记录它接触了哪些资源。

例如:

  • 读取了哪些目录;
  • 打开了哪些文件;
  • 修改了哪些代码;
  • 执行了哪些命令;
  • 调用了哪些测试;
  • 是否访问了外部服务。

如果一个任务只要求修改登录接口,Codex却读取并修改了支付模块,这就是值得审查的异常信号。

工具调用范围越透明,开发者越容易发现任务是否越界。

五、第二层:任务状态变化

一个复杂任务通常会经历:

待分析
方案设计
代码修改
测试执行
错误修复
人工审查
等待合并

每次状态变化都应该有明确原因。

例如:

从代码修改进入测试执行,因为目标文件已经完成修改。

或者:

从测试执行返回错误修复,因为权限测试仍然失败。

如果状态变化无法解释,任务就容易出现跳步。

测试还没有完成,AI却宣布任务结束。

风险还没有确认,代码却进入合并阶段。

可观测性让开发者看到任务现在在哪里,也能发现它是否跳过了关键步骤。

六、第三层:决策依据

AI最难观察的部分,不是它执行了什么,而是它为什么这样执行。

例如,Codex决定重构一个函数,可能基于:

  • 用户明确要求;
  • 项目现有规范;
  • 测试失败信息;
  • 自己推断的最佳实践。

这四种依据的可信度并不相同。

可靠的AI任务应该区分:

已确认事实。
项目内证据。
用户约束。
AI推断。
尚未验证的假设。

如果AI把推断当成事实,后续任务就可能建立在错误基础上。

所以可观测性不仅要记录动作,还要暴露关键假设。

七、第四层:验证结果必须可追溯

“测试通过”不是完整结果。

开发者还需要知道:

  • 运行了哪些测试;
  • 哪些测试没有运行;
  • 使用了什么环境;
  • 测试覆盖了哪些修改;
  • 是否存在跳过项;
  • 是否发生过失败后重试。

例如,Codex运行了5个单元测试并全部通过,并不能证明整个系统没有回归问题。

如果修改涉及公共接口,还可能需要:

  • 集成测试;
  • 回归测试;
  • 权限测试;
  • 并发测试;
  • 兼容性检查。

验证信息越完整,合并判断越可靠。

八、ChatGPT、Codex与Pro如何进入可观测链路

ChatGPT:解释与总结层

ChatGPT可以帮助开发者:

  • 总结当前任务目标;
  • 整理关键决策;
  • 区分事实和推断;
  • 解释任务为什么发生变化;
  • 输出阶段性状态报告。

它让复杂过程变得更容易理解。

Codex:执行与记录层

Codex需要记录:

  • 文件读取;
  • 代码变更;
  • 命令调用;
  • 测试结果;
  • 错误信息;
  • 下一步建议。

它不只负责执行,还要为执行过程留下证据。

Pro:长任务持续层

Pro可以支撑更长、更复杂的任务链。

但任务越长,越容易出现:

  • 决策依据丢失;
  • 中间状态混乱;
  • 工具调用数量增加;
  • 多次修改难以追踪。

因此,Pro扩大任务能力的同时,也提高了可观测性要求。

任务越复杂,过程越需要透明。

九、为什么可观测性会成为AI开发基础设施

未来AI可能同时承担:

  • 需求分析;
  • 代码修改;
  • 测试生成;
  • 故障修复;
  • 文档更新;
  • PR审查。

当执行范围越来越大,开发者不可能只检查最终输出。

还需要一条完整的工程轨迹:

AI理解了什么。
AI决定了什么。
AI执行了什么。
AI验证了什么。
AI遗漏了什么。
人类确认了什么。

没有这条轨迹,AI越自动化,系统越难审查。

可观测性不是额外负担。

它是AI能够进入真实工程环境的基础条件。

结语

ChatGPT帮助理解和解释任务。

Codex负责进入项目执行操作。

Pro支撑更复杂、更持续的协作流程。

但当AI开始真正参与软件开发,开发者需要看到的不只是最终答案。

还包括任务的目标、决策、工具调用、状态变化和验证证据。

传统软件通过日志理解系统行为。

AI开发也需要通过可观测性理解Agent行为。

AI能够完成任务,只代表它具备执行能力。

开发者能够看清它如何完成任务,才代表这套系统真正具备工程可信度。

Logo

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

更多推荐