我写了二十年 ABAP。先讲一份我职业生涯里最没有存在感的「提交物」。
一份没人读的文档
做 SAP ABAP 的人都知道,一份合格的 Tech Spec 文档,几乎要占掉整个开发时间的 50%。所以我最早动的念头很朴素:能不能给团队把这块时间省下来。
我最先找到的,其实不是 AI。是一个能从 ABAP 程序自动生成技术流程图的工具。它很「诚实」——把代码里所有的循环、分支、判断,一个不落地画成流程图节点。
结果是一份结构完整、格式合格、可以正式提交的文档,可读性接近零。别说业务顾问,连开发顾问都不会去点开它。
它没做错任何事。它只是把「翻译」这件事做到了极致——而我要的,根本不是翻译。
「合格」和「有用」是两回事
这是我撞上的第一堵墙。
那个工具是纯确定性的:输入 ABAP,输出流程图,规则清晰、零幻觉、完全可控。按我后来越来越信奉的原则,这本该是个「好工具」。可它生产出来的,是一份没人读的合格文档。
我才想明白:「生成一份可读的 Tech Spec」压根不是一个翻译问题,是一个沟通问题。 可读,意味着要判断——业务顾问想看什么、开发顾问能读进去什么、哪些细节该省、哪些逻辑该点破。这需要理解意图和读者。这是语义,不是机械映射。确定性工具的天花板,就卡在这里。
也是在这个坎上,VSCode 里的 GitHub Copilot 第一次引起了我的注意。至少当时,它能写出一份偏技术、但看上去有人愿意读的 Tech Spec。
我第一次不再是某个产品背后那个「悄悄被 AI 服务、自己却毫不知情」的用户,而是真正打开了对话框,开始跟它说话。
我从一个静默使用者,变成了一个对话框使用者。
我后来画出的五层阶梯
这是我两年后回头,给自己这段路画的一张地图。每一层我都拆到了具体的样子——你可以对号入座,看看自己现在站在哪一级。
第一层 · 初级用户 —— 你在「用」AI
- 静默使用者
:刷视频被算法喂着走、输入法帮你联想下一个词、垃圾邮件被自动挡掉。你天天在用 AI,却不知道自己在用。 - 对话框使用者
:第一次主动打开 ChatGPT / 文心一言,把它当一个更聪明的搜索框,有问题就问它。
第二层 · 进阶用户 —— 还在「用」,但开始讲究怎么用
- 提示词工程师
:你发现同一个问题,换个问法结果天差地别——于是开始给它设定角色、喂例子、要求它分步骤回答。 - 资深提示词工程师
:你有了自己的一套提示词套路,会把复杂任务拆成多轮,会要求结构化输出,能稳定地把它逼到你要的水平。
—— 分水岭:从「用」AI,到「造」AI 系统 ——
第三层 · 软 harness 架构师
你不再满足于「这一次问得好」,开始把规则写下来、固定成文件,让它每次自动按你的约束跑。比如给 Claude Code 写 CLAUDE.md、给 Cursor 配 rules——提示词从「每次重打」变成「常驻的规则」。
第四层 · AI agent 开发工程师
你不再信它的裸输出,开始给系统加「门禁」:让它干完活自动去过测试、过 lint、过 schema 校验,不合格就打回重来,而不是靠人肉盯着看。机械的、确定性的检查,成了 AI 的安全网。
第五层 · AI 系统架构师
你把这套「造围栏」的方法抽象成自己的一套哲学:多个 agent 分工协作——有的规划、有的执行、有的审查——并且清楚「什么时候该上门禁、什么时候才轮到 LLM」。你设计的不再是一句 prompt,是一整个系统。
还有一条我没走的岔路:模型训练师、算法工程师。他们不在这张梯子上。这张梯子从头到尾都在模型外面造围栏,把模型当黑盒;而他们是掀开黑盒,去改模型本身。向外和向内,是两个方向。为什么我选择留在外面,以后单独讲。
这半年,我在最底下两级
诚实说:2024 年 6 月到 12 月,我就是个小白。
我做的全部事情,就是从「静默使用者」爬到「对话框使用者」——学会了打开对话框,学会了让它帮我把一份文档写得有人愿意读。仅此而已。
这段没什么可炫耀的。但我把它当作整个系列的第一层,因为所有人都是从这里开始的。
一句话,定整个系列的调
如果这个系列只让你记住一句话,我希望是这句:
越往上爬,不是越信任 AI,而是越不信任它的裸输出、越舍得为它造围栏。
第一层的我,把 AI 当成一个更聪明的搜索框,几乎全盘接受它给的东西。而越往后你会看到:每上一层,我对它裸输出的信任就少一分,给它造的围栏就硬一分。到第四层,我甚至专门写机械的门禁,去挑它的错。
这不是不信任技术。恰恰相反——正因为想让它真正可靠地嵌进生产,我才必须学会不信它的第一反应。
下一篇,进第二层:我想让 AI 替我写 ABAP,结果碰了一鼻子灰——可也正是那次失败,让我第一次看懂「提示词」到底是什么。
夜雨聆风