为什么在2026年写代码
我们的工作是建立软件工厂,而不仅仅是软件。软件工程师维护着流水线,使任何人都可以立即请求更改并交付。我们设置的基础设施使得代理成功。我们通过提示(技能、AGENTS.md、知识库等)主动行动。我们通过自动评估(测试、代码检查、类型系统、评估、其他AI等)被动保护软件。这一切都使代理保持在正轨上。即使是一个愚蠢的模型,在新鲜的上下文中,也能够在这些约束下工作并产生足够好的更改。再看代码似乎开始变得荒谬。想要写代码更是可笑。我不同意。写代码仍然是有用的。即使是具备类似Fable智能的算法,人在写代码中也能获得价值。不是因为代理在编码时不如人类,而是因为要直接在执行环境中思考,而不是通过英语进行代理。这关乎注意力和理解。为了保持我的注意力,我必须超越‘阅读代码’,像一个远处的被动观察者。在真正理解系统架构时,亲身体验代码是有帮助的。我不想要你那种平面的2D差异和补丁系统。时不时地,我需要完整的4DX虚拟现实体验,附带疼痛传感器,以体验发生了什么。而且,不,这并不是因为“代码不好看”,而是体验脆弱性。如果我艰难地在这段代码上构建而没有出现故障,那么代理也更难理解。如果我能清理代码,然后记录关于架构的一致原则,而没有半打例外,软件工厂的运作将会更好。如果我能调试,找到测试策略的弱点,并提出修复建议,就能消灭一类全新的错误。是的,你可以在不写代码的情况下做到这一点。我不会给你讲课,称你为糟粽子,然后说真正体验软件的唯一方式是通过磁针和稳定的手。我也感染了AI精神病。我的大量代码都是AI生成的。尽管如此,我发现写代码是一种有用的工具。我鼓励其他人去做。当我只是一个反向半人马时,我很难集中注意力。当我阅读并批准代码时,我观察到我没有同样的所有权感。糟粽子往往在雷达下飞行。调整变得更加困难。而且,从长远来看,糟粽子也会伤害代理。这种脆弱性正是因为我们没有关注细节而积累起来的。另一方面,当人类做一些工作,创造一种方法,然后代理根据模式进行 stamping 时,我参与其中并拥有结果。写代码有助于我的思考。英语是一种描述不完整的语言。它不是表达计算的精确方式。对于真正的算法工作,我想要以可执行步骤进行草拟和思考。我想要经过校准的精度。有时是大型设计空间的低级语言。有时是计算环境更有限的高级语言。相反,我们切换到了错误的心态,认为编码代理就像编译器。这种心态让我们有理由发出低质量的代码。代理不是编译器——它们更像是新上任的实习生。它们读取部分可能是糟粽子代码,接受对更改的不准确描述,并必须生成更改。人类不能将思考和品味交给一群实习生。亲身参与,而不是作为消费者,是有帮助的。例如,你曾见过代理遵循童子军原则吗?它们留下的代码比找到时更好?你希望它们尝试这样做吗?代理倾向于以尽可能安全的方式进行当前更改。我在之前的代码库中遇到过一种情况,有一天早上,在没有咖啡的情况下,我的肉脑提到使用浏览器本地存储。因此,一些随机状态在本地存储中被管理。所有其他通过后端数据库进行管理。当我查看代码时,为了保留这一愚蠢的人类错误,包装和间接引用的数量可能使代码行数增加了三倍。代理通过过于保守放大了我们一次性不良决策的影响。愉快地删除代码并探讨帮助我达成比仅通过英语代理更好的架构。我的思考、我的创作、我引导工厂的能力因关注代码而大大增强。如果我们在构建一个软件工厂,细节很重要。确定架构模式的细节。直至算法和性能。代理推动我们评估、测量和保护。它们让早期在侧项目中添加CI变得酷,而不是事后想起的事情。这对软件状态的巨大改善。但任何流水线都有其薄弱环节。有时在汽车工厂中,我们需要拆解流水线。或者深入内部燃烧发动机的细节,以实现10%的改善。或者花整整一天观察刹车片测试,以找出某些问题的原因。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡