🤖 AI / ML
编辑我的 LLM 辅助撰写的文章Editing my LLM assisted Articles
作者回顾去年使用 AI 撰写文章的便利性,但指出直接引用这些文章时存在严重问题:AI 生成的内容与作者真实意图不符,导致自我认知混乱。为此,他正在重写所有 AI 协助的文章,以恢复个人声音和原始思想表达。这一过程不仅是为了准确引用,更是为了维护创作自主性。作者强调,即使借助 AI,最终文本仍需回归人类作者的视角与风格。
Ibrahim Diallo
去年,我借助 AI 来帮我撰写文章。正如我之前提到的,这样做确实很方便,因为它能为你节省时间。但问题在于,当你想引用这些文章时,会发现你自认为写下的内容其实并不存在于原文中。每次重读时,我都会感到一阵尴尬。
如前所述,我正在重写这些文章,目的是保留我的真实语调,并准确传达当初写作时的真实想法。我会向你展示文章在修改前后的完整过程——从最初的提示词,到最终发布的版本,再到最新的编辑内容。
提示词:2025年2月4日,关于 DeepSeek
我正在写一篇博客文章,请帮我润色。它应该是一篇轻松有趣的文字,旨在说服读者相信:构建无用的工具是开发者成长和职业发展旅程中不可或缺的一部分。 程序员不用计算器,他们自己造出来,却在完成四分之三时就弃用了。 项目启动总是令人兴奋的。你有一个绝妙的点子,具备实现它的技能,同时也存在认知盲区。正是这个盲区推动你踏上充满激情的旅程:搭建项目、选择框架、为 AWS 服务器付费。你甚至可以在项目的原型版本中测试一些想法。 随着项目不断推进,解决那些容易处理的问题后,你会意识到仅靠 CRUD 功能无法真正让项目“活”起来。这时我们开始找借口了。认知盲区越清晰,我们的兴趣就越快消退。抗拒心理正是导致我们积累大量废弃项目的秘密所在。 在我职业生涯的早期,几乎每周都会冒出改变人生的全新创意。我的周末都在笔记本电脑前度过,在 IDE 里敲代码,测试各种想法。我必须承认,我常常被“元编程”所吸引——比如开发一个超高效的 ORM,或一个能让我使用自定义 HTML 标签并实时渲染成组件的解析器。结果呢?我留下了一个功能完备的框架,却只完成了应用的四分之三,而且越来越提不起劲继续下去。 但这并非要警告你说你的想法烂透了、不该去做。这更像是一种坦白:那些看似无用的项目,恰恰是开发者锤炼技能的必经之路。我们被自己的思维误导,以为能改变世界,但实际上,我们正是在这些过程中学到了市场上真正需要的技能。我曾写过关于孩子玩耍的重要性——它帮助他们锻炼书本上学不到的身体技能,比如要在公园的单杠上攀爬才能增强手臂力量。同样地,我们也必须亲手构建一个四分之三完成的计算器,才能真正学会如何合理封装实用函数。
DeepSeek 思考了 38 秒,为我生成了一个题为《为什么建造无用工具是开发者成长的秘诀》的草稿。
初稿: 标题:建造无用的工具是开发者成长的秘诀 钩子: 程序员不用计算器——他们自己造,造到四分之三就放弃,结果在试图修复 README 文件中的拼写错误时,意外发明了下一个大东西。 1. 新项目的诱惑之歌 每个开发者都知道那种冲动:你被一个“改变人生”的点子击中(这周已经是第 14 个了),突然就开始搭建仓库、争论框架,凌晨两点还在抢购 AWS 服务器。盲点是:你坚信这次一定能做完。剧透一下:你不会。但这没关系。 “项目的前 90% 只花 10% 的时间,剩下的 10% 又花掉一辈子。” — 古代程序员谚语(大概如此)。 2. 盲区:创意混乱的燃料 那个最初的盲点不是缺陷,而是火箭燃料。它让你忽略无聊的部分(用户认证、错误处理、文档),一头扎进有趣的领域:原型设计疯狂功能、发明一个名为 LazyLlama 的“革命性” ORM,或者打造自定义 HTML 标签,声称要“永远改变前端开发”。当然,你的热情消散得比负载下的免费服务器还快,但沿途你已经无意中学会了: - 如何优化数据库查询(让 LazyLlama 稍微不那么慢一点)。 - 为什么存在 shadow DOM(因为你的自定义 <sparkle-button> 标签搞垮了 14 个遗留网站)。 3. 阻力不可避免(而这正是关键) 随着盲区逐渐消失,现实来了:你的应用不能只靠 CRUD 和咖啡因活着。突然之间,你开始通过重写配置文件或按字母顺序整理 npm 依赖来拖延时间。这种阻力不是失败,而是一位老师。每一个半途而废的项目都是一堂大师课: - 范围蔓延:“等等,计算器是不是还得解量子物理?” - 工具链:“我花了三天时间为一个待办事项应用搭建 CI/CD 流水线……” - 优先级排序:“登录页面可以等等——先加个动画表情吧。” 4. 成年人的游戏时间:无用项目如何打磨技能 孩子爬单杠不是为了“锻炼上肢力量”——他们这么做是因为好玩。同样,开发者也不是为了充实简历才做半成品工具。我们这么做,是因为玩代码本身令人愉悦。就像孩子一样,我们也因此变得更强大: - 那款废弃的“猫咪专属 Twitter”应用教会了你 websockets。 - 那个“超高效” ORM?现在你懂得了查询优化的真谛。 - 停在 75% 的计算器?你已掌握状态管理……还有谦逊。 5. 拥抱未完成创意的墓地 你的 GitHub 就是一座“几乎完成”的博物馆,这很美好。你代码柜子里每具骨架都教过你东西。记住: - Instagram 最初是个签到应用。 - Slack 曾是游戏公司的副业。 - 你那基于区块链的宠物石头项目?它教会了你智能合约——也教会了你,并非每个想法都必须见光。 6. 继续建造(然后放弃) 下次内疚悄悄低语“你什么都完不成”时,请笑着把它赶走。你不是失败者,你是在迭代。世界需要那些翻越过“无用”项目高峰、穿越技术债务低谷、活下来继续写代码的开发者。 所以去吧:造那个计算器。造到 75% 就放弃。然后用学到的东西,不经意间创造出真正改变世界的东西。 最终思考: 比完成一个项目更好的是什么?是十二个半成品,它们把你变成了编程巫师。 行动号召: 你最钟爱的废弃项目是哪一个?标记它 #UselessButBrilliant,坦白你的编程罪过。我们每个人都有个 LazyLlama 藏在衣柜里。
我做了些修改,要求删掉标题,这就是我得到的结果:
标题:为什么建造无用的工具是开发者成长的秘诀 程序员不用计算器——他们自己造。造到四分之三就扔下不管,结果在试图修复 README 文件中的一个拼写错误时,意外发明了下一个大东西。每个开发者都知道那种感觉:你突然灵光一现,冒出个“改变人生”的点子(这周已经是第14个了),于是立刻开始搭建仓库、争论框架,凌晨2点还在买 AWS 服务器。盲区在哪?你坚信这次一定能做完。剧透一下:你不会。但没关系。 这种最初的盲目自信不是缺陷,而是火箭燃料。它让你忽略那些无聊的部分(用户认证、错误处理、文档),一头扎进有趣的环节:疯狂的原型设计、发明一个名为 LazyLlama 的“革命性”ORM,或者创造自定义 HTML 标签,声称要“永远改变前端开发”。当然,你的热情消退得比负载下的免费服务器还快,但过程中你无意中学会了如何优化数据库查询(让 LazyLlama 稍微不那么慢)、为什么存在 shadow DOM(因为你的 <sparkle-button> 标签搞崩了14个遗留网站)。 随着盲目期过去,现实来了:你的应用需要的不仅仅是 CRUD 和咖啡因就能活下来。突然你就开始拖延,重写配置文件,或者把 npm 依赖按字母顺序排列。这种抗拒不是失败,而是老师。每一个被放弃的项目都是关于范围蔓延(“等等,计算器是不是也该能解量子物理?”)、工具链(“我花了3天搭 CI/CD 流水线……就为了个待办事项应用”)和优先级判断(“登录页面可以等等——先加个带动画表情吧”)的精品课程。 孩子爬单杠不是为了“练上肢力量”——他们觉得好玩才去爬。同样,开发者也不会为了充实简历而做半成品项目。我们这么做,是因为玩代码本身就很快乐。就像孩子一样,我们离开时变得更强大。那个半途而废的“猫咪版推特”应用教会了你 websockets。那个“超高效”ORM?现在你懂得了查询优化的重要性。那个只做到75%的计算器?你掌握了状态管理……还有谦逊。 你的 GitHub 是个“几乎完成”的博物馆,这很美。你代码柜子里每个骨架都教过你东西。Instagram 最初只是个签到应用。Slack 曾是游戏公司的副业。你那基于区块链的宠物石项目?它教会了你智能合约,也让你明白不是每个想法都得见天日。 下次当内疚小声说“你从来都做不完事”时,请笑着怼回去。你不是失败,而是在迭代。这个世界需要的是那些爬过“无用”项目高山、穿越技术债务低谷、活下来继续写代码的开发者。所以去吧:做个计算器。做到75%就扔。然后用学到的东西,不小心创造出真正改变世界的东西。 比完成的项目更好的是什么?是一打半成品,它们把你变成了编程巫师。
我重新起了标题,从草稿里删掉了标题,编辑精简后发表了这个版本:
文章发表于2025年3月6日: 为何开发者要构建未完成计算器 这是唯一的学习方式 每个程序员都经历过那种冲动。你正开车,突然灵光一现——“改变人生”的创意(本周第14个)。在下一个红灯前,你偷偷录下语音,避免与明显是警车的前方车辆对视。凌晨2点,你猛然惊醒,想起那段录音。此刻,你正在深夜搭建仓库、争论框架,甚至抢购AWS服务器。盲区在哪?你坚信这次一定能完成。 剧透一下:你不会。但没关系。 程序员不用计算器,他们自己造,造到四分之三就放弃,然后在试图修复README文件中的拼写错误时,意外发明了下一个重大技术。 那个最初的盲区并非缺陷,而是火箭燃料。它让你忽略无聊的部分(用户认证、错误处理、文档),一头扎进有趣的环节:疯狂原型设计、发明一个名为LazyLlama的“革命性”ORM,或创造能“永远改变前端开发”的自定义HTML标签。当然,你的热情消散得比免费层服务器在高负载下更快,但过程中,你已无意中学会了如何优化数据库查询(让LazyLlama稍微不那么慢),以及为何存在shadow DOM(因为你的自定义<sparkle-button>标签搞崩了浏览器的渲染引擎)。 随着盲区逐渐消失,现实接踵而至:你的应用需要的不仅仅是CRUD和咖啡因就能存活。突然之间,你开始通过重写配置文件或按字母顺序整理npm依赖来拖延工作。这种阻力不是失败,而是老师。每一个被抛弃的项目都是关于范围蔓延(“等等,计算器是不是还得解量子物理?”)、工具链(“我花了三天搭建CI/CD流水线……只为一个待办事项应用”)和优先级排序(“登录页面可以等等——先加动画表情吧”)的生动课程。 孩子爬单杠不是为了“锻炼上肢力量”,而是因为好玩。同样,开发者构建半成品工具也不是为了充实简历。我们这么做,是因为玩代码本身令人愉悦。就像孩子一样,我们离开时变得更强大。那款被抛弃的“专为猫咪打造的Twitter”教会了你WebSocket;那个“超高效”的ORM?现在你懂得了查询优化的精髓;停在75%的?你已掌握状态管理……还有谦逊。 你的GitHub是一座“几乎完成”的博物馆,这很美。你代码柜里的每一具骨架都曾教会你一些东西。Instagram最初是个签到应用,Slack曾是游戏公司的副业。你那基于区块链的宠物石项目?它教会了你智能合约,也让你明白并非每个想法都需要公之于众。 下次当内疚低语“你从来都做不完任何事”时,请笑着回应:“找错人了。”你不是失败,而是在迭代。这个世界需要那些翻越过“无用”项目之山、穿越技术债务低谷、活下来继续写代码的开发者。所以去吧:构建那个计算器,做到75%就放手。然后用所学,意外创造出真正改变世界的东西。 比完成项目更好的是什么?是一打未完成的项目,它们把你变成了编程大师。
听起来和任何大型语言模型(LLM)没什么两样,我实在读不下去。当时我正在赶稿,日程排得满满当当,每天写一篇,坚持了一年。结果却成了这样。如果你读了它,就能明白我当时想表达的核心思想。
从功能上讲,它确实完成了该做的事。但它没有体现我对这个主题的真实感受。在新版本中,我删掉了一些不像是我说的话,也调整了那些让我觉得拗口的表达。我对最终结果很满意。虽然不算惊艳,但准确传达了我对“开发者为何要造计算器”的看法。
阅读编辑后的文章(2026年5月1日)
需要完整排版与评论请前往来源站点阅读。