浪费你时间的AI开发陷阱
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
你遇到过这种情况吗?
你要求你的人工智能代理开发某些东西、修复一个错误等等。
它现在完全失败了。你浪费了大量的代币,也浪费了不少时间。尽管你不断改进提示信息,它仍然拒绝正确执行你的指令。
到底发生了什么?如何避免这种恼人的恶性循环?
让我们退一步思考:我们最初为什么要使用人工智能?
经验丰富的程序员都知道:人工智能的真正优势不在于开发速度。一位优秀的资深程序员往往能比人工智能更快地修复漏洞或开发小型功能。
人工智能的真正优势在于减轻认知负荷。
编写代码很难,至少语法必须完美无瑕。即使是简单的逻辑迭代,也需要动脑筋。而脑力是有限的——你的思考能力是固定的,休息或睡觉才能恢复。
人工智能真正带来的生产力提升来自于认知负荷的降低:因为你的大脑使用量减少了,所以你在一天的工作中可以完成更多的工作。
但这是一种微妙的平衡。你究竟应该思考多少呢?
想得太多,反而会浪费时间提升生产力;想得太少,又会陷入沉没成本谬误的恶性循环。
这事你可能也遇到过。
你反复提示,通常效果很好,但今天不知何故,你的代理人完全不知所措。
你意识到,如果当初完全不使用人工智能,早就完成了,但现在你已经陷得太深了,相信下一个提示它最终会按照你的要求去做……好吧,下一个……好吧,下一个肯定没问题……
问题在于,因为你没有投入初始认知负荷,所以你现在有点迷茫。但思考很费力,你现在不想再消耗这些认知负荷,尤其这相当于一切重头再来。毕竟已经耗费了这么多时间和代币。
所以你不断地催促,并抱有最好的希望,但情况却只会变得更糟。
遇到这种情况该怎么办?
退后一步,深呼吸。意识到问题在于你还没有在这项任务上充分调动大脑。
问问自己这些问题:
我是否完全理解我要实现的规范,或者我要解决的错误?
如果不行,那就花点时间明确一下需求或者更好地理解问题。你可以向人工智能寻求帮助,但禁止编写任何代码!
我是否有具体的实施方案?
如果还没准备好,那就花点时间好好想想你的实施方案。必要时可以使用原子 Git 提交工作流。人类在开发时应该循序渐进,人工智能也一样。
我现在应该引导学生达到的抽象层次是什么?
提示可以是高层次的(“实现此功能”),也可以是低层次的(“重构此方法,重命名此变量”)。从提高生产力的角度来看,高层次的提示更理想,但如果人工智能能够始终高效地处理高层次的任务,我们现在可能都失业了。
陷入沉没成本谬误循环通常意味着你高估了模型在这项特定任务中能够提供的提示级别。降低一到两个级别。现在,你需要手把手地引导你的AI,慢慢地找到解决方案。
我还缺少哪些信息?
想想你需要哪些信息才能进行修改,而这些信息目前你还不完全清楚。如果需要,可以使用人工智能来探索代码库或集思广益地寻找解决方案;但再次强调,目前不允许编写任何代码!
额外福利:与您的代理人合作进行TDD
测试驱动开发是一种很棒的编程方法(虽然我知道这是一个有争议的观点),但随着人工智能代理的普及,它(在我看来)已经成为一种必备技能。
你的测试用例是否能够成功复现缺陷?缺陷是否能够被很好地重现?测试用例是否定义清晰?如果答案是否定的,那就从这里开始构建你的智能体吧。借助人工智能,编写测试从未如此快捷方便。
请记住,这是发展过程中最重要也是最难的部分。在这个阶段,你的大脑必须全神贯注,一切都必须清晰明确。
您还需要在提示中非常明确地说明,目前只需编写测试代码,无需编写实际的解决方案。人工智能代理已被训练成能够编写解决方案,因此默认情况下,即使您没有要求,它也会尝试编写解决方案。
如果什么方法都行不通
关闭你的AI代理。回到白板前。重置你和代理的上下文。
你会没事的!别再把时间浪费在沉没成本谬误的循环里了。这话可能难以接受,但你做不到。稳住阵脚,一切都会好起来的。
一句古老的谚语说:“酒精是很好的仆人,但却是糟糕的主人。”——这句话对人工智能也同样适用。要做人工智能的主人,而不是它的仆人。
文章来源:https://dev.to/samuelfaure/the-ai-programming-sunk-cost-fallacy-loop-and-how-to-break-it-13d6