人类与AI语境的权衡
在与 AI 合作进行编程时,我们需要权衡自己保留多少背景信息(context),以及将多少信息交给 AI 处理。这种权衡决定了我们与 AI 的协作模式,从人类完全主导的高层次对话,到将任务完全委托给 AI 的自动化模式。选择合适的协作模式,关键在于判断在特定情境下,我们是需要深入理解问题,还是可以信任 AI 来高效地完成任务。
人类与 AI 协作的四个层次
随着我们对 AI 信任度的增加,人类需要处理的背景信息会相应减少。这可以划分为四个递进的层次,从人类主导到 AI 主导。
1. 最高层次:与 ChatGPT 对话
这类似于和一位不同公司的同事讨论问题,目的是获得一个无偏见的外部视角。
- 人类投入: 人类掌握所有背景信息,并将其提炼成一个清晰、简洁的问题,就像在 Stack Overflow 上提问一样。
- AI 角色: AI 作为一个对话伙伴,通过苏格拉底式的问答帮助我们拆解问题。
- 核心价值: 这个过程强迫我们从基本原则出发,明确自己的假设,从而在解释问题的过程中找到解决方案。重点在于获得 新的视角,而非直接的代码。
这种方式就像编程“疗法”——通过清晰地阐述问题,我们往往能自己找到答案。
2. 第二层次:利用 AI 理解项目代码
在这一层,我们假定 AI 已经掌握了项目的背景信息,可以像一位熟悉项目的同事一样回答问题。
- 人类投入: 提出与项目代码直接相关的问题,例如:“在我们的项目中,如何使用共享布局来避免重复的 HTML 头部?”
- AI 角色: AI 基于项目背景提供直接、具体的答案。
- 权衡: 我们用 学习深度 换取了 便利性。这种方式能快速解决问题,但可能无法促使我们对问题进行根本性的反思。这在追求效率时是完全合理的。
3. 第三层次:让 AI 提出修改建议
我们不再满足于提问,而是让 AI 直接提出代码修改方案,由我们来决定是否采纳。
- 人类投入: 评估 AI 提出的每一处修改,并选择性地复制粘贴。
- AI 角色: AI 提出有针对性的、附带解释的修改建议。
- 适用场景: 当我们不完全信任 AI 对某个编程语言或框架的理解时,这种模式特别有用。它提供了直接的指导,同时保留了人类的最终决策权。对于非核心语言(如 Python、JavaScript 之外的语言),这是一种高效的工作流。
4. 最低层次:让 AI 直接编码
这是对 AI 信任度最高的层次,我们将具体的编码任务完全委托给 AI,就像分配任务给一位初级同事。
- 人类投入: 设定明确的任务和严格的“护栏”,防止 AI 破坏代码库。
- AI 角色: AI 扮演一个“掌握全世界编程知识但有点自信过头的编程新手”,负责完成具体的编码任务。
- 核心权衡: 这是人类 放弃最多学习机会 以换取最高效率的模式。它在核心技术领域(如 Python、HTML)非常有效,但在处理小众语言时需要谨慎。
结论:信任与情境的权衡
选择哪种协作模式,本质上是在权衡利弊。这就像经营一家公司:你需要在“亲自处理每个细节”和“信任你的 AI 同事去完成工作”之间做出选择。
- 情境决定一切: 当某个问题的背景信息对你的成长或决策至关重要时,你应该自己掌握它。
- 信任是关键: 当你确信 AI 能够胜任某项任务,或者这项任务不值得你投入过多精力时,就应该大胆地将它委托出去。
最终,高效地与 AI 协作是一项技能,它要求我们根据具体情况,明智地决定在自己大脑和 AI 模型之间如何分配“上下文”的负担。