跳到正文

免费公开课程 · 19/40

第 19 章 剥夺执行权:强制 AI 像资深工程师一样"慢思考"

本章目标

必交产物:执行权门禁单

  1. O1 · 能够定义“只读分析”进入“实施授权”所需的判断条件(产物:执行权门禁单)

    证据:执行权门禁单写明从“只读分析”到“实施授权”的进入条件

  2. O2 · 能够构造执行权门禁单,写明分支、否决项和责任人(产物:执行权门禁单)

    证据:执行权门禁单至少包含一个继续分支、一个停止分支和各自责任人

  3. O3 · 能够区分只读分析与获准实施并在行动前检查授权(产物:执行权门禁单)

    证据:产物记录一个请求的当前权限、允许动作、禁止动作和升级对象

前置学习:第 18 章 角色锁定:一句话给 AI 戴上"思考帽"

初学者路径

本章迁移任务是:能够区分只读分析与获准实施并在行动前检查授权。先按图中的“条件门禁”关系完成执行权门禁单的第一项证据,再逐项核对责任人与判断标准。

有经验者路径

先用当前项目完成这一任务:能够区分只读分析与获准实施并在行动前检查授权。提交执行权门禁单后,再对照正文复核关系类型、缺失证据和授权边界。

第 19 章执行权门禁单教学图
沿条件分支阅读执行权门禁单,在门禁处作出可追溯的停止或继续决定。
图解文字说明

图以“只读分析”为输入,经“实施授权”的条件分支到达“验收再行动”所控制的门禁。两条路径最终必须落在停止或继续之一;缺证据和红线失败不能被其他表现抵消。

关系语义:输入经过条件分支汇入明确门禁;停止与继续是互斥结果,红线不能被其他得分补偿。

**公开课程改编版。**正文依据内部教材整理,保留概念、流程与示范。案例规模、用时、提升比例及目标阈值均用于教学,不是本站交付成果或通用标准。工具、平台与技能描述需在实际环境核验。提示词不能授予权限;重试次数不自动触发恢复;恢复须先保护工作并确认目标、共享状态和外部数据影响。

课程讲解

19.1 先降低不确定性,再实施

我们天生对速度有着无法抗拒的迷恋。当 AI 能在三秒内为一个复杂问题瞬间生成三百行代码时,那种”即时满足感”是极其强烈的——一种类似多巴胺驱动的奖赏反应,我们会惊叹于它的神速,我们会觉得自己拥有了全世界最强大的生产力工具。

这种对速度的沉迷,正是 AI 编程中最危险、也最具欺骗性的陷阱。

一个初级工程师,拿到需求后的第一反应是”马上动手写代码”。而一个资深的工程师或架构师,拿到同一个需求后,他的第一反应是”等一下,让我先想一想”。他会花上数小时甚至数天,去调研、画图、比较方案、评估风险。他知道,在键盘上敲下第一个字符之前,战争的胜负多半已经在他脑中的沙盘推演里决定了。

AI 不是承担责任的工程师,也天然没有业务或生产决策权。根据指令和工具配置,它可能在关键需求尚未解决时就给出代码。流程约束的作用,是把分析、决定和获授权执行分开:先补证据,再行动,而不是给模型套上人类职级标签。

让我们先解剖”直接写代码”这种做法,到底错在哪里:

错误一:你得到的是未经澄清的候选方案,而非已验证的问题解决。

当你不加引导地直接抛出一个问题(如”如何实现一个支持插件化的系统?”),模型只能依据给定上下文生成候选答案,不能自行访问你尚未提供的业务含义。它可能复用常见代码形态、教程或设计模式,但具体生成机制和所选方案不能从输出表面反推出。

这个过程可能缺少问题澄清与需求分析。你所谓的”插件”是动态加载的 DLL/SO,还是几个可配置的 JavaScript 对象?安全要求多高?插件如何通信?若这些问题没有在提示、工具流程或人工对话中得到回答,候选方案就没有足够证据说明适合当前业务。

错误二:过早陷入”实现细节”的泥潭。

一旦 AI 生成了第一版代码,你的注意力就会立刻被代码本身所吸引——这个变量名起得好不好?这个循环能不能优化?这种对”实现细节”的过早关注是架构设计的大忌:在你还没想清楚整个系统的”骨架”应该是什么样子的时候,你就已经开始纠结于某一块”砖头”的花纹了。

这在心理学上与”锚定效应”(Anchoring Effect)相关:AI 给出的第一版代码,无论好坏,都会成为你后续思考的”锚点”。你会不自觉地在”锚”的基础上修修补补(即确认偏误),而很难跳出来思考是否存在一个完全不同但更好的顶层设计。直接写代码,相当于 AI 主动为你抛下了一个”思想之锚”,将你和它一起困在了某一条狭隘的实现路径上。

错误三:放弃了你作为”决策者”的最高权力。

我们在第二部分确立了:人类在 AI 协作中的核心角色是”决策者”。而决策的价值,体现在对不同方案的权衡与取舍上。软件工程中几乎不存在”唯一的正确答案”——方案 A 性能最好但开发成本最高,方案 B 开发最快但有安全隐患,方案 C 是平衡。选择哪一个,是一个结合了项目周期、团队能力、业务风险、未来规划的商业决策。

当你直接让 AI 写代码时,你实际上把这个至关重要的”决策权”不负责任地让渡给了 AI。而 AI 作为一个没有商业意识、不懂你公司战略的概率模型,只会选择训练数据中最”平庸”、最”常见”的方案。这是一种极其危险的权力真空:你放弃了自己最有价值的工作,却让一个最不适合做决策的”实习生”替你决定了整个项目的命运。

结论:“快”,是 AI 编程中最廉价的副产品,也是最昂贵的诱惑。我们的第一原则是:

对高风险、陌生领域或需要新架构的任务,在问题没有被充分理解、方案没有被充分评估、决策没有被明确做出之前,严禁 AI 生成任何一行实质性的业务代码。

在高风险、未知或需要新架构的任务里,我们要剥夺它的”执行权”,直到我们——作为总指挥官——对整个战役的地图、目标和行军路线都了然于胸。

19.2 “三步走”标准流:调研 → 谋局 → 落地

为了强制 AI(以及我们自己)进行”慢思考”,我们设计了一套用于高风险任务的”三步走”标准工作流。对于中等复杂度以上、陌生领域或需要新架构的需求,都应先按下表判定;一旦风险或未知因素不能被既有门禁覆盖,就必须严格遵循这个流程。

这个流程本质上是对一个资深工程师大脑中隐性的”问题解决模型”的显性化和流程化。

示例类型:参考。 参考片段,不保证可独立执行。请按本章上下文、项目版本和真实接口改写,并以实际运行结果验收。

第一步:调研(Research)    我们面对的是什么?
    ↓
第二步:谋局(Strategizing) 我们该怎么走?
    ↓
第三步:落地(Implementation)开始动手吧!

第一步:调研(Research)——我们面对的是什么?

目标:收集信息、澄清需求、识别约束。禁止讨论任何具体的实现方案。我们要像一个侦探一样勘察案发现场,而不是过早断定凶手是谁。

核心活动:

  • 需求分解:将一个模糊的”大需求”拆解成一系列更小的、更具体的功能点;
  • 边界定义:明确这个需求的”成功标准”是什么?范围边界在哪里?哪些是”必须做的”(Must-have),哪些是”可以做的”(Nice-to-have)?
  • 技术预研:是否存在相关的第三方库或现有技术可以利用?各自的优缺点是什么?是否存在已知的”坑”或最佳实践?
  • 风险识别:实现这个需求可能会对现有系统的哪些部分产生影响?存在哪些已知的技术风险、性能风险或安全风险?

产出物:一份简短的、结构化的”需求分析与风险评估”文档。

AI 的角色:在这个阶段,AI 不是”程序员”,而是你的”超级研究助理”——它极其擅长快速检索信息、总结文档、对比技术。

第二步:谋局(Strategizing)——我们该怎么走?

目标:基于第一阶段收集的信息,开始设计和比较多种可能的解决方案。注意,是”多种”,而不是”一种”。我们的目标是产出选项,并进行权衡。

核心活动:

  • 方案设计:针对核心的技术挑战,提出至少两种(最好是三种)不同的架构或设计方案;
  • 方案对比:从多个维度(开发成本、性能、可维护性、安全性、扩展性)对这些方案进行客观比较;
  • 决策制定:基于方案对比的结果,由人类做出最终的、明确的技术选型和架构决策;
  • 任务拆解:将选定的最终方案进一步拆解成一个清晰的、可执行的、有先后顺序的”开发任务清单”。

产出物:一份包含”方案对比表”和最终”技术方案与任务清单”的文档。

AI 的角色:在这个阶段,AI 是你的”架构设计顾问”。它擅长根据约束生成不同风格的方案并填充对比表格的细节。但最终的决策,必须由你来做。

第三步:落地(Implementation)——开始动手吧!

目标:只有在第二阶段的”技术方案”和”任务清单”被最终确认后,才进入这个阶段。此阶段的目标是高效、精确地将设计转化为代码。

核心活动:按照任务清单的顺序逐一完成编码;为新代码编写测试;对 AI 生成的代码进行人工审查;更新相关项目文档。

产出物:可工作的、经过测试的、符合规范的代码。

AI 的角色:在这个阶段,AI 才终于可以扮演它最被熟知的角色——“高速代码生成器”。因为所有的”思考”和”决策”工作都已在前面完成,此时的 AI 是在一个极其确定的、无歧义的”轨道”上行进,它的速度优势才能被安全、高效地发挥出来。

这个”三步走”流程就像一个强制性的”阀门”:思考优先于行动(没有想清楚”是什么”和”怎么走”之前,阀门是关闭的,任何代码都无法流出);人类掌握决策权(在”谋局”阶段有明确的、需要人类介入的”决策点”);执行阶段高效(所有需要”讨论”的问题都已在前面解决)。

19.3 适用边界:三步走 vs 全自动模式

“先调研、再谋局、后落地”并不与 Workflow/Job 的全自动模式矛盾。前者是面对风险与未知时的防御性流程,后者是已经把路径和约束固化后的授权;两者是风险分级,不是谁取代谁。先用下表选择模式,再在所选模式内执行。

判定条件采用模式为什么可以这样做不满足或出现例外时
高风险、陌生领域,或需要新架构三步走:调研 → 谋局 → 落地先澄清问题、比较方案,并由人作出业务与架构决策,避免把未知直接变成代码停在调研或谋局,补齐信息、方案与人工决策;不得以自动化跳过这些步骤
蓝图成熟、技术路径已验证、风险低,且测试电网完备:第 25 章的覆盖率 CI 门禁、完整回归测试与关键验收均可运行Workflow/Job 全自动自动化可在明确蓝图和可验证的护栏内高效完成重复性执行,并用门禁持续证明没有退化任一门禁失败、回归不全、结果未知,或发现新风险时,立即降级为三步走;无法界定风险时停止并请人判断

全自动只获得执行已明确蓝图的权限,不获得业务决策权,也不获得生产环境的授权。无论采用哪种模式,业务取舍、生产发布与例外批准仍由人负责;测试失败、信息未知或门禁不能证明安全时,系统应降级或停止,而不是把”全自动”当作继续推进的理由。

19.4 每一步怎么问、问什么(附提问模板)

理论是灰色的,生命之树常青。让我们看一下在实战中,如何通过具体的提问来引导 AI 走完这”三步走”的每一步。以下模板经实践打磨,你可以根据需求调整,但其背后的”思维结构”是通用的。

阶段一:调研(Research)——像侦探一样盘问 AI。

目标:榨干 AI 作为”信息检索器”的价值,构建对问题的全面认知。核心句式:“扮演一个 XX 角色""为我分析/拆解/列出""识别风险""不要提供任何解决方案”。

【模板 19.1:需求澄清与分解】

你的提问: Context: We have received a new feature request from our product manager. The original request is: “我想要一个’智能推荐’功能,根据用户的浏览历史,向他们推荐相关的文章。”

Your Role: Act as a Senior Business Analyst. Your task is to break down this high-level, ambiguous requirement into a list of specific, answerable questions that we need to clarify before any technical work can begin.

Task:

  1. Deconstruct the Requirement: Break the core request into smaller, functional components.
  2. Identify Ambiguities: For each component, list the key questions we need to ask the product manager to define the scope and success criteria. Examples: What defines “recent” history? What does “related” mean? How many recommendations to show?
  3. Define Boundaries: List what is explicitly out of scope for this feature’s first version.

Constraint: Do not, under any circumstances, suggest any technical implementation or solution at this stage. Your entire focus is on clarifying the “What”, not the “How”.

【模板 19.2:技术选型预研】

你的提问: Context: For our “Article Recommendation” feature, we need to choose a method to calculate the “relatedness” between articles. Let’s assume articles have tags.

Your Role: Act as a Research Engineer. Your task is to conduct a preliminary investigation into common techniques for this problem.

Task:

  1. Identify Techniques: List at least three common algorithms or techniques for calculating similarity based on tags (e.g., Jaccard Similarity, TF-IDF with Cosine Similarity, etc.).
  2. Summarize Pros and Cons: For each technique, provide a brief 2-3 sentence summary of its core idea, and list its main advantages and disadvantages. Focus on computational complexity, ease of implementation, and quality of results.
  3. Find Libraries: For each technique, identify one popular and well-maintained library in [你的技术栈,比如:Python] that implements it.

Constraint: Do not recommend a “best” option. Your goal is to provide an objective, neutral summary of the available options for my review.

阶段二:谋局(Strategizing)——像将军一样沙盘推演。

目标:让 AI 生成多个平行方案,并强制它进行”自我辩论”,最终由你来裁决。核心句式:“设计方案 A/B/C""创建一个对比表格""根据以下标准进行评估""我决定选择方案 X,请为我制定执行计划”。

【模板 19.3:多方案设计与对比】

你的提问: Context: Based on our research, we have the necessary information to design the architecture for the “Article Recommendation” feature. Our core constraints are: the calculation must be fast (under 50ms), and it must run on our existing [Python/Flask] backend.

Your Role: Act as a Solutions Architect. Your task is to propose and compare three distinct architectural approaches.

Task:

  1. Propose Three Solutions:
    • Solution A (Simple & Fast): An approach based on pre-calculating and caching similarity scores. Describe how and when this pre-calculation would happen.
    • Solution B (Real-time & Flexible): An approach that calculates similarity on-the-fly with every request. Describe how to optimize this.
    • Solution C (Hybrid): A combination of the two, e.g., using a faster, simpler algorithm for real-time and a more complex one for offline batch processing.
  2. Create a Comparison Table: Generate a markdown table that compares these three solutions across: Performance (Latency), Data Freshness, Implementation Complexity, Infrastructure Cost, Scalability.
  3. Provide a Recommendation: After the table, briefly state which solution you would recommend and why, explicitly stating the trade-offs it makes.

【模板 19.4:决策确认与任务拆解】

你的提问: Context: I have reviewed the options. My Decision: We will proceed with Solution A (Pre-calculation). The trade-off of slightly less fresh data is acceptable for the gain in performance and simplicity.

Your Role: Act as a Tech Lead. Your task is to take this architectural decision and break it down into a concrete, step-by-step implementation plan.

Task:

  1. Define Data Models: Specify any new database tables or data structures needed.
  2. Outline Key Modules/Functions: List the main new functions or classes we will need to create. For each, give it a clear name and a one-sentence description of its responsibility.
  3. Create a Sequential Task List: Generate a numbered list of development tasks in the logical order they should be completed. This should be a checklist an engineer can follow.

Constraint: All tasks should be small enough to be completed in a single coding session.

阶段三:落地(Implementation)——像工匠一样精雕细琢。

目标:在完全确定的轨道上,最大化 AI 的代码生成效率。核心句式:“根据我们的计划,执行任务 X""为这个函数编写代码""为这段代码编写测试”。

【模板 19.5:聚焦式编码指令】

你的提问: Context: We are now implementing the plan. Our current task is: “Backend: Implement the Jaccard similarity calculation logic.”

Your Role: Act as a Senior Pair Programmer. Task: Write the Python function calculate_jaccard_similarity(tags1: set, tags2: set) -> float.

Constraints:

  • The function must be pure, with no side effects.
  • It must handle cases where one or both sets are empty (return 0.0).
  • Include a clear docstring explaining the formula.

After you provide the function, immediately provide a second code block with three unit test cases for it using the unittest framework.

通过这套模板,你将原本一次性的、模糊的”给我代码”,变成了一场结构化的、由你主导的、层层递进的”深度工作坊”。你不再是 AI 的”用户”,而是它的”流程管理者”。

【流程图解】复杂需求的强制流转路径

为了让你对这个流程有更直观的理解,下面是流程全图,清晰展示信息和决策如何在三个阶段之间流转,以及人类决策者在其中的关键”门禁”作用。

示例类型:参考。 参考片段,不保证可独立执行。请按本章上下文、项目版本和真实接口改写,并以实际运行结果验收。

                          ┌──────────────────────────────────────────────┐
                          │             思考区(NO CODE ZONE)             │
 需求输入(模糊)          │                                              │
    │                     ▼                                              │
    ├───► 【阶段一:调研】──► AI 生成需求分析与技术预研                     │
    │         ▲                (模板 19.1 & 19.2)                        │
    │         │                    │                                      │
    │         └────── 人类审查:信息是否充分?──否(继续调研)/ 是(继续)    │
    │                                                    │               │
    │                                                    ▼               │
    │                              【阶段二:谋局】──► AI 生成多种方案对比    │
    │                                    ▲             (模板 19.3)        │
    │                                    │                │               │
    │                                    └── 人类决策:选择方案 A/B/C       │
    │                                                        │            │
    │                                                        ▼            │
    │                                        【模板 19.4】AI 生成最终方案    │
    │                                          与任务清单                    │
    │                                                        │            │
    │                                                        ▼            │
    │                                         人类最终确认:计划是否清晰?    │
    │                                          是 ── 批准执行!             │
    └───────────────────────────────────────┬──────────────────────────────┘
                                             ▼
                              ┌──────────────────────────────┐
                              │          执行区(CODING ZONE)  │
                              │                               │
                              │  【阶段三:落地】──► AI 生成代码   │
                              │   (模板 19.5,逐个任务)& 测试    │
                              │        │                       │
                              │        ▼                       │
                              │   人类审查 & 集成验证             │
                              │   否 ── 回到落地   │  是 ──► 完成 │
                              └──────────────────────────────┘

图解说明:

  • 思考区 vs 执行区:当上文的适用边界将任务判为三步走时,整个流程被一道清晰的界线分为”思考区”和”执行区”。在思考区内,绝对不允许产出任何实质性的业务代码;在执行区内,AI 才被允许生成代码。人类在两个关键节点——方案选择(粉色菱形)和计划确认(粉色菱形)——行使”门禁”职责。这道界线,就是”剥夺执行权”的物理呈现。

【实操】用”三步走”处理一个典型需求

题目:请用”调研 → 谋局 → 落地”处理下面这个需求:产品经理说”我们希望给 App 增加一个’附近的人’功能,让用户可以看到附近的商家。”

引导:

  1. 调研阶段:不要提任何方案!让 AI 扮演业务分析师,列出需要向产品经理澄清的问题(“附近”的定义?范围多大?是否需要实时定位?涉及哪些隐私合规?)
  2. 谋局阶段:让 AI 扮演解决方案架构师,提出至少 3 种技术方案(如:基于地理坐标的精确计算 / 基于 GeoHash 的网格方案 / 基于第三方地图 SDK),并给出对比表。
  3. 决策:由你(人类)选择方案——注意权衡开发成本、精度、扩展性。
  4. 落地阶段:让 AI 扮演 Tech Lead,把决策拆成任务清单,然后逐个执行。

验收要点:学员是否在调研阶段保持了”不提方案”?是否让 AI 提出了多个方案而非一个?决策是否由人做出而非 AI?落地前是否有明确的任务清单?


暂停整理:先完成本章最小闭环

先只写出“只读分析”与“实施授权”之间的一条关系,并把它填进执行权门禁单。确认这一步有输入、判断和证据后,再加入“验收再行动”;三项尚未连通时,不进入独立练习。

独立练习

使用虚构或已获授权的脱敏材料,先独立作答,再查看参考。将产物保存为 chapter-19.md,写上版本、决定、证据和缺项。

为未知平台错误设计三阶段任务:只读收集、可评审计划、获授权实施。为每阶段写退出条件和禁止动作。

本章必交产物:执行权门禁单

以下证据必须出现在本次独立练习的提交物中;正文原有问题用于提供内容,不能替代这些验收项。

  • O1: 执行权门禁单写明从“只读分析”到“实施授权”的进入条件
  • O2: 执行权门禁单至少包含一个继续分支、一个停止分支和各自责任人
  • O3: 产物记录一个请求的当前权限、允许动作、禁止动作和升级对象
查看参考反馈(先独立作答)

参考反馈

研究交付复现和候选原因,不能编辑或泄露原始日志;计划写最小改动、检查和恢复;实施需范围已明确并有授权。阶段分离适合不确定或高风险任务,简单可逆改动不必仪式化;研究完毕也不自动获得生产权限。

自评与下一步

对照本章目标检查:决定是否明确,依据是否能复现,未知项是否如实记录。参考给出一种判断方式,不是唯一答案;若不同结论能提供同等证据,可请同伴复核。缺少证据的部分记未完成,再回到对应步骤补充。

来源与边界

登记来源只支持本章涉及的外部事实;执行权门禁单、示例数字和练习情境属于课程内部教学设计,必须在实际项目中重新验证。

  • Transformers 文本生成策略

    Hugging Face · 2026-09-17 · 贪心、采样和束搜索使用不同的下一 token 选择策略,解码选择会影响输出。

  • Git 官方参考

    Git project · 2026-09-17 · 版本、分支、提交与恢复操作须按实际仓库状态验证。

记录本章练习

仅保存本浏览器的自检记录,不上传作业,不代表评阅通过或认证。请在自己的章节文件中保留证据与缺项。

进阶培训即将上线,当前暂不提供 →