首页 > AI教程 >个人AI bug处理经验分享

个人AI bug处理经验分享

来源:互联网 2026-07-13 06:36:02

为AI助手系统增加多窗口能力时,遇到三个因模块间约定冲突导致的Bug,而非逻辑错误。修复后总结:代码约定需显式化,避免硬编码;每个模块边界应加验证;系统启动时执行自我体检,可有效预防此类问题。

今天花了大约四个小时,为AI助手系统新增了一个“多窗口”功能——如同浏览器同时打开多个标签页,每个标签页独立运行、互不干扰。共修改了1480行代码、30个文件,并顺利通过了20个自动化测试。

但测试阶段接连遇到三个Bug。修复后复盘发现:这三个Bug均非逻辑错误,而是“你认为A模块会如此执行,但A模块实际行为不同”的约定冲突。

长期稳定更新的攒劲资源: >>>点此立即查看<<<

更关键的收获是:如果在编码前正确运用了一个AI调试技能(systematic-debugging),其中两个Bug完全能够避免。

---

Bug的表现——三个“自我埋坑”的案例

Bug 1:创建会话后无法进入

新会话的创建流程是:先create(创建),再open(打开)。创建时顺便记录了“进程号”(PID),但打开时系统查验发现“该进程号仍存活”——误以为被其他窗口占用,直接拒绝加载。

真相:那个“存活进程”正是自身。创建与打开发生在同一进程内,系统拦截了自己。

解决方案:创建时不记录进程号,仅在真正打开时记录。明确责任边界后Bug消除。

Bug 2:模型引擎已更换,但系统仍使用旧配置

系统原本依赖Google的Gemini模型进行规划分析。检查后发现Gemini在我们的中转服务中不存在,于是将所有Gemini职责迁移至Claude Opus。

此次迁移修改了22个文件、80多处引用——涵盖代码、提示词、测试和文档。然而运行中的飞书Bot由旧代码启动,仍在尝试调用不存在的模型。

真相:代码已迁移,但进程未重启。静态文件与运行状态之间的“约定”断裂。

解决方案:迁移后重启Bot,并增加启动自检——每次启动时验证所有配置的一致性。

Bug 3:消息推送全员失败

飞书Bot每天需推送日报,查看日志发现全部失败:open_id cross app

排查发现:Bot配置中写明了“推送到群聊(chat_id)”,但发送方法默认使用了“推送到个人(open_id)”。配置指向东,代码指向西。

真相:Bot实例本身存有正确的配置chat_id,然而方法的默认参数硬编码了open_id。调用方未传参,Python采用了硬编码的默认值,而非Bot实例上保存的正确值。

解决方案:将默认值改为“我不设默认值,由Bot自身的配置决定”,并增加启动自检。

---

为何这些问题能“隐蔽”存在?

三个Bug具有共同模式——缺少“防御层”。

  • PID冲突:缺漏的防御是“创建时不应设置PID”,否则会自我拦截。
  • 模型迁移:缺漏的是“启动时自检”,否则首次启动便会发现模型不存在。
  • 消息失败:缺漏的是“参数默认值应取自实例配置”,否则会采用错误默认值。

用系统化调试技能(systematic-debugging)的方法论解释:修复Bug本身只解除了“症状”,真正根因是每一层边界都缺少验证。输入未校验格式、操作未检查前置条件、输出未验证一致性。

修复策略称为“纵深防御”——在每一层添加检查点:

  • 输入层:创建会话时校验名称格式
  • 操作层:重命名前检查会话是否在运行
  • 输出层:使用原子写入保存数据(先写临时文件再替换,崩溃时不丢失数据)
  • 恢复层:异常处理采用try/finally确保状态恢复
---

提示词优化的启发

本次工作中使用的几个AI技能,本身也是“优秀提示词”的范例:

1. systematic-debugging——它强制AI先定位根因再修复,避免“随手改一下试试”。如同先理清文章结构再调整措辞。

2. brainstorming——强制AI先厘清需求再行动。大幅减少“做完了才发现并非所需”的情况。

3. writing-plans——将设计拆解为小任务,每个任务具备明确的输入、输出和测试标准。

核心原则:优秀提示词并非“指令更详细”,而是“流程更结构化”。明确告知AI先做什么、再做什么、何时停止,远比堆砌细节描述有效。

---

今日可复用的三条经验

1. 代码的“约定”需显式化。默认值不应硬编码,应去查询存有正确答案的地方。参数设计中,None(“我不设默认值,由你自己查询”)比"open_id"(“我就用此值,错误概不负责”)安全得多。

2. 每个模块的边界都需验证。输入校验格式、操作检查条件、输出验证一致性。今天多花10分钟编写检查代码,可节省未来2小时的排查时间。

3. 启动时进行一次自我体检。系统启动时花3秒验证“我依赖的资源是否真正可用”,比运行24小时后才发现推送全部失败要有效百倍。

---

本次工作使用了4个AI技能:superpowers:brainstorming(需求设计)、superpowers:writing-plans(实施计划)、superpowers:subagent-driven-development(分任务执行)、superpowers:systematic-debugging(Bug排查与复盘)。

侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述

热游推荐

更多
湘ICP备14008430号-1 湘公网安备 43070302000280号
All Rights Reserved
本站为非盈利网站,不接受任何广告。本站所有软件,都由网友
上传,如有侵犯你的版权,请发邮件给xiayx666@163.com
抵制不良色情、反动、暴力游戏。注意自我保护,谨防受骗上当。
适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。