开发者生态
morning
通过手动重新输入 LLM 生成的代码来防止认知债务
摘要
Despite what I said in April , I'm still using coding assistants on my personal projects. Using them to one-shot entire features leaves me unsatisfied and disoriented, but I do enjoy using them to fas...
the
projects
personal
code
not
what
coding
them
and
but
2026-08-03
1 阅读
约4分钟阅读
mpweiher
字号:
尽管我在四月份说过,我仍然在我的个人项目中使用编码助手。使用它们一次性完成整个功能让我不满意并且迷失方向,但我确实喜欢使用它们来快速完成项目中无聊的部分。然而,让我的编码助手在我的项目中自由漫游给我带来了巨大的认知债务。我可能讨厌仔细研究 Django 文档来找出如何向我的网站添加标签的想法,但我仍然想从根本上了解它是如何工作的。仅仅因为一个问题很无聊并不意味着我想将我对解决方案的理解完全转移到机器上。当然,我可以审查法学硕士生成的每一行代码。这就是大多数开发者在 2026 年这个被诅咒的一年里要做的事情。机器人提高 PR,人类审查它们。这是一个勇敢的新世界。但我不喜欢审查人工智能生成的 PR。仔细研究数百行过度防御性、注释错误、微妙错误的代码并不有趣。我可能会不情愿地为雇主这样做——同时确保该雇主尽快成为前雇主——但我绝对不会为我的个人项目这样做。个人项目必须是有趣的。从事个人项目的乐趣来自于过程,而不是结果。那么男孩该做什么呢?如何将无聊的工作交给法学硕士,而不将自己的工作和认知的控制权交给机器?我想出了一个效率非常低而且可能有点滑稽的解决方案:我让我的编码助手在聊天中生成代码,然后自己手动进行所有编辑。我的个人项目中的所有代理文件中都有这些说明:我想了解该项目中的每一行代码。除非我明确要求您这样做,否则切勿创建、编辑、移动、重命名或删除项目文件。相反,请在聊天中向我显示每个建议的编辑,以便我可以手动输入。不要运行修改项目文件、安装依赖项或更改存储库状态的命令,除非我明确请求该操作。相反,请在聊天中向我显示这些命令,以便我可以手动运行它们。我是一位经验丰富的开发人员。除非明确要求,否则请勿解释语法、API、编程概念或实现细节。以这种方式使用法学硕士可以让我比根本不使用法学硕士工作得更快,但我仍然比那些愿意让机器为他们思考的人慢。我可能只快了 2 倍,而不是快了 10 倍。但是我在速度方面失去了一些东西,但我却获得了对代码更深入的理解。当我在编辑器中手动输入 LLM 生成的代码的每一行时,我建立了一个关于它如何工作并适合我现有代码库的心理模型。如果我不明白某个 API 或算法,我可以停下来查一下,或者直接请 LLM 来解释。自己输入代码迫使我放慢速度,这意味着我更有可能发现法学硕士可能做出的幻觉或错误的设计选择。我可以随时清理代码、重新组织、重构、添加注释,并根据自己的喜好进行调整。最重要的是,这个工作流程允许我构建代码库的空间地图。我知道代码库中的每一个功能都位于何处。当我需要做出改变时,我清楚地知道需要在哪里进行改变。它不仅帮助我在项目中更快地工作,还使我更容易在未来更好地提示和指导法学硕士。当我十几岁的时候学习编码时,经验丰富的程序员经常告诉我永远不要将代码复制并粘贴到我的项目中。如果我从书本上学习,我会被建议将所有示例复制到我的计算机中并确保我可以运行它们。如果我从博客文章或论坛答案中学习,建议我将其打印出来并根据我的代码库进行调整,以便我完全理解它。将 LLM 生成的手动输入到我的代码库中感觉就像完全相同的学习过程。这可能不是与法学硕士一起工作的最有效方式,但我更看重理解力而不是生产力。我这样做已经几个月了,而且对我来说效果很好。我计划尽可能长时间地继续使用此工作流程。我担心软件行业正在承担大量的认知债务,我们很快就必须偿还。总有一天,我们将不再了解我们的数字基础设施有多大部分组合在一起。我个人可能无法改变整个行业的进程,但我至少可以确保我完全理解我向世界推出的软件。任何其他行为都是职业渎职。
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱