最近用 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),这样就输入的是垃圾信息, 别想治理出能用的数据。 ...