让应用对AI“可读”:可观测性与运行态信号的重要性
摘要:本文深入探讨Harness Engineering中的核心基础设施——如何让应用程序对AI变得“可读”。当智能体不再依赖人类描述Bug,而是能够直接“看”到应用程序的运行状态时,开发的自主性才真正成为可能。文章详细解析了OpenAI团队的三大技术举措:通过Chrome DevTools Protocol让Codex直接操作和感知浏览器、为每个任务提供独立的隔离运行时环境、将可观测性数据(日志、指标、追踪)作为一等公民开放给智能体。这些措施共同构建了一个让智能体能够自我验证、自我修复的反馈闭环。文章还结合JetBrains、阿里云等行业实践,展示了可观测性如何成为智能体开发的“眼睛”。
引言:当AI需要一双“眼睛”
想象一下这样的场景:你让一位同事帮忙修复一个Bug,但你给他的唯一信息是一堆代码文件,却不让他运行程序、不看日志、不观察界面。他能修复这个Bug吗?
几乎不可能。因为代码的静态文本只能告诉你“它应该是什么”,而运行态的信号——日志、界面渲染、API响应、性能指标——才能告诉你“它实际是什么”。
这正是智能体开发面临的核心困境。在OpenAI实验的早期,Codex就像这位被蒙上眼睛的同事:它只能阅读代码,却无法观察程序运行时的真实状态。结果是,它生成的代码常常在运行时失败,而人类工程师不得不反复介入,告诉它“这里错了,那里也不对”。
OpenAI团队很快意识到:如果智能体无法像人类开发者一样“看到”应用程序的运行状态,就永远无法实现真正的自主。于是,他们开始着手做一件事:让应用对AI“可读”。
![[图1:蒙眼开发者 vs 拥有眼睛的开发者对比图 - 左侧智能体只能看代码,右侧智能体可以看到运行时的各种信号]](https://i-blog.csdnimg.cn/direct/0a990300566f4ad58ec7cbce49cbbf2a.png)
一、可观测性:智能体的“眼睛”
1.1 从静态到动态的跨越
在传统开发模式中,可观测性(Observability)主要是为人类工程师设计的——日志、指标、追踪帮助我们理解系统行为、定位问题根源。但在Harness Engineering中,可观测性有了全新的使命:为智能体提供运行时的感知能力。
这种转变的意义不亚于让盲人重见光明。有了可观测性,智能体可以:
- 复现Bug:看到错误发生的现场,而不是仅凭代码推理
- 验证修复:确认自己的修改是否真的解决了问题
- 理解行为:观察系统在真实负载下的表现,发现代码审查中难以察觉的问题
- 自我优化:根据运行时信号调整自己的行为策略
1.2 三个维度的运行态信号
OpenAI团队构建的可观测性体系覆盖了三个核心维度:
| 维度 | 传统用途 | 智能体用途 |
|---|---|---|
| 日志(Logs) | 人类排查错误 | 智能体通过LogQL查询,理解系统在特定时刻的状态 |
| 指标(Metrics) | 监控系统健康 | 智能体通过PromQL查询,验证性能是否符合预期 |
| 追踪(Traces) | 分析调用链 | 智能体理解请求在分布式系统中的完整路径 |
| UI状态 | 人工测试 | 智能体通过DOM快照和截图,直接“看”到界面表现 |
![[图2:可观测性三维度示意图 - 展示日志、指标、追踪如何构成完整的运行态视图]](https://i-blog.csdnimg.cn/direct/12cdba0ccddb4643810c32f27e88169b.png)
二、核心技术一:让智能体“看”到UI
在所有运行态信号中,UI状态可能是最直观也最复杂的。当用户报告一个界面Bug时,仅凭代码几乎不可能理解问题所在——按钮是否可见?弹窗是否正确弹出?表单验证失败时的错误提示是什么?
2.1 Chrome DevTools Protocol的接入
OpenAI团队的解决方案是:让Codex能够直接操作和感知浏览器。他们通过接入Chrome DevTools Protocol(CDP),为智能体开发了一套完整的浏览器交互技能。
这套系统让Codex能够:
- 获取DOM快照:看到页面的完整结构,就像人类打开开发者工具查看元素
- 截取屏幕:直观地看到界面渲染效果,验证布局和样式
- 模拟用户操作:点击按钮、填写表单、导航页面
- 录制操作视频:记录Bug复现过程或修复后的验证过程
Codex CLI与Chrome DevTools MCP(Model Control Protocol)的结合,是这套能力的技术基础。通过MCP,Codex可以与浏览器建立通信通道,像人类开发者一样控制DevTools。
![[图3:Codex通过CDP操作浏览器的架构图 - 展示Codex → MCP → Chrome DevTools → 浏览器的调用链路]](https://i-blog.csdnimg.cn/direct/e0164f86254b4f75b8d3d39e0e4370b7.png)
2.2 一个典型的“看”到Bug的过程
想象这样一个场景:智能体收到任务“修复登录按钮点击无响应的问题”。在拥有UI感知能力之前,它只能猜测可能的原因——事件监听没绑定?函数未定义?但现在,它可以:
- 导航到登录页面:打开浏览器,进入目标URL
- 检查控制台错误:通过DevTools查看是否有JavaScript错误
- 观察DOM结构:确认登录按钮是否存在,是否正确渲染
- 模拟点击:尝试点击按钮,观察实际发生的交互
- 录制视频:将整个过程记录下来,供人类审查或自我分析
这个过程几乎复制了人类开发者的调试流程。唯一不同的是,执行者从人类变成了AI。
2.3 让验证变得可靠
更关键的是,UI感知能力让智能体能够自我验证。在生成修复代码后,它可以:
- 重新加载页面
- 执行同样的操作序列
- 检查错误是否消失
- 录制修复后的视频作为证据
这种闭环验证大大减少了人类介入的需求。OpenAI团队经常看到单个Codex运行在单个任务上连续工作六个小时以上,很多时候发生在人类睡觉期间。
三、核心技术二:隔离运行时环境
让智能体能够“看”到应用程序只是第一步。如果多个智能体同时在同一个环境中运行,它们会互相干扰:一个智能体的测试数据可能影响另一个的验证结果,一个的崩溃可能拖垮整个系统。
3.1 按工作树隔离
OpenAI的解决方案是:为每个任务提供独立的运行时环境。他们利用Git的工作树(worktree)特性,为每个任务创建一个完全隔离的副本:
- 每个任务有自己的代码目录
- 每个任务有自己的进程空间
- 每个任务有自己的日志和指标存储
- 任务结束后,整个环境自动销毁
这种隔离机制带来了几个关键好处:
第一,互不干扰。一个智能体的失败不会影响其他智能体。即使某个任务导致进程崩溃,也只是它自己的环境崩溃。
第二,确定性复现。由于每个任务都在干净的环境中启动,Bug的复现和修复验证变得更加可靠。不会出现“在我机器上能跑”的尴尬。
第三,安全边界。隔离环境限制了智能体可能造成的破坏。即使某个智能体被提示注入攻击,它的影响范围也被限制在自己的工作树内。
![[图4:隔离运行时环境示意图 - 展示多个独立worktree,每个都有自己的代码、进程、日志和指标]](https://i-blog.csdnimg.cn/direct/1e45d759e0ac450dab8b2b2620541ac7.png)
3.2 环境即上下文
隔离环境还有另一个微妙但重要的作用:它本身就是上下文的一部分。当一个智能体在执行任务时,它知道自己在一个全新的、干净的副本中工作。这种确定性让它可以做出一些大胆的假设——比如“我可以安全地安装任何依赖”、“我可以修改任何文件而不用担心影响他人”——而这些假设在共享环境中是不成立的。
正如OpenAI团队所言,让智能体能够“验证仓库的当前状态”和“重现报告的错误”,这些能力都依赖于隔离环境的支持。
四、核心技术三:可观测性数据作为一等公民
如果说UI感知让智能体看到了“表面”,那么可观测性数据则让它看到了“内里”——系统的内部状态、性能表现、依赖关系。
4.1 将可观测性栈开放给AI
OpenAI团队的做法是:将可观测性数据作为智能体可以直接访问的资源。他们构建了一套完整的体系:
- 日志查询:智能体可以执行LogQL查询,获取特定时间范围内的日志,理解系统在某个时刻的行为
- 指标查询:智能体可以执行PromQL查询,验证性能指标是否符合预期(例如“确保服务启动在800ms内完成”)
- 追踪集成:智能体可以获取请求的完整追踪链路,理解分布式系统中的调用关系
这意味着,当一个任务要求“优化API响应时间”时,智能体不再是盲目地猜测瓶颈在哪。它可以先查询性能指标,找到最慢的端点,然后通过追踪定位到具体的慢查询或代码段,最后才生成优化代码。
4.2 从“你告诉我”到“我自己看”
这种转变的本质是:智能体不再依赖人类的描述,而是可以直接获取第一手信息。
在传统Prompt Engineering中,人类需要告诉AI:“这个API有时会超时,你检查一下连接池配置。”但在Harness Engineering中,人类只需要说:“优化API响应时间,目标是200ms以内。”剩下的工作——定位问题、分析原因、生成修复、验证效果——都由智能体自主完成。
这听起来像魔法,但背后的原理很简单:当智能体拥有了和人类开发者一样的观测工具时,它就能做和人类开发者一样的事。
![[图5:智能体可观测性工作流程图 - 展示智能体如何通过查询日志/指标定位问题、生成修复、验证效果]](https://i-blog.csdnimg.cn/direct/bd8926654e47478bac588c67cbee9a96.png)
五、行业实践:可观测性正在成为智能体开发的标配
OpenAI并非唯一意识到可观测性重要性的团队。整个行业都在探索如何让智能体更好地“看见”系统。
5.1 JetBrains:Langfuse集成
JetBrains的Kotlin AI智能体团队在构建编码智能体时,也遇到了类似的挑战:随着智能体能力越来越强,调试变得越来越困难。他们的解决方案是集成Langfuse——一个开源的LLM可观测性工具。
通过四行代码,他们就能让智能体的每一步操作——工具调用、提示词、响应、成本——都变得可见。这不仅帮助他们调试故障,还让他们发现了之前从未注意到的行为模式:比如智能体反复请求超出文件范围的行数,暴露了工具实现的局限性。
正如JetBrains团队所言:“可观测性不仅仅与调试有关。它也是你了解智能体行为的方式。”
5.2 阿里云:全栈可观测
阿里云在构建DeepSeek对话机器人时,提出了AI全栈可观测的架构。他们认为,大模型应用需要三个核心观测诉求:
- AI全栈统一监控:关注模型层、应用层、基础设施层之间的动态关系
- 端到端模型调用全链路诊断:从终端用户发起问答到后端系统流转,找出瓶颈并调优
- 模型生成结果的评估:这是提升生成质量的关键,需要探索自动化评估方法
特别值得注意的是,阿里云团队发现,流式场景给可观测性带来了新的挑战——一些极端的大模型调用可能持续数小时甚至超过一天,上下文可能有几兆甚至几十兆。他们采用了“分段采集+服务端合并”的方案,在平衡客户端性能的同时,确保算法人员能够获得完整的上下文信息。
5.3 AgentSight:系统级可观测性
最新研究提出了AgentSight框架,使用eBPF技术从系统层面观测AI智能体。这个框架的核心洞察是:现有工具要么观测智能体的高层意图(通过LLM提示词),要么观测其底层行为(如系统调用),但无法将这两者关联起来。这种“失明”使得区分正常操作、恶意攻击和代价高昂的失败变得困难。
AgentSight通过拦截TLS加密的LLM流量提取语义意图,监控内核事件观察系统级影响,然后将这两条数据流关联起来——这正是让智能体“可读”的更深层次的尝试。
六、深层次的启示:可观测性是Harness的“神经系统”
回顾OpenAI的实验和行业实践,我们可以看到一个更深层的模式:可观测性正在成为Harness的“神经系统”。
6.1 从“被动接收”到“主动感知”
在传统的AI辅助开发中,智能体是被动的——它只能根据人类提供的上下文做出响应。但在拥有可观测性能力后,智能体变得主动——它可以自己“走出去”,观察系统状态,发现潜在问题。
这种转变类似于生物演化中神经系统的出现。没有神经系统的生物只能被动应对环境变化;拥有神经系统的生物可以主动感知、适应和改造环境。
6.2 反馈闭环的构建
可观测性还为智能体提供了持续的反馈。当智能体修改代码后,它可以立即通过可观测性数据验证效果:日志中是否还有错误?性能指标是否改善?用户界面是否正确渲染?
这种即时反馈形成了强大的学习闭环。每一次任务执行,不仅是完成一个功能,更是让智能体对系统有了更深的理解。随着时间的推移,智能体会变得越来越高效、越来越可靠。
6.3 从“黑箱”到“透明”
对于人类工程师而言,可观测性同样重要。当智能体的每一步操作——它看了哪些日志、查了哪些指标、生成了哪些代码——都被完整记录时,智能体就不再是一个“黑箱”。
这种透明性让人类能够:
- 理解智能体的决策过程:为什么它会选择这种修复方案?
- 发现改进机会:它在哪些环节浪费了时间?哪些工具不够友好?
- 建立信任:当你能看到智能体是如何一步步解决问题时,你就更愿意相信它的结果
结语:让AI看见,才能让AI自主
在Harness Engineering的拼图中,可观测性是最基础也最关键的一块。没有它,智能体就像蒙着眼睛的开发者,永远无法真正自主;有了它,智能体就能像人类一样,通过观察、理解、验证来完成复杂任务。
OpenAI团队通过Chrome DevTools Protocol、隔离环境和可观测性栈的集成,让Codex获得了“看见”的能力。JetBrains通过Langfuse集成,让智能体的每一步都变得可见。阿里云正在构建全栈可观测体系,应对AI原生应用的新挑战。AgentSight则从系统层面,试图弥合意图与行为之间的语义鸿沟。
这些探索共同指向一个未来:在AI驱动的开发世界中,可观测性不是可选项,而是必选项。它是智能体的眼睛,是Harness的神经系统,是人类理解AI的窗口。
正如OpenAI团队所言:“我们最困难的挑战现在集中在设计环境、反馈循环和控制系统上。”而可观测性,正是这个反馈循环中不可或缺的一环。
下一篇预告:《给智能体一张地图,而非一本百科全书:知识库的渐进式披露》
我们将探讨OpenAI如何通过结构化的文档体系和“渐进式披露”原则,让智能体在需要时获取所需知识,而不是被海量信息淹没。敬请期待。
欢迎在评论区分享你的看法:你希望AI能看到你的应用程序的哪些运行态信号?
最近openclaw非常火爆,给大家整理了一些免费白嫖token的网站。希望对大家有用
白山智算: https://ai.baishan.com/auth/login?referralCode=IRxQKSvCmf 注册实名:150 元+ 首次调用300 元,合计450 元体验金 约2亿token
轨迹流动: https://cloud.siliconflow.cn/i/G4aw22io 1500w token
智谱大模型开放平台 链接:https://www.bigmodel.cn/invite?icode=6nBhIl8EAx9QN2uiQIuLxHHEaazDlIZGj9HxftzTbt4%3D 2000w token
火山引擎:https://console.volcengine.com/ark/region:ark+cnbeijing/openManagement/rewardPlan 500w token/天 longcat:https://longcat.chat/platform/usage 5千万token/日
智谱 GLM Coding 链接:https://www.bigmodel.cn/glm-coding?ic=Z8T8OK12LU
阿里百炼:https://www.aliyun.com/product/bailian code plan 首月7.9
更多推荐



所有评论(0)