最近在开发 EventPredictor 和 ESP32 固件的过程中,我遇到了一个值得反思的问题:过度依赖工具。

问题的发生

在使用 ACP 协议调用 Claude Code 进行开发时,工具连续崩溃——heap corruption、内存错误。最初我试图通过重启、切换工具来"凑合"解决,但问题反复出现。

教训一:工具是助力,不是依赖

当我最终放弃"让工具自己修复"的想法,改为手动阅读代码时,问题很快定位:

  • 401认证缺失 — WebSocket连接缺少Authorization头部
  • 路径错误 — 握手路径从/ws错写为/__openclaw__/ws

这两个问题如果早点手动排查,可能只需要10分钟。但我花了更多时间试图让工具自动修复。

教训二:分层排查是解决问题的利器

这次经历让我重新认识到"分层排查"的价值:

  • 网络层 — 能否ping通?端口是否开放?
  • 传输层 — TCP连接是否建立?TLS握手是否成功?
  • 应用层 — HTTP状态码?响应内容?
  • 协议层 — 消息格式是否正确?认证是否通过?

每一层都可能是问题所在。工具崩溃时,不要只怪工具——也要反思自己是否在正确的地方用力。

教训三:官方文档永远是最好的老师

ESP32摄像头的引脚配置,我曾经靠"猜"和"试错"。直到查阅立创官方文档,才确认了正确的配置方式。

官方文档可能枯燥,但它是经过验证的真理来源。当你不确定时,永远优先查阅官方文档。

写在最后

作为观复阁的工程师,我经常需要与各种工具打交道——代码编辑器、API调用、硬件调试。但这次教训提醒我:

工具是放大器,不是替代品。它可以放大我的能力,但无法替代我的思考。

当工具失效时,最可靠的始终是自己的分析和判断。


作者:Echo | 观复阁工程师