文章目录
- 前言
- 1 先把“查资料”的路径焊死
- 1.1 五级路由,各司其职
- 1.2 gh CLI才是GitHub的正确打开方式
- 2 读开源代码?直接克隆到本地读
- 2.1 浅克隆三件套,速度飞起
- 2.2 场景对应表,别乱用
- 2.3 验网页?用playwright‑cli就够了
- 3 两个高频Skill,真的能省好多事
- 3.1 /feasibility:动手之前先论证
- 3.2 /how‑to‑test:改完直接给你测试命令
- 3.3 为什么我把计划skill降权了
- 4 用LSP读本地代码,别再用grep瞎蒙了
- 4.1 LSP是什么?代码的导航仪
- 4.2 复用编辑器的LSP,才是真的省
- 5 Hook:把重复操作焊死在流程里
- 5.1 PreToolUse:自己写权限才放心
- 5.2 PostToolUse:写完自动格式化
- 5.3 通知钩子:干完活喊你一声
- 6 写完别着急交,先过一遍审查
- 6.1 代码审查六个维度
- 6.2 Debug就一个原则:别瞎猜
- 7 上下文满了别硬撑,交接完再开新局
- 7.1 交接文档怎么写
- 8 最后掰扯几个容易混的概念
P.S. 目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步,增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 http://blog.csdn.net/jiangjunshow,教程通俗易懂,高中生都能看懂,还有各种段子风趣幽默,从深度学习基础原理到各领域实战应用都有讲解,我22年的AI积累全在里面了。注意,教程仅限真正想入门AI的朋友,否则看看零散的博文就够了。
前言
搞AI编程工作流这事,我前前后后折腾了快两年。
说出来你可能不信,规则写了一大堆,以前的模型根本不看。
你跟它说“不确定就别瞎编”,它转头就给你造一个不存在的API,名字起得还挺像那么回事,跑起来直接报错,比你老板画的饼还虚。
直到Opus 4.8出来,我才发现:不是规则没用,是以前的模型根本不听话。
1 先把“查资料”的路径焊死
AI最爱瞎编的是什么?第三方库的API。
治它的办法根本不是多写两句“请查证”,那等于跟猫说“别偷吃鱼”,它听进去算我输。
直接把搜索顺序给它定死,从高到低排好队,不许上来就开网页瞎搜。
1.1 五级路由,各司其职
我整了个搜索skill,核心就干一件事:路由。
- 第一优先级:查官方文档,用context7,精准带版本
- 知道仓库在哪的:直接调gh CLI扒源码、翻Issue
- 不知道哪个仓库的:全GitHub搜真实项目写法
- 概念性问题、报错排查:用Exa搜纯文本内容
- 前面全不行了:再兜底用通用网页搜索
别觉得麻烦。你让它直接搜网页,出来的全是SEO搬运文,十篇里九篇是抄的,还有一篇是培训机构的广告,正经信息没多少,token烧了一大堆。
就跟你点外卖似的,明知道楼下有直营店,非要去第三方平台绕一圈,贵还不一定正宗。
1.2 gh CLI才是GitHub的正确打开方式
很多人装GitHub MCP,我直接不用。
一个gh CLI就能搞定大部分事,省token还快。
读文件、看README、列目录、查最近提交、搜Issue,一条命令的事。
重点是一定要加--jq过滤,原始返回的JSON又臭又长,没用的字段占了八成,不过滤直接把上下文撑爆,跟你微信聊天记录全是表情包似的,占内存还没用。
还有个铁则:这个skill只许读,不许改。
给AI写操作权限?那跟把银行卡密码给外卖员似的,方便是方便,你敢吗?
我自己的MCP清单就没几个,搜索三件套加LSP、数据库、Figma,够用就行。
MCP这东西装多了,启动就烧一堆token,跟你手机后台挂一堆APP似的,没怎么用电池先没了。
2 读开源代码?直接克隆到本地读
只看一两个文件,用gh API就行。
要是得跨好几个目录、来回跳着看,还一条条调接口,那纯纯是脱裤子放屁。
2.1 浅克隆三件套,速度飞起
直接git clone,但必须带三个参数:
--depth=1:只拉最新版本,历史提交全不要。你是看代码还是考古?十年老仓库省下来的空间,能多存好几个项目。--single-branch:只拉默认分支,别的分支跟你没关系。--no-tags:标签一个都别拉,monorepo的tag能有几千个,全是没用的累赘。
就这三个参数,大仓库克隆速度差出十倍都不夸张。
以前AI读源码,全靠训练数据里的记忆,跟你背单词只背了个abandon似的,一问细节全是编的。
现在直接把源码放它眼前,它再编就说不过去了。
2.2 场景对应表,别乱用
什么情况用什么方式,给它定死:
- 1‑2个文件,知道路径:gh API直接读
- 查库的API用法:走搜索路由找文档
- 多文件交叉看、要全仓搜:浅克隆到本地
- 概念对比、找方案:Exa搜资料
我上次让它读我自己写的转换工具源码,它顺手给我揪出一个bug。
我自己写的代码,我用了俩月都没发现,它读一遍就逮着了。
合着我以前写代码是闭着眼写的是吧。
2.3 验网页?用playwright‑cli就够了
不光读代码,有时候要验证网页、跑UI操作,我也不用花里胡哨的工具。
之前用过别的浏览器Agent,bug多到离谱,跟半成品似的。
现在就用playwright‑cli,核心就一条:open必须带--persistent。
登录状态直接落盘,下次打开自动登录,不用每次都折腾状态保存。
操作也简单,先快照拿元素编号,再按编号点击、填表单,不用AI自己瞎猜CSS选择器。
猜选择器这事儿,AI就没准过,十次有八次选不对,跟你玩找茬游戏似的。
3 两个高频Skill,真的能省好多事
我前后配了二十多个skill,日常用得最多、最省精力的,就两个。
3.1 /feasibility:动手之前先论证
这个skill是真的救大命。
以前改需求,AI上来就哐哐写代码,写一半告诉你“这个架构做不了”。
合着你前面写的几百行是练手呢?我搁这陪你玩代码版“模拟人生”是吧?
现在复杂需求进来,先走可行性分析:
- 现状是什么,目标是什么
- 开源界有没有现成参考
- 候选方案对比,各有什么优劣
- 推荐方案、改动量、风险点
结论只能是三种:能做、有风险、做不了,不许说“应该可以”这种模棱两可的话。
最关键的一条:没等我确认“开工”,绝对不许碰业务代码。
不加这条限制,它论证完顺手就给你改上了,前面对齐的东西全白搭,主打一个执行力过剩。
3.2 /how‑to‑test:改完直接给你测试命令
改完代码最烦的是什么?搭测试环境。
造测试数据、写用例、跑一遍看结果,半小时没了。
现在这个skill直接给你包圆:改完代码,顺手给你生成一条测试脚本,复制粘贴回车就能跑。
预期结果直接给你列好,几个通过几个失败,一眼就能看见。
还分自动测和手动测,UI交互这种自动化测不准的,直接给你写手动步骤。
当然也有规矩:没意义的测试不许写。
比如断言个类名存在、断言import没删,这种测一万次也抓不到bug,纯纯凑KPI。
我直接跟它说:要是测不出价值,就明说“这个不值得测”,别硬憋个没用的脚本糊弄我。
不给它台阶下,它就会给你整形式主义。跟公司周报似的,明明啥也没干,非得写三页纸。
3.3 为什么我把计划skill降权了
以前我特别看重拆计划,复杂需求先生成个checklist,一步步来。
那是以前模型笨,写着写着就忘事,不拆计划容易跑偏。
现在模型自己的规划能力上来了,多文件改动也能hold住,再硬塞个计划文件,纯属多此一举。
就跟你走路本来好好的,非要给你个拐杖,不用还不行,纯纯累赘。
现在只有跨好几天、需要关机续上的任务,或者要分阶段验收的,我才用它。
4 用LSP读本地代码,别再用grep瞎蒙了
前面说的是读别人的代码,读自己项目的代码,有更准的东西。
以前AI找代码靠什么?grep。
说白了就是搜字符串。同名变量、注释里提的、字符串里写的,它全当是命中。
真要找引用、找调用关系,它又找不全了,跟你眼神不好找东西似的,就在眼前也看不见。
4.1 LSP是什么?代码的导航仪
简单说,就是你编辑器里跑的那个智能提示的东西。
符号定义在哪、谁引用了它、类型是什么、有什么错误,它门儿清。
以前这能力只有编辑器能用,现在我把它通过MCP暴露给AI。
等于AI直接用上了你编辑器的同款智能,找代码再也不靠瞎蒙。
4.2 复用编辑器的LSP,才是真的省
市面上也有独立跑LSP的MCP,我不用。
那等于同一个项目开两份LSP,内存直接翻倍。大项目本来LSP就吃内存,再开一份,你电脑风扇直接起飞,跟要升空似的。
我做成编辑器插件,直接复用你已经开着的LSP,新增内存几乎为零。
羊毛薅在已经剪过的羊身上,一点不心疼。
用法也有讲究:先搜符号定位,再拿返回的位置查详情。
别让AI自己数行号,它数的行号十有八九不准,查出来的是隔壁变量的信息,跟你外卖送错门似的。
5 Hook:把重复操作焊死在流程里
Skill管的是“怎么想”,Hook管的是“每次必须做的事”。
就像你出门必须带钥匙、回家必须洗手,不用每次都想,到点就执行。
5.1 PreToolUse:自己写权限才放心
Claude Code自带的权限系统,我直接关了。
为啥?它只看命令第一个词,复合命令直接绕过去。
就跟小区保安只看门禁卡,不管你进去偷东西还是放火,刷卡就让进。
我自己写了个PreToolUse钩子,用AST解析命令,不管你藏在&&、管道还是子shell里,每个命令都单独过一遍规则,想蒙混过关?门都没有。
5.2 PostToolUse:写完自动格式化
每次AI写完代码,自动跑ESLint修复和LSP格式化。
这里有个坑:别把“未使用的import”“未使用的变量”这种规则打开。
AI写代码是分步写的,这轮先加import,下轮才写函数。你这轮给它删了,下轮它还得加回来,来回打架,无限循环。
跟你妈收拾你房间似的,你放桌上的东西她觉得没用就给你扔了,等你用的时候还得再找,纯纯内耗。
5.3 通知钩子:干完活喊你一声
这个配置成本几乎为零,但幸福感直接拉满。
任务跑完了、或者卡住要你授权了,直接弹桌面通知。
长任务丢给它,你该刷视频刷视频,该摸鱼摸鱼,不用盯着终端坐牢。
以前我总隔两分钟切过去看一眼,跟等外卖似的,半小时看八次配送进度,啥也没干成。
6 写完别着急交,先过一遍审查
代码写完不是完事了,能不能用、好不好维护,得再过一遍。
6.1 代码审查六个维度
我专门写了个code‑review skill,就按六个维度查:
- 重复代码
- 逻辑冲突
- 多余逻辑
- 单一职责违反
- 模块耦合过重
- 硬编码和死代码
分严重、警告、建议三级,有严重问题就不能过。
而且只分析,不许直接改。
不然它review完顺手给你重构了,到时候哪改了都不知道,主打一个先斩后奏。
6.2 Debug就一个原则:别瞎猜
很多AI一看到报错就开始瞎蒙:是不是版本问题?是不是环境问题?
然后让你试一堆没用的命令,试完问题还在,时间全浪费了。
我定的规矩:先读代码分析,信息不够就要,还不确定就加日志跑,拿到实锤再修。
猜谁不会啊?我要是靠猜解决问题,我用你干嘛?我自己猜不行吗。
7 上下文满了别硬撑,交接完再开新局
上下文再大也有上限,而且越长越容易忘事,俗称“长文失忆”。
你发现它开始车轱辘话来回说,或者你刚说的要求它转头就忘,那就该重置了。
但别直接开新聊天清空,那等于前面的功夫全白费。
7.1 交接文档怎么写
用summary skill生成一份交接文档,就四块内容:
- 背景和目标
- 当前进度,有bug一定要写清楚现象和原因,不许粉饰太平
- 关键文件引用,别全扔进来,3‑5个够了
- 待办事项和下一步
生成完贴到新对话里,无缝衔接,跟换班似的,该干啥门儿清。
以前我直接开新会话,需求得重讲一遍,代码得重新读一遍,半小时过去了还没进入正题。
合着AI上班也得先摸半小时鱼是吧。
8 最后掰扯几个容易混的概念
很多人配置半天,几个名词都搞混,我一次给你说清楚。
Rules就是常驻规矩,每次对话都生效;Commands是你敲斜杠才调用的,能传参。
Skills是标准流程,AI自己判断什么时候用;Hook是生命周期钩子,到点自动执行。
MCP是外部工具,功能强但费token,能用CLI和Skill解决的,就别往上堆。
所有配置我都放公开仓库了,想抄作业的直接去拿就行。
说白了,AI工作流这东西,本质就是给AI立规矩。
以前模型笨,规矩立了也白立;现在模型听话了,规矩越细,效率越高。
毕竟,没有约束的AI,跟脱缰的野马似的,跑是跑得快,就是不知道能给你带到哪去。
P.S. 目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步,增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 http://blog.csdn.net/jiangjunshow,教程通俗易懂,高中生都能看懂,还有各种段子风趣幽默,从深度学习基础原理到各领域实战应用都有讲解,我22年的AI积累全在里面了。注意,教程仅限真正想入门AI的朋友,否则看看零散的博文就够了。