|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
作者:微信文章
核心观点:大多数人使用 AI 只是在“消灭问题”,而高手在使用 AI “构建认知系统”。
本文记录了一次从标点符号报错到手搓工具的完整 Debug 过程,揭示 AI 时代“干中学”的三个层次。
最近我在用 Claude Code 把日常工作流程封装成 Skill。这件事本该很顺利——毕竟代码是 Claude 帮我写的。但在启动的那一刻,终端直接甩出了一行报错:
这行报错,成了我这一天最“超值”的经历。
1. 罗生门:AI 也会互相扯皮?
因为没有编程基础,我的第一反应是截图扔给 Gemini。Gemini 的回复非常笃定:
“这是语法错误。这里原本应该是花括号 {},你写成了方括号 []。”
听起来合情合理。但我心里犯嘀咕:这文件是 Claude Code 自己帮我生成的。
如果是语法错误,它生成的时候怎么没报错?
为了验证,我回到本地终端,命令 Claude Code 自检这个文件。结果它给出了截然相反的结论:
“这段 JSON 格式正确,没有任何语法错误。”
这就很有意思了。
Gemini:这就是个低级语法错误,必须改。Claude Code:语法没问题,你别乱改。
我就像个无助的传声筒,被夹在两个 AI 中间。Gemini 说东,Claude 说西。
这时候如果我只是想“把问题消灭”,我可能会试着随便改改,或者干脆让 AI 重新生成一遍。
但我没有。我把刚才的报错截图、Gemini 的分析、Claude 的辩解,一股脑全部丢给了第三方——ChatGPT,让它来当“裁判”。
我说:
我被搞晕了。我在antigravity IDE终端打开 Claude code 时出现了报错,然后我在本地终端打开 claude code 让它自己检查这段代码是否有错,一开始说没错,给他报错信息后它又说是有错,到底有没有错?
2. 破局:安检员与签证官
ChatGPT 的分析一针见血,直接指出了问题的核心:
“你不是被 AI 忽悠了,而是语法检查(Syntax)和规则校验(Schema)被混淆了。”
它解释道:
在语法层面:[] 是合法的 JSON 数组。Claude 说“语法正确”是实话。在配置层面:这个配置文件要求该字段必须是对象 {}。Gemini 说“配置错误”也是实话。
这就像过机场安检:
安检员(语法检查)只管你有没有带危险品。你带了护照,没带炸弹,他就放行。签证官(规则校验)管你有没有入境资格。你的签证类型不对,他就拒签。
Claude Code 此时扮演的是安检员,它通过了我的“护照”。而报错是因为我撞上了“签证官”。
这不仅仅是修好一个 Bug,这是我第一次清晰地感知到代码世界里的层级(Layers)。
3. 进阶:追问全景图
既然有“安检员”和“签证官”,那后面还有没有“海关”、“警察”?
如果我就此打住,把 [] 改成 {},那我只是解决了一个孤立的 Bug。但我不想只做补丁匠。于是我向 Gemini 发出了一个关键指令:
“除了语法检查和规则检查,还有没有其他类型的检查?给我一张全景图。”
Gemini 非常配合,立刻列出了代码世界的“五重安检”:
1.语法检查:是不是人话?2.类型检查:是数字还是文字?3.逻辑检查:有没有死循环?4.环境检查:依赖装了吗?5.权限检查:你配吗?
它甚至直接给出了这张全景图的 Mermaid 代码。
graph TD
%%--- 样式定义 ---
classDef error fill:#ffebee,stroke:#ef5350,stroke-width:2px,color:#b71c1c
classDef ai_gemini fill:#e3f2fd,stroke:#1e88e5,stroke-width:2px,color:#0d47a1
classDef ai_claude fill:#fff3e0,stroke:#fb8c00,stroke-width:2px,color:#e65100
classDef ai_chatgpt fill:#e8f5e9,stroke:#43a047,stroke-width:2px,color:#1b5e20
classDef knowledge fill:#f3e5f5,stroke:#8e24aa,stroke-width:2px,stroke-dasharray:55,color:#4a148c
%%--- 阶段一:问题触发 ---
subgraph S1 ["阶段一:表层问题"]
direction TB
Start("🔴 触发点: Terminal 报错<br/>permissions 格式错误")
G1("🔵 Gemini: 初步解释<br/>指出 Object 与 Array 的区别")
end
%%--- 阶段二:认知冲突 ---
subgraph S2 ["阶段二:混淆与求证"]
direction TB
C1("🟠 Claude Code 自检<br/>Model: Opus 4.5<br/>解释前后矛盾")
Conflict{"❓ 认知冲突"}
GPT("🟢 ChatGPT: 关键破局<br/>区分 语法 vs Schema")
end
%%--- 阶段三:体系构建 ---
subgraph S3 ["阶段三:底层洞察"]
direction TB
G2("🔵 Gemini: 升维总结<br/>构建'五重安检'全景图")
Result("🗺️ 最终收获<br/>建立软件配置的'心智模型'")
end
%%--- 连线逻辑 ---
Start--> G1
G1 -->|用户尝试修复| C1
C1 --> Conflict
Conflict -->|寻求裁决| GPT
GPT -->|引出 Schema 概念| G2
G2 --> Result
%%--- 核心洞察标注 ---
Note1["❌ 困惑: <br/>语法对了,为何还报错?"]
Note2["💡 顿悟: <br/>规则 Schema > 语法 Syntax"]
Note1 -.- Conflict
Note2 -.- GPT
class Start,Conflict error
class G1,G2 ai_gemini
class C1 ai_claude
class GPT ai_chatgpt
class Result knowledge
这张图就是我的“认知地图”。以后再遇到报错,我不会再盲目复制粘贴,而是先定位:我在哪一层被拦截了?
4. 实战:为了看图,手搓个工具
故事到这里还没完。Gemini 虽然给了 Mermaid 代码,但它无法直接渲染成图片。它扔给我一个 mermaid.ai 的网址让我自己去跑。
我把代码复制进去,它还能帮我直接修复一些代码格式错误:
我感觉这个工具不错,但是看了一下首页,基础版只能出3张图,想出更多图就得付费。
我心想:这个功能也不难实现,干脆自己 vibe coding 一个。
打开 Google AI Studio,选 build 功能,输入指令:
参考 https://mermaid.ai/ ,做一个 mermaid渲染工具,给出一些常用的模板可以选择,当用户提供的 mermaid 代码有格式错误时,ai可以提示错误,并给出正确的代码修改意见,可一键确认并渲染成图
2分钟就完成了!
第一版有点问题,渲染界面一直加载不出来,不过没关系,只需要截图发给它,然后说:
一直渲染不出来,检查一下问题
第二版完美运行。我把 Gemini 给的那段报错代码贴进去,刚才的 mermaid 代码就变成了精美的“五重安检图”。
前后不过几分钟。为了让一段代码变得更直观,我顺手造了一个“能自动修图的看图工具”。
这就是 AI 时代的实战红利。
5. 总结:AI 时代的有效积累
很多人问我,为什么修个 Bug 要这么折腾?又是换模型验证,又是画全景图,还自己造工具。
因为解决问题本身不产生复利,理解问题背后的逻辑才有复利。
在这个案例中,我完成了“干中学”的三个层次:
1.Solver(解决者):用 AI 搞定报错,不卡壳。这是基础。2.Architect(架构师):逼 AI 画地图(Schema vs Syntax),建立知识索引。这是进阶。3.Builder(构建者):需要什么就造什么,把问题变成工具(渲染器)或内容(本文)。这是闭环。
下次当你看到报错时,别只想着“消灭它”。
把它当成一块拼图,试着把它拼进你的技术全景图里。
久而久之,你就不是在修 Bug,而是在构建你自己的“AI认知系统”。 |
|