大家都在吵「这算不算 AI 写的」,我倒想问
一、连检测工具自己都在打架
拿同一段混合代码跑了三个主流检测器:GPTZero 说 85% 人类,Copyleaks 直接判定 AI 生成,Turnitin 给了个模糊的「疑似」。更离谱的是,我把自己两年前没碰过 LLM 时写的 Python 脚本扔进去,GPTZero 也给出 30% AI 概率。原因很简单——规范的代码风格、标准的设计模式、甚至 if __name__ == "__main__": 这种模板化写法,在概率模型眼里全是「低困惑度、高确定性」的典型 AI 特征。
二、工作流里根本没「纯人类」这档子事
现在正经写代码谁不带个 Copilot/Codeium/Cursor?Tab 补全一次算不算?Cmd+K 重构一块函数算不算?我把 prompt 细化到「用访问者模式重写这段逻辑,保持原有接口不变」,生成的代码我连个分号没动——这算我的还是模型的?再退一步,Stack Overflow 复制粘贴的年代,没人纠结「这算不算别人写的」,怎么到 LLM 这儿非要搞个血统证明?
三、水印方案治标不治本,还伤无辜
OpenAI 那套水印方案搁置至今,根本原因是 False Positive 率压不下来。对抗式改写(Quillbot、甚至让另一个 LLM 「用更口语化的风格重写」)五分钟就能洗掉水印;真正的受害者是不得不频繁调用 API 的正规开发者——生成的 JSON Schema、SQL DDL、Kubernetes Manifest 全是高确定性结构,水印强度强到离谱,反手就被自家检测器判定「AI 生成」,CI/CD 流水线里的自动化脚本全挂了。
四、与其纠结来源,不如验收结果
我们组现在的做法很简单:PR 描述里必须写清「核心逻辑由谁设计、关键边界条件如何测试、性能基线跑在多少」。Commit message 规范里加了 design-by: 和 reviewed-by: 两个字段,至于行级别是不是 Tab 出来的,Code Review 时只看逻辑对不对、测试过没过。上线后出了 Bug,Git blame 定位到人,没人会追问「那行 for 循环到底是你敲的还是模型补的」。
定义「AI 写作」唯一的商业价值,大概就剩给版权律师和查重软件卖课的赚钱了。工程师的时间,花在把模型当动力工具用、把精力省下来攻克业务难点上,不香吗?