文章目录
-
- 前言
- 面试官问我:AI写的代码你敢用吗?
-
- 第一个骚操作:给AI写本"员工手册"
-
- CLAUDE.md 模板速查
- 第二个骚操作:让AI自己给自己出题
-
-
- 提示词模板
-
- 第三个骚操作:让AI自己跑自己写的代码
- 第四个骚操作:让AI当自己的"质检员"
-
- 多角色审查法
- 第五个骚操作:让AI当"黑客"攻击自己的代码
- 第六个骚操作:让AI跟AI"打架"
-
- 模型切换工具推荐
- 总结:AI写代码的正确姿势
P.S. 无意间发现了一个巨牛的人工智能教程,非常通俗易懂,对AI感兴趣的朋友强烈推荐去看看,传送门https://blog.csdn.net/HHX_01
前言
面试官问我:AI写的代码你敢用吗?
面试官坏笑着问我:“你用AI编程一年了,怎么保证Claude Code写出来的代码是对的?”
我当场就笑了。大哥,您这问题问得,就像问一个厨师:“你怎么保证你做的菜能吃?”
厨师能怎么保证?尝一口啊!代码能怎么保证?跑一下啊!
但面试官不依不饶,非要我拿出"方法论"。行吧,今天我就把压箱底的六个骚操作全抖出来,看完你就知道,AI写代码这件事,到底靠不靠谱。
第一个骚操作:给AI写本"员工手册"
很多人装完Claude Code,上来就喊:“给我写个登录页面!”
结果呢?AI写完后你一看,用的是Vue,你项目用的是React。AI写的CSS是Tailwind,你团队用的是Less。这就好比你请了个保姆,进门就问:“咱家马桶在哪?”——你倒是先给张户型图啊!
所以第一步,必须先写个CLAUDE.md。这玩意儿放在项目根目录,相当于给AI的"新员工入职手册"。
里面写清楚:咱用React 18,状态管理用Zustand,UI库用Ant Design,代码规范参照Airbnb ESLint,Git分支用feature/xxx格式,提交信息用Conventional Commits……
你写得越细,AI越像你的老员工。你写得越潦草,AI越像第一天上班的大学生——啥都敢干,啥都敢错。
我见过有人CLAUDE.md就写两行:"用Vue,写好看点。"结果AI把页面写得跟淘宝首页一样花哨。大哥,咱这是后台管理系统,不是双十一促销页啊!
CLAUDE.md 模板速查
技术栈:React 18 + TypeScript + Vite 状态管理:Zustand,禁止用Redux 样式方案:Tailwind CSS,禁止写行内样式 代码规范:Airbnb ESLint,单引号,无分号 Git规范:分支名feature/功能,提交用feat/fix/docs前缀 测试要求:每个函数必须有单元测试,覆盖率>80%
第二个骚操作:让AI自己给自己出题
以前我写代码,流程是:写功能→自测→提测→测试同事发现Bug→我改→再测→再改……循环个三五轮,一周过去了。
现在我用Claude Code,直接跟它说:“你先写测试用例,再写功能代码。”
AI一听,当场就给你列出一堆测试场景:正常登录、密码错误、账号不存在、账号被锁定、网络超时、SQL注入尝试……
你看着这些测试用例,心里暗爽:这些坑我当年可是一个一个踩过来的,现在AI全给你想到了。
更骚的是,你可以跟AI说:"测试用例里必须包含边界条件。"AI立马给你补上:空字符串、超长字符串、特殊字符、Unicode字符、emoji……
我上次让AI写个手机号验证,它给我列了二十多个测试用例。我一看,连"+86 138 1234 5678"这种带空格的都考虑了。我说大哥,你这比我还细心啊!
但这里有个坑:AI写的测试用例有时候太理想化。比如它假设数据库永远有连接,网络永远通畅。所以你得提醒它:“考虑一下异常情况,别光写Happy Path。”
提示词模板
"请为以下功能编写完整的单元测试,要求:
第三个骚操作:让AI自己跑自己写的代码
写完测试不算完,你得让AI把测试跑起来。很多人这一步就偷懒了:“AI你写吧,写完了我自己测。”
大哥,你都花钱请AI了,为啥还要自己干活?直接跟AI说:“运行测试,把结果给我看。”
AI会自己打开终端,执行npm test,然后把测试结果甩你脸上。绿的表示过了,红的表示挂了。
挂了怎么办?让AI自己修啊!你跟它说:"第三个测试用例挂了,修复一下。"AI会回去看代码,看测试,然后改代码再跑。
这就像一个实习生写错了代码,你让他自己改,改完再给你看。区别是,这个实习生不会抱怨,不会摸鱼,不会偷偷刷抖音。
我有一次让AI写个排序算法,它写了快排。测试一跑,发现边界情况挂了。AI回去一看,哦,原来是数组长度为1的时候递归出问题了。自己修好了,重新跑,全绿。
整个过程我一句话没说,就坐在旁边喝茶。这感觉,就像养了一个会自己写作业的猫。
第四个骚操作:让AI当自己的"质检员"
代码写完了,测试也过了,是不是就能提交了?
太天真了。测试过了只能说明"没挂",不代表"写得好"。就像一个人考试及格了,不代表他是学霸。
所以下一步,让AI做代码审查。你跟它说:“审查一下这段代码,看看有没有问题。”
AI会化身"杠精模式",给你挑出一堆毛病:变量命名不规范、函数太长、缺少错误处理、有重复代码、可以用更优雅的方式重构……
我上次让AI审查一段我写的代码,它给我提了十八条建议。我一看,好家伙,比我领导还严格。其中有一条说:“这个函数做了三件事,建议拆成三个函数。”
我心想:我当年写这段代码的时候,可是被领导表扬过的。结果AI一看,全是毛病。果然,AI不懂人情世故,只看代码质量。
但这里有个技巧:你可以让AI分角色审查。比如"你现在是资深前端工程师,从性能角度审查",或者"你现在是安全专家,从安全角度审查"。不同角色,AI挑的毛病完全不一样。
多角色审查法
角色1:性能专家——关注时间复杂度、内存泄漏、渲染优化 角色2:安全专家——关注SQL注入、XSS、CSRF、敏感信息泄露 角色3:架构专家——关注模块化、耦合度、可扩展性 角色4:新手程序员——关注可读性、注释、命名是否直观
第五个骚操作:让AI当"黑客"攻击自己的代码
代码审查过了,是不是就安全了?
错。审查只能发现"写得不好"的问题,发现不了"有漏洞"的问题。就像你检查一辆车,能看出车漆有没有刮花,但看不出刹车有没有失灵。
所以还得让AI当"黑客",专门找安全漏洞。你跟它说:“假设你是黑客,想尽一切办法攻击这段代码,找出所有安全隐患。”
AI立马进入"反派模式",开始各种骚操作:尝试SQL注入、尝试XSS攻击、尝试越权访问、尝试上传恶意文件、尝试暴力破解……
我上次让AI审查一个文件上传功能,它给我列了十条攻击路径。其中一条我压根没想到:“攻击者可以上传一个伪装成图片的HTML文件,里面包含恶意脚本,其他用户预览时触发XSS。”
我一看,冷汗都下来了。这要是上线,我明天就得去老板办公室"喝茶"。
所以记住:让AI写代码,一定要让它再当一次"反派"。好人写代码,坏人找漏洞,这才是完整闭环。
第六个骚操作:让AI跟AI"打架"
最后一个骚操作,是我最近才悟出来的。
前面说的所有方法,都是"一个AI"在干活。但你想过没有,如果AI自己错了怎么办?它写的测试用例有问题,然后代码按照有问题的测试来写,最后测试全过了,但功能其实是错的。
这就像你请了一个会计做账,又请了一个审计查账,但审计也是这个会计的朋友——能查出问题才怪。
所以终极方案是:让两个AI"打架"。
Claude Code支持切换底层模型,你可以用Claude Fable 5写代码,然后让GPT-5.5来审查。或者反过来,让GPT写,让Claude审。
两个AI互相挑刺,就像两个律师在法庭上辩论,真理越辩越明。一个AI说"这里应该用Promise",另一个说"async/await更好",最后你一拍桌子:“都给我用try-catch!”
我上次用这个方法,Claude写的代码被GPT挑出了三个逻辑漏洞,GPT写的测试用例被Claude指出两个边界条件遗漏。最后综合了一下,代码质量直接起飞。
这感觉就像养了两个互相看不顺眼的孩子,虽然家里吵了点,但成绩都提高了。
模型切换工具推荐
PaiSwitch:支持在Claude、GPT、Gemini、Kimi等模型间快速切换 用法:写代码用Claude Fable 5,审查用GPT-5.5,测试用Gemini 2.5 原理:不同模型有不同的"思维盲区",交叉验证可以覆盖更多漏洞
总结:AI写代码的正确姿势
回到开头面试官的问题:“你怎么保证AI写的代码是对的?”
现在我可以给他一个完整的答案:
第一步,写CLAUDE.md,给AI定规矩,让它知道"咱家马桶在哪"。
第二步,让AI先写测试再写代码,确保它知道"及格线在哪"。
第三步,让AI自己跑测试,自己修Bug,实现"自动驾驶"。
第四步,让AI当"质检员",从代码质量角度挑毛病。
第五步,让AI当"黑客",从安全角度找漏洞。
第六步,让两个AI"打架",交叉验证,互相挑刺。
六步走完,代码质量比我自己写的还高。面试官听完,默默在评分表上写了个"优秀"。
最后说一句:AI写代码这件事,最大的风险不是"AI写错了",而是"你太相信AI了"。把AI当工具,别当神仙。工具用得好,事半功倍;工具用不好,手指打断。
好了,今天的脱口秀就到这里。如果你觉得有用,点个赞,转个发,让更多程序员少走弯路。咱们下期再见!
P.S. 无意间发现了一个巨牛的人工智能教程,非常通俗易懂,对AI感兴趣的朋友强烈推荐去看看,传送门https://blog.csdn.net/HHX_01



