最初发表于tamiz.pro.
AI辅助编码的允诺是诱人的:速度快,锅炉板减少,以及消除了上下文接通的疲劳.
GitHub Copilot, Cursor等工具,以及各种IDE插件在许多现代代码库中已经从新颖过渡到了需要.
然而,在我们的发展实践中正在发生微妙而危险的漂移。
我们目睹了从"写作代码"到"审查AI输出"的转变,在这样做的时候,我们正在放弃我们作为工程师最宝贵的资产:代理.
当我们停止问一个系统如何运作,开始接受机器所说的话时, 我们降低我们调试、建筑和创新的能力。
这篇文章认为,在自动化时代保持开发商代理不仅是一种哲学立场,而且是建设坚固,安全和可维护系统的关键工程要求.
能力幻想 对开发商机构的主要威胁是能力错觉.
当一个AI生成一个复杂的React组件,一个精密的regex,或者数秒的多join SQL查询时,它会产生一个认知快捷键.
人的思想,容易产生效率,往往会跳过深度的验证步骤,因为输出"看起来是正确的".
这在心理学中被称为流利的热力主义——信息处理的容易被误认为是真实的.
考虑以下设想。
您的任务是执行一个 API 端点的限速中间软件 。
与其审查现有的库或写一个简单的内存计数器,不如请你的AI助手"使用Redis创建自定义的速率限制器".
它提供了使用滑动窗口算法的片段.
代码编译.
它运行在您的地方环境中。
你把公关合并了 三个月后,负载下,你的Redis连接池排出排出。
AI生成的代码并没有优雅地处理连接出错,也没有说明网络回转引入的即时突起.
因为你没有写逻辑, 你不明白边缘的情况。
你不觉得抽象的"重量"。
这种缺乏触觉理解是工程机构基础上的第一个裂口.
代码所有权差距 在传统软件工程中,所有权来源于创建.
若作是语已自知.
你知道变量名称、控制流和隐含的假设。
在AI强化的工作流程中,这个链接被切断.
我们成为密码的守护者而不是作者。
这种区别微妙而深刻。
馆长选择;作者理解.
当我们把AI生成的代码当作黑匣子处理时,我们失去了追踪决策的分界线的能力.
为什么模型选择了缓存?
为什么用链子而不是链子?
这些选择反映了可读性、错误处理和性能方面的取舍。
通过不经审讯接受产出,我们放弃了明确作出这些取舍的责任。
我们成了技术的被动消费者,而不是我们系统的积极塑造者。
认知卸载和技能萎缩 第二个侵蚀机构的主要因素是认知卸载。
正如GPS导航降低了我们固有的空间意识一样,AI编码助理有可能降低我们的算法直觉。
这不是记忆语法,而是解决问题模式的内部化。
调试缺陷调试是软件工程的钉子.
这就是我们面对这个系统的精神模型 与它的实际行为之间的差距。
这一进程积累了深刻而持久的知识。
当AI工具用于生成错误的修正时,我们绕过这个学习回路.
我们使用补丁, 和虫消失。
但我们还不知道为什么会这样。
我们没有加强诊断肌肉。
随着时间的推移,这导致了一套脆弱的技能。
初级工程师从未手动追踪过关闭范围或优化数据库查询,但当AI失败时可能会有困难