编辑我用AI辅助写的文章:从LLM初稿到个人声音的回归
去年,我使用AI帮助我写文章。正如我之前提到的,这样做很方便,因为它节省了时间。但当你试图引用这些文章时,问题就来了。你以为自己写的内容,跟实际上的并不一样。每次回读时,我都感到尴尬。
正如我之前所说,我正在重写这些文章,让它们捕捉我的声音,这样我才能真正引用写作时我真正的想法。我会向你展示文章修改前后的样子。从提示词,到最终发布版本,再到新的编辑版本。
提示词(2025年2月4日,关于DeepSeek):
我正在写一篇博客文章,帮我润色一下。它应该是一篇有趣的读物,帮助说服读者:构建无用的工具是成长旅程的一部分。
程序员不使用计算器,他们构建计算器,然后在完成四分之三时放弃。
项目开头总是令人兴奋。你有一个绝妙的想法,你有构建它的技能,而且你有一个盲点。这个盲点推动你进入一段激动人心的旅程:搭建项目、决定框架、支付AWS服务器。你甚至可以在项目的原型版本中测试一些想法。
随着你不断构建项目,解决那些容易摘的“低垂果实”,你意识到要让项目落地,需要的不仅仅是CRUD。就在这时,我们开始找借口。盲点变得越清晰,我们失去的兴趣就越多。抵抗是创造一堆废弃项目的秘诀。
在我职业生涯早期,我发现自己每周都会有好几次产生一个改变人生的全新想法。我的周末总是在笔记本电脑前度过,在IDE里敲代码,测试一个想法。我不得不承认,我经常被创建元代码(比如一个应该超级高效的ORM,或者一个允许我使用自动实时渲染成组件的自定义HTML标签的解析器)所分心。最终,我得到了一个强大的框架,和四分之三越来越不令人兴奋的应用程序。
但这并不是一个警告,告诉你你的想法很糟糕、不应该去做。这是一个坦白:那些无用的项目正是开发者磨练技能的方式。我们被自己的大脑欺骗,想要改变世界。但结果是,我们最终学到了新的、有市场价值的技能。我之前写过关于孩子玩耍的重要性——玩耍帮助他们磨练无法从书本中学到的身体技能。你得在公园里爬猴架才能锻炼臂力。同样,我们需要构建四分之三的计算器,才能学会如何正确地将工具函数模块化。
DeepSeek“思考”了38秒,给了我一个标题为“为什么构建无用工具是开发者成长的秘诀”的草稿。
第一稿:
标题:为什么构建无用工具是开发者成长的秘诀
钩子: 程序员不使用计算器——他们构建计算器,在完成四分之三时放弃,然后在试图修复README中的错别字时意外地发明了下一个大事件。
1. 新项目的诱惑之歌
每个开发者都知道那种冲动:你被一个“改变人生”的想法击中(本周第14个),然后突然之间,你开始搭建仓库、争论框架、凌晨2点购买AWS服务器。盲点?你相信这次你会完成。剧透:你不会。但这没关系。
“项目的前90%花掉10%的时间。剩下的10%需要另一辈子。” ——古老开发者谚语(大概)。
2. 盲点:创造性混乱的燃料
那个最初的盲点不是缺陷——它是火箭燃料。它让你忽略无聊的部分(用户认证、错误处理、文档),直接跳进有趣的:原型设计疯狂的功能,发明一个名为LazyLlama的“革命性”ORM,或者制作将“永远改变前端开发”的自定义HTML标签。当然,你的热情消退得比免费服务器在负载下还快,但在此过程中,你意外地学到了: - 如何优化数据库查询(为了让LazyLlama稍微不那么慢)。 - 为什么shadow DOM存在(在你的自定义<sparkle-button>标签搞垮14个旧网站之后)。
3. 抵抗是不可避免的(而这正是关键)
随着盲点消失,现实袭来:你的应用需要的不仅仅是CRUD和咖啡因才能生存。突然,你通过重写配置文件或按字母顺序排列npm依赖项来拖延。这种抵抗不是失败——它是老师。每个废弃的项目都是一堂大师课: - 范围蔓延:“等等,计算器还应该解决量子物理学吗?” - 工具链:“我花了3天为……一个待办事项应用构建CI/CD管道。” - 优先级:“登录页面可以等——我们先添加动画表情。”
4. 成年人的游戏时间:无用项目如何磨练技能
孩子爬猴架不是为了“锻炼上肢力量”——他们做是因为好玩。同样,开发者构建半成品的工具不是为了填充简历。我们做是因为玩代码是快乐的。就像孩子一样,我们离开时变得更强: - 那个废弃的Twitter版猫咪应用教了你WebSocket。 - “超级高效”的ORM?现在你理解了查询优化。 - 完成了75%的计算器?你掌握了状态管理……还有谦逊。
5. 拥抱未完成想法的墓地
你的GitHub是一个“几乎完成”的博物馆,这很美。你代码壁橱里的每一具骷髅都教会了你一些东西。记住: - Instagram最初是一个签到应用。 - Slack是一家游戏公司的副业。 - 你的基于区块链的宠物石项目?它教了你智能合约——以及不是每个想法都需要见光。
6. 继续构建(并放弃)
下一次内疚低语:“你从未完成任何事,”嘲笑它。你不是在失败——你是在迭代。世界需要那些爬过“无用”项目之山、穿越技术债务之谷、并活到能再次编码的开发者。
所以去吧:构建那个计算器。在75%时放弃。然后用你学到的东西意外地创造一些真正改变世界的东西。
最终想法: 唯一比一个完成项目更好的事情?一打未完成的项目,它们把你变成了编程巫师。
行动号召: 你最喜欢的废弃项目是什么?标记#无用但精彩,坦白你的编码罪行。我们每个人的壁橱里都有一个LazyLlama。
我做了些编辑,要求去掉标题,然后得到了这个:
标题:为什么构建无用工具是开发者成长的秘诀
程序员不使用计算器——他们构建计算器,在完成四分之三时放弃,然后在试图修复README中的错别字时意外地发明了下一个大事件。每个开发者都知道那种冲动:你被一个“改变人生”的想法击中(本周第14个),然后突然之间,你开始搭建仓库、争论框架、凌晨2点购买AWS服务器。盲点?你相信这次你会完成。剧透:你不会。但这没关系。
那个最初的盲点不是缺陷——它是火箭燃料。它让你忽略无聊的部分(用户认证、错误处理、文档),直接跳进有趣的:原型设计疯狂的功能,发明一个名为LazyLlama的“革命性”ORM,或者制作将“永远改变前端开发”的自定义HTML标签。当然,你的热情消退得比免费服务器在负载下还快,但在此过程中,你意外地学会了如何优化数据库查询(为了让LazyLlama稍微不那么慢),或者为什么shadow DOM存在(在你的自定义<sparkle-button>标签搞垮14个旧网站之后)。
随着盲点消失,现实袭来:你的应用需要的不仅仅是CRUD和咖啡因才能生存。突然,你通过重写配置文件或按字母顺序排列npm依赖项来拖延。这种抵抗不是失败——它是老师。每个废弃的项目都是一堂大师课:范围蔓延(“等等,计算器还应该解决量子物理学吗?”)、工具链(“我花了3天为……一个待办事项应用构建CI/CD管道”),以及优先级(“登录页面可以等——我们先添加动画表情”)。
孩子爬猴架不是为了“锻炼上肢力量”——他们做是因为好玩。同样,开发者构建半成品的工具不是为了填充简历。我们做是因为玩代码是快乐的。就像孩子一样,我们离开时变得更强。那个废弃的Twitter版猫咪应用教了你WebSocket。“超级高效”的ORM?现在你理解了查询优化。完成了75%的计算器?你掌握了状态管理……还有谦逊。
你的GitHub是一个“几乎完成”的博物馆,这很美。你代码壁橱里的每一具骷髅都教会了你一些东西。Instagram最初是一个签到应用。Slack是一家游戏公司的副业。你的基于区块链的宠物石项目?它教了你智能合约——以及不是每个想法都需要见光。
下一次内疚低语:“你从未完成任何事,”嘲笑它。你不是在失败——你是在迭代。世界需要那些爬过“无用”项目之山、穿越技术债务之谷、并活到能再次编码的开发者。所以去吧:构建那个计算器。在75%时放弃。然后用你学到的东西意外地创造一些真正改变世界的东西。
唯一比一个完成项目更好的事情?一打未完成的项目,它们把你变成了编程巫师。
我改了标题,去掉了草稿中的标题,精简后发布了这个版本:
2025年3月6日发布的文章:
为什么开发者构建未完成的计算器
这是唯一的学习方式
每个开发者都知道那种冲动。你正在开车,突然被一个“改变人生”的想法击中(本周第14个)。在下一个红灯,你一边开车一边录了一段音频,避免与一辆明显像警车的车对视。凌晨2点,你突然醒来,想起了那段录音。现在你在搭建仓库、争论框架、半夜购买AWS服务器。盲点?你相信这次你会完成。
剧透:你不会。但这没关系。
程序员不使用计算器。他们构建计算器,在完成四分之三时放弃,然后在试图修复README中的错别字时意外地发明了下一个大事件。
那个最初的盲点不是缺陷。它是火箭燃料。它让你忽略无聊的部分(用户认证、错误处理、文档),直接跳进有趣的:原型设计疯狂的功能,发明一个名为LazyLlama的“革命性”ORM,或者制作将“永远改变前端开发”的自定义HTML标签。当然,你的热情消退得比免费服务器在负载下还快,但在此过程中,你意外地学会了如何优化数据库查询(为了让LazyLlama稍微不那么慢),或者为什么shadow DOM存在(在你的自定义<sparkle-button>标签搞垮浏览器的渲染引擎之后)。
随着盲点消失,现实袭来:你的应用需要的不仅仅是CRUD和咖啡因才能生存。突然,你通过重写配置文件或按字母顺序排列npm依赖项来拖延。这种抵抗不是失败。它是老师。每个废弃的项目都是一堂大师课:范围蔓延(“等等,计算器还应该解决量子物理学吗?”)、工具链(“我花了3天为……一个待办事项应用构建CI/CD管道”),以及优先级(“登录页面可以等——我们先添加动画表情”)。
孩子爬猴架不是为了“锻炼上肢力量”。他们做是因为好玩。同样,开发者构建半成品的工具不是为了填充简历。我们做是因为玩代码是快乐的。就像孩子一样,我们离开时变得更强。那个废弃的Twitter版猫咪应用教了你WebSocket。“超级高效”的ORM?现在你理解了查询优化。完成了75%的计算器?你掌握了状态管理……还有谦逊。
你的GitHub是一个“几乎完成”的博物馆,这很美。你代码壁橱里的每一具骷髅都教会了你一些东西。Instagram最初是一个签到应用。Slack是一家游戏公司的副业。你的基于区块链的宠物石项目?它教了你智能合约以及不是每个想法都需要见光。
下一次内疚低语:“你从未完成任何事,”嘲笑它。“你找错人了,”你回答。你不是在失败,你是在迭代。世界需要那些爬过“无用”项目之山、穿越技术债务之谷、并活到能再次编码的开发者。所以去吧:构建那个计算器。在75%时放弃。然后用你学到的东西意外地创造一些真正改变世界的东西。
唯一比一个完成项目更好的事情?一打未完成的项目,它们把你变成了编程巫师。
它听起来非常像任何LLM,我受不了读它。当时,我试图在我全年每隔一天写作的繁重日程中节省时间。但最终得到的是这个。如果你读它,它捕捉到了我想分享的想法。
从功能上讲,它确实达到了应有的效果。但它不是我对这个主题的人类经验。在我的新编辑中,我删掉了听起来不像我的东西。对我来说别扭的措辞。我对结果很满意。它不是一篇爆款,但它捕捉了我对“为什么开发者构建计算器”的情感。
阅读编辑后的文章(2026年5月1日)