最近用 LLM 产品写代码的一些感想

前言 在 ChatGPT 刚出来的时候,也就是 GPT-3 就开始用了,那个时候免费用,也勉强能用来写代码。它能在提供的沙箱环境执行 Python 代码,任何微小的校验方法编写,例如验证身份证方法直接丢给它,让它写,提示词就写:根据你学到的知识,帮我编写下面的代码—— 就是要它和训练的数据输出一模一样的内容。到后面 ChatGPT4 出来,让它转 Python 后端项目到 Java 项目,DAG 构建族谱,计算同一个祠堂下两个人的关系,两千行的代码,也能正常转,只不过提示词要多写点,还得一点点手动拆分代码。那个时候是和 Claude 一起用,即使两个都是 Pro Plan 但是架不住代码比较多消耗 Token 很快。现在只有 Claude 写的代码能勉强用于生产,因为简单的代码 Cursor 就能自动补全,GPT-5 也就那样,甚至开源的 Qwen3-Coder-480B-A35B-Instruct 写代码能力都比 GPT-5 强。 在当前阶段,LLM 根本替代不了高级开发,尤其是一些大模型,例如 Qwen3 或者 GPT5 完全比不上 Claude4.1。但是把一些琐碎的,低层级的任务丢给大模型,它会做得很好,不要一句话,“帮我把这个文档弄一下”,这种没有明确的目的废话。 正确的话术应该:编写一个 Python 程序,输入的是 Markdown 格式的文档,将文档中表格数据输出成 SQL INSERT 语句,碰到复杂的表格则跳过处理,对于 HTML 代码编写的表格不予处理,对 Markdown 语法的表格,先获取表格头部信息提取对应英文字段,创建合适的表名,转成 MySQL8 的 SQL 语法创建表,并且生成 INSERT 语句插入数据。执行 Python 程序,输出建表和插入数据的 SQL,输出文件是 init.sql。 就是有着明确的问题,明确的处理方式,以及预期结果,毕竟 Garbage in, garbage out。你不可能指望垃圾数据,片汤话就能解决问题,传统的监督学习还要一个个标注数据,大模型能做到零样本输出看似它学会了思考,学会了表达,实际不是。在它训练的数据中,如果这部分存在过,就得让它过度拟合,回答。就像做数据治理,这家厂商给的性别字段叫 gender:(male,female,unknown),另一个厂商上报的数据是 sex(0,1,-1) 这些都可以做影射到符合国标 GB/T 2261.1-2003 的字段上,统一叫 gender(0,1,2,9),但是有些他上报 g:(x, y, trans, plastic bag, walmart bag),这样就输入的是垃圾信息, 别想治理出能用的数据。 ...

August 28, 2025

llm-0

又是一波风口来了 又开始了,不懂行的,只会高谈阔论放没有味道屁的,又开始了,“李一舟” 们又复活了。开始利用大家的焦虑,开始卖些没有营养的课,新一波的收割又来了。那些高谈阔论的砖家疯狂啃噬着这新鲜的养料。 DeepSeek 这 xx 条指令帮你更好掌握 xx 创始人梁文峰 xx 量化投资 xx 我用 DeepSeek 赚到了 xx xx 大学 DeepSeek xx xx 宣布接入 DeepSeek AI 破局! 还有很多,就不列举了,点进去全都是依托谢特,毫无营养的内容,基本都是割韭菜,卖低质量课的。没有调查,就没有发言权,我明知道那些点进去是垃圾内容,我还是强忍着恶心,本着应该调查再发表观点的心态去看了,确实都是一坨,根本不用点进去看。到最后基本都是加群卖课,准备开始割你,这些人想钱想疯了。 一月份的时候 CNBC、The Daily Show、各个行业的博主都来了,人人都可以评价 DeepSeek,都可以上来说两句,在自己行业的视角。这很正常,没问题,但是就像盲人摸象,只知道部分事实,那不是事实。《事实》里面,人们只会报独特的消息,所有的媒体才不会浪费时间去编造那些不符合我们基本本能的故事。 与其听一些“砖家”高谈阔论,说一些没有味的屁话,不如自己真正找到一手或者近一手的资料,去学点真东西。 背景介绍 这里只做大语言模型和扩散模型相关的内容推荐,更深层次的机器学习,神经网络,深度学习里面种种细节其实也不用完全掌握。只要会用就行了,很多底层细节是不需要知道的。 你不需要有高性能的 GPU,也不需要有足够的编程知识,更不需要了解 TCP/IP,不需要了解 TCP 粘包,TCP Sequence,就是个简单的 HTTP 请求,也不需要了解 OAuth2 协议,甚至也不需要充钱,只需要注册 DeepSeek 或者 Kimi 账号,使用它们的平台生成一个 API Key 放到 Authorization: Bearer 后面即可,最后面有演示内容。本质上就是根据你输入的内容,结合大模型“学习”过的知识,给你回答。 幸存者偏差 可能或多或少看到谁谁谁用 Cursor,毫无编程经验,就写出一个 xx APP,赚到了钱。对,没错,这些是真的,但是只是部分事实。不是所有人都可以这样,并且好的软件,它是要维护的,是要人来参与的。就算你用 Cursor 写出了这样的 APP,但是它是要不断迭代的,要重构,要写良好的 AAA 单元测试。这些,Cursor 还差一点,并且我在工作中很少见到人写测试代码,但是如果你真的编程到了一定程度,你就会发现,写好规划文档占三分之一时间、单元测试和集成测试等其他测试占用一半时间,测试才是软件开发最重要的事情,开发其实只是占用六分之一的时间。 并且,如果不懂 Git,不了解 GitLab、Github,毫无软件开发经验,用 Cursor 写出来的东西,不会做版本控制,也不知道提交到远端仓库,本地电脑坏了,或者其他意外情况,代码全丢了,那就全完了。就算了解 Git,也不了解软件开发推崇的敏捷开发,项目管理,版本变更兼容,需求和实现需要定期同步等等的坑,光有想法和结构化思维,是做不出来可迭代的,优秀的产品。没有人能一次性写出完美的代码,就算是 Linux Kernnel 的代码,也有大约 20% 的提交都是重构的代码,重构非常重要。重构的前提,是编写良好的单元测试。 ...

March 8, 2025