惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
博客园_首页
Last Week in AI
Last Week in AI
爱范儿
爱范儿
S
Securelist
大猫的无限游戏
大猫的无限游戏
T
The Exploit Database - CXSecurity.com
V
V2EX
酷 壳 – CoolShell
酷 壳 – CoolShell
Microsoft Security Blog
Microsoft Security Blog
C
CERT Recently Published Vulnerability Notes
C
Cyber Attacks, Cyber Crime and Cyber Security
云风的 BLOG
云风的 BLOG
T
The Blog of Author Tim Ferriss
I
InfoQ
F
Full Disclosure
K
Kaspersky official blog
Know Your Adversary
Know Your Adversary
V
Vulnerabilities – Threatpost
L
Lohrmann on Cybersecurity
雷峰网
雷峰网
GbyAI
GbyAI
NISL@THU
NISL@THU
Hacker News - Newest:
Hacker News - Newest: "LLM"
Y
Y Combinator Blog
Vercel News
Vercel News
T
Tor Project blog
B
Blog
L
LINUX DO - 最新话题
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
Cisco Blogs
D
Docker
Security Latest
Security Latest
T
Tailwind CSS Blog
Cisco Talos Blog
Cisco Talos Blog
Forbes - Security
Forbes - Security
E
Exploit-DB.com RSS Feed
T
Threatpost
人人都是产品经理
人人都是产品经理
V
V2EX - 技术
aimingoo的专栏
aimingoo的专栏
H
Hackread – Cybersecurity News, Data Breaches, AI and More
F
Fortinet All Blogs
MyScale Blog
MyScale Blog
L
LangChain Blog
博客园 - 【当耐特】
博客园 - 三生石上(FineUI控件)
The Register - Security
The Register - Security

博客园_首页

Plist 二进制格式 Milvus 和 PGVector,哪个更好? OpenClaw 已过时?在 VS Code 中运行 Hermes Agent! 第30篇文章:一个大三计科生的自白 Manim如何在数学公式中完美显示中文? Docker 部署 RocketMQ 5 并发编程核心概念辨析 C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生 CLI 是什么?为什么大厂突然集体卷命令行? 【从0到1构建一个ClaudeAgent】协作-自主Agent UIImageView 设置图片不生效的原因排查 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 痞子衡嵌入式:大话双核i.MXRT1180之XIP应用里借助MU实现可靠Flash IAP的方法 AI Chat 封装, SemanticKerne.AiProvider.Unified 已发布 Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量 在后台服务中使用 Scoped 服务,为什么总是报错? H200 安装驱动并使用sglang启动模型 wireshark 抓包Trap上报告警内容 我用 AI 辅助开发了一系列小工具(2):图片压缩工具 [A Primer On MC and CC] 2.1 Memory Consistency 1 - 指令重排序和 SC 模型 Oracle数据库SCN推进技术详解与实践指南 玩转控件:封装个带图片的Label控件 Claude Code 4.7 真正该升级的不是模型,而是你的工作流 前端小白一句话,AI 帮我做了个颜值拉满的桌面媒体播放器。当代码不再是门槛,一句话编程就是现实。 5. WorkBuddy: 小龙虾的灵魂三件套,让你的小龙虾不只是工具 SQLite 分片方案实战:三种分片策略的深度对比 告别简陋 UI!一款基于 Fluent Design 和基于 WinUI 的开源免费、现代化的 Avalonia UI 控件库 关于二进制排列组合枚举的总结 AI开发-python-LangGraph框架(3-27-LangGraph从零实现大模型智能决策工作流) ElasticSearch主分片和副本分片概念详解 【002】HTTPS 粗解:证书、TLS 握手与对后端配置的影响 Hermes Agent 一周暴涨五万 Star,但我劝你别急着追 明明连接的是Redis的DB0,为什么能查到DB3的数据? 【从0到1构建一个ClaudeAgent】协作-Agent团队 熟悉电子元器件之后,电子小白下一步该怎么走? MAF快速入门(23)通过C#类定义Skills .NET 高级开发 | 手写一个对象映射框架 FastAPI数据库ORM怎么选?我肝了三个Demo后,终于不再纠结了 mysqldump 参数拾遗:在遗忘与铭记之间 C# .NET 周刊|2026年3月5期 Claude code入门 - 陈彦斌 一文学习入门 ThingsBoard 开源物联网平台 GitHub 热门项目 | 2026年04月16日 如何为GIT设置全局勾子,为每次提交追加信息 Number.isFinite和isFinite与isNaN()和Number.isNaN的区别 PortSwigger SQL注入LAB2 推荐一个测试人必备的Skills,从功能到性能全搞定(附详细实操和安装下载方式) 筑基期:掌握Odoo基础核心知识点02(Odoo XML 开发方式详解) GLM模型这么火,咱们用vllm也咧一个呗! 深入理解 AbortController:从底层原理到跨语言设计哲学 字符串学习笔记 多租户系统框架的基础模块设计和分析设计 Apache SeaTunnel Zeta 为什么能做到“又快又稳”? AI开发-python-LangGraph框架(3-26-LangGraph基本概念及第一个简单样例) Vue 3 组件通信,别只会用 Props 和 Emits 了,这几个狠活儿你得看看 ElasticSearch7.X版本配置密码 用Manim实现动态交点计算--从一个动点问题说起 团结引擎+Addressable+Instant Game打包抖音小游戏 function call 实战:让 LLM 自动判断 pod 异常、调用日志工具并完成故障分析 bubseek —— 让 Agent 的足迹,变成团队的洞察 通过 C# 读取并导出 PDF 书签 如何用 GitHub Actions 实现 Steam 自动化发布 【从0到1构建一个ClaudeAgent】并发-后台任务 .NET 高级开发 | 定制 ASP.NET Core 框架 电子小白:什么是运算放大器(运放) zero2Agent:面向大厂面试的 Agent 工程教程,从概念到生产的完整学习路线 堆上的ORW HC32F460 USB CDC通信异常:非对齐访问异常排查 20260413-Hyperbridge 攻击事件:发生在默克尔山上的验证绕过 那些喊着AI 要淘汰你的人,正在靠你的焦虑赚大钱! 深度学习进阶(八)Swin Transformer 最小二乘问题详解19:带先验约束的增量式SFM优化与实现 SnapTranslate 3.0 正式发布:全局划词翻译 + 完整英语学习闭环,一站式搞定查词、记词、复习 工作的意义、工作的困难认知再思考 .NET + AI 进阶实战:基于类的技能开发 - 打造可治理的 Agent 能力模块 【从0到1构建一个ClaudeAgent】规划与协调-技能 上周热点回顾(4.6-4.12) 电子小白的工具三件套:面包板、杜邦线、万能板 单表五亿数据的查询优化 | Mysql、StarRocks 2. WorkBuddy:从“我是谁”到“帮我干活” C# 如何减少代码运行时间:7 个实战技巧 基于HelixToolkit.SharpDX 渲染3D模型 - 笺上知微 从零开始的双臂具身VLA起源及现阶段发展综述 - SkyXZ 记对 xonsh shell 的使用, 脚本编写, 迁移及调优 - pluvium27 受够了Vibe Coding的失控?换个起点,让AI事半功倍 从开始配置漏洞环境到漏洞复现流程 - 難しい 关于10年工作经验的程序员对OpenClaw的实战经验分享以及看法 - 虚无境 Any metadata 的内存布局 C# .NET 周刊|2026年3月2期 - InCerry 我帮你测过了,测试圈排名第二的 Skill 依然很牛逼 Skill Discovery | 无监督技能发现的经典工作总结 - MoonOut 上下文工程是什么?过时了么?一文讲明白! - 一枫说码 开了 TUN 模式还是直连?90% 的人都踩过这个坑 AScript扩展多种脚本语言 - rockey627 AI 学习笔记:Agent 的记忆机制 你能被装进一个文件里吗?——7 万人把同事"蒸馏"成了 AI - 我没有三颗心脏 Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南 - 暮色之狐 在浏览器中快速编辑代码:VSCode Web 集成实践 - Newbe36524 蒸馏自己 skill?基于 Deepseek 的蒸馏器,丐版蒸馏方式,简单便捷 - To_Carpe_Diem Spring AI Aliababa和AgentScope,哪个更好? - 苏三说技术
面试官问:你用 AI 编程半年了,那怎么保证 Claude Code 写出来的代码是对的?
狂师 · 2026-06-15 · via 博客园_首页

前两天刷知乎的时候,看到一个很有意思的帖子,标题叫:《面试官问:你用 AI 编程半年了,那怎么保证 Claude Code 写出来的代码是对的?》

翻完评论区,我没有找到特别满意的答案,反而越发有感触。

借着这个话题,今天来简单聊聊。

不知道正在看文章的你,还记不记得自己第一次体验 Vibe Coding 的感受?相信应该没人能忘吧。

不用抠语法、不用写重复的模板代码、不用对着文档查API。只需要敲一段自然语言描述,AI 就能瞬间吐出一大段工整、能运行、结构规整的代码,那种感觉太上瘾了。

但半年、一年过去,热潮褪去,再回头看看Vibe Coding,也多了几分理性与思考,心境早已和当初截然不同。

1、先搞懂:大部分人理解的 Vibe Coding,本身就是错的

这两年爆火的Vibe Coding(氛围编程),很多人简单理解:“就是用AI帮你写代码”,圈内甚至流传着一句调侃:现在编程门槛越来越低了,你只要会说话,就能写出代码。

现实中,绝大多数人使用AI 编码 的工作流,基本都是这样:

flowchart LR A[拿到需求] --> B[丢给AI生成代码] B --> C[复制粘贴代码] C --> D[本地运行验证] D --> E{运行结果?} E -->|页面正常/接口无报错| F[直接提交合并] E -->|异常| B

操作简单、节奏飞快,短期效率肉眼可见地暴涨。

但快归快,整套流程却缺失了开发最关键的一环:校验与思考

没人去核对逻辑完整性,没人补全边界判断,没人对齐项目编码规范,更没人排查潜在的性能与异常风险。

我最初接触这类工具时,也被这种 “高效率” 迷惑过。不用再手写重复代码、不用反复抠语法,一度沉浸在 “解放双手” 效率爆增的爽感中,甚至在想:未来编程这件事,是不是真的可以完全交给 AI?

但随着用AI开发的项目越来越多,做的事越来越复杂时,反而慢慢的回归理性。

在我看来,Vibe Coding 从来不是 “动动嘴就万事大吉”,它最核心、也最容易被大家忽略的本质,依托 AI 是为了提升编码效率,简化机械的基础编码工作,但还是需要依靠人自身的经验和专业技能才能真正地把控好整体开发质量,而非彻底放弃对代码的学习和掌控

当然这件事,也要分人群来看:零基础、非技术出身的朋友,用 Vibe Coding 确实能跨过编码门槛,不用系统学习编程,也能借助 AI 实现想要的功能,这是工具带来的便利。

但对于技术人来说,千万不能抱有 “有了 AI 就不用学代码” 的想法。AI 可以帮你敲代码,却没法帮你做判断。作为从业者,你必须能读懂代码,能分辨出哪些写法稳妥,哪些逻辑有缺陷。这是人的立身之本。

AI时代,人要做的是驾驭 AI,而不是被 AI 牵着走,人是AI的主人,而不是成为AI的奴隶。

2、AI 只在帮你干活,但并不为正确负责

首先要纠正一个误区:AI 不存在绝对的 “代码正确率”,它有的只是贴合提示词和上下文的拟合率

你可以把它理解成一个强大的文本生成器,它不会真正理解需求背后的业务逻辑。

它写代码的逻辑很简单:根据你给的上下文、指令描述,再依托海量训练数据,拼凑出一段语法规整、看起来合理、最贴近 “标准答案” 的代码。它擅长模仿,却做不到真正的思考

也正因如此,它根本不懂你的业务,不知道项目的隐性规则,更不会预判线上的边界场景。

我自己就踩过一个印象很深的坑。之前用 Claude Code 编写订单金额计算逻辑,代码本地运行一切正常,基础的单元测试也全部通过,当时便放松了警惕。

可代码上线后,出现了一个极小概率负数金额的异常情况。事后逐一排查才发现,AI 自动忽略了三类关键场景:入参空值判断、多轮折扣叠加导致的数值溢出,以及浮点运算四舍五入的精度问题。整段代码语法挑不出半点毛病,可核心逻辑却是残缺的。

还有更离谱的AI幻觉:它会编造项目里根本不存在的工具类、废弃的API、错误的数据库字段映射,代码看着工整优雅,实则完全无法落地。

AI编程的本质从来不是「AI替代人写正确代码」,而是人制定规则、把控逻辑、兜底校验,AI承担重复、繁琐、机械的编码工作

所以,永远不要盲目信任 AI 的输出,真正能守住代码质量的,只有我们自己经过校验过的工程体系。

在我看来,Claude Code 这些AI Agent 工具从来不是用来直接产出标准答案的 “代码神器”,它更像一位手脚麻利、执行力拉满,却时常粗心大意的实习生。改需求随叫随到,敲代码速度远超常人,但细节之处总容易出纰漏。

试问在职场里,哪位管理者敢把实习生写的代码,不经审核、不经测试就直接推上线?同理,使用 AI 编程,这份把关的责任,终究要落在开发者自己身上。

3、如何保证AI写出来的代码是对的,几点建议

第一步:定规则约束,从源头降低出错概率

很多AI代码出错,根本不是模型不行,是人给的指令太笼统

刚接触 AI 编程的朋友,往往只会简单交代需求:帮我写一个订单计算的方法。

而熟悉项目、懂得提要求的老司机,会把所有限制条件、业务规则一一说明:帮我写一个订单金额计算方法,要求使用 BigDecimal 计算、保留两位小数;入参存在空值情况,务必做好空值校验;代码要兼容折扣叠加、满减抵扣场景,绝对不能出现负数金额;同时复用项目现有的 utils 工具类,保持和团队一致的编码风格。

当约束越具体、规则越清晰、场景越全面,AI 发挥空间就越小,出错概率也会越低

除此之外,每次让 AI 编码之前,都要做好项目相关上下文同步:项目内已有的工具类、数据表字段定义、全局统一返回格式等。

提前把规则和边界划定清楚,不让 AI 随意发挥,这是把控代码质量最前置、也最有效的一步。

第二步:挑一个性能好一些的模型

AI 编码的质量好坏,除了第一步要建立好规则、约束、把需求说清楚外,模型本身的能力也非常重要。因此有条件的情况下,尽量挑一个性能好一些的大模型。

很多人用 AI 写代码翻车,不是自己提示词写得差,而是直接用了能力偏弱的模型。弱模型哪怕你需求写得再细、约束给得再全,它理解不到复杂业务、梳理不清多层逻辑、记不住上下文细节,最后依然写出残缺、漏判、甚至自相矛盾的代码。

我个人长期使用 Claude Code 的真实感受是:规则决定下限,模型决定上限。

所以:能用好模型,尽量用好模型。

但从成本的角度考虑,也要视任务来定,比如日常普通开发,用国产大模型比如GLM-5.2 或 DeepSeek V4 这些基本就能轻松搞定了;但对于一些核心业务、复杂模块逻辑,我一般会切换更强的模型来生成(比如Claude Opus 4.7)。

第三步:让AI帮你搞定80%工作,剩下20%人来盯

以前写代码,80%时间敲键盘,20%时间思考逻辑;

现在用AI写代码,我20%时间校对优化,80%时间专注业务、架构、边界、性能、安全。

这才是AI编程的正确打开方式。

这是整个流程里非常关键的一步,也是拉开普通使用者和专业开发者差距的地方。

很多人存在误区,觉得代码能编译、本地能跑通,就万事大吉了。可现实是:语法正确,仅仅是最基础的要求。

一段能上线的代码,不仅要逻辑通顺,还要全面覆盖边界场景,同时兼顾性能与安全。

我不会逐行看工具方法、循环遍历这类基础代码,但核心业务逻辑、数据流转、判断分支、异常捕获,会进行审核确认。

对此我的建议和自己做法是:AI写完代码和测试用例,自测通过后,我还会让AI初审一轮,解决七七八八后,最后再由人工审核确认核心逻辑。

第四步:沙箱 / 测试环境验证,模拟真实运行

经过前面三轮校验,代码已经相对稳妥,但最后还需要落地实测,避免纸上谈兵。

所有 AI 生成的代码,建议先部署到测试环境、沙箱环境中运行验证:

  • 接口代码用 Postman、Apifox 模拟真实请求,核对参数与返回格式
  • 查看完整 SQL 执行语句,借助 EXPLAIN 分析执行计划,规避语法错误和慢查询
  • 针对复杂逻辑,模拟线上高并发、大数据量场景做压力测试

走完这四步,Claude Code写的代码,正确率、稳定性就能远超大多数人工随手写的代码。

4、AI时代,最大的误区:把工具当能力

回到上面知乎问题,其实面试官想要的答案,从来不是一套校验代码的技术流程。

他想考察的,是你的职业认知

现在很多程序员的焦虑,完全源于认知错位:

误以为会用AI写代码,就是能力提升;误以为AI能搞定一切,自己就可以放弃思考。

真正的现状是:AI干掉的是“只会搬砖的程序员”,成就的是“懂逻辑、懂业务、懂兜底的程序员”。

Vibe Coding的快乐是真的,高效是真的,但隐患也是真的。

靠感觉编程,短期爽感拉满,长期只会废掉自己的逻辑思维和工程严谨性。一旦遇到复杂业务、线上故障、疑难问题,只会束手无策。

我很认同一句话:AI可以替你写代码,但永远不能替你承担线上故障。

代码出错可以改,思维惰性一旦养成,很难补救。

最后,送给所有在用AI编程的同学

我用Vibe Coding这两年多的最大感悟:

AI降低的是“写代码的体力成本”,提升的是“编码效率”,但丝毫没有降低“工程师的思考成本和责任成本”。

面试官问出这个问题,本质是想筛选出:你到底是工具的使用者,还是工具的奴隶。

只会复制粘贴AI代码的人,迟早会被淘汰;

懂得驾驭AI、校验AI、修正AI,让工具为自己所用的人,会在AI时代越走越远。

不用纠结AI写得对不对,记住一句话:

AI负责输出代码,工程师负责保证正确。