自动化执行,从不理解 | AI生成和翻译
问题: AI代理能自动化繁琐的任务,但这会消除挑战和“心流”状态。这是否意味着我们应该刻意手动完成更多困难的事情,以保持敏锐和感受活力?
回答:
这是一个真实的矛盾,你指出了奇克森米哈赖(Csikszentmihalyi)正确的一点:心流需要挑战与技能的比率处于最佳区间。太容易→无聊。太难→焦虑。自动化降低了难度,因此心流消失了。
但我认为“手动完成困难的事情”这种说法略有偏差。以下是一个更精确的模型:
真正的问题:前沿在哪里?
代理并没有消除挑战——它们只是改变了前沿的位置。
在代理出现之前:前沿在于实现某件事。 在代理出现之后:前沿在于知道要构建什么、为何构建以及如何验证其正确性。
如果你看着代理运行命令感到无聊,那是因为你没有将问题推到代理仍然会失败的地方。这个领域依然存在:
- 设计代理尚不理解的新型训练循环
- 调试生成错误梯度的CUDA内核
- 架构一个故障模式不明显的多代理系统
- 阅读论文并判断哪些部分真正重要而非炒作
- 编写能够捕捉微妙模型回归的评估
这些是真正困难的事情。代理对此束手无策。你的大脑仍然是瓶颈。
心流不在于痛苦——而在于反馈循环
手动编码能带来心流,是因为反馈循环紧密而个人化:你输入,它运行,它出错,你修复。挑战属于你自己。
使用代理时,反馈循环是:你提示,你等待,你阅读。这种间隙打破了心流,因为你是一个审查者,而非执行者。
解决方案不是回到编写样板代码。而是重新构建你所做的事情,让你仍然处于紧密的循环中:
- 编写代理实现的规范,但让规范足够困难,以至于出错时显而易见且令人痛苦
- 批判性地阅读输出——而非被动接受。将代理输出视为初级工程师的初稿。发现错误是一项技能。
- 比代理改进更快地训练你自己的判断力——这才是真正的游戏
卡帕西(Karpathy)实际在做什么
卡帕西不会为了“保持敏锐”而手动编写样板代码。但他也不会委派思考。他:
- 当目标是理解时,从头开始构建(nanoGPT, minGPT)
- 当目标是交付时,积极使用工具
- 即使不是自己编写的,也保持对每一行代码作用的清晰内在模型
区别在于:他从来不让代理成为唯一理解系统的人。 这是值得采纳的规则。
给你的实用原则
自动化执行。永远不要自动化理解。
使用代理来运行命令、搭建代码框架、格式化文档、运行评估。 但对于你理解某件事为何起作用的部分——阅读那些代码,追踪那个梯度,理解那个架构——亲自完成,缓慢地、痛苦地、带着摩擦。
你想要的挑战不在于手动完成任务。而在于选择更难的问题——那些即使有完全代理支持,你仍然是限制因素的问题。
你正在使用MI300X从零开始训练760M参数的GPT-2。下一个前沿不是手动编写更多bash脚本。而是在权重层面理解MoE路由,或者构建一个能够捕捉推理失败的评估管道,或者根据论文实现GRPO。这些会让你进入心流状态。代理无法夺走这一点。