惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
MyScale Blog
MyScale Blog
Microsoft Security Blog
Microsoft Security Blog
量子位
B
Blog
aimingoo的专栏
aimingoo的专栏
Apple Machine Learning Research
Apple Machine Learning Research
阮一峰的网络日志
阮一峰的网络日志
The GitHub Blog
The GitHub Blog
T
The Exploit Database - CXSecurity.com
N
News | PayPal Newsroom
Cloudbric
Cloudbric
A
About on SuperTechFans
AI
AI
Hacker News: Ask HN
Hacker News: Ask HN
S
Schneier on Security
Recent Commits to openclaw:main
Recent Commits to openclaw:main
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LINUX DO - 最新话题
T
The Blog of Author Tim Ferriss
Simon Willison's Weblog
Simon Willison's Weblog
有赞技术团队
有赞技术团队
H
Heimdal Security Blog
J
Java Code Geeks
大猫的无限游戏
大猫的无限游戏
D
Docker
Security Archives - TechRepublic
Security Archives - TechRepublic
N
News and Events Feed by Topic
IT之家
IT之家
Know Your Adversary
Know Your Adversary
N
Netflix TechBlog - Medium
T
Tailwind CSS Blog
B
Blog RSS Feed
C
Cybersecurity and Infrastructure Security Agency CISA
C
Cisco Blogs
博客园 - 叶小钗
美团技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Hackread – Cybersecurity News, Data Breaches, AI and More
L
LangChain Blog
The Hacker News
The Hacker News
Y
Y Combinator Blog
I
Intezer
The Register - Security
The Register - Security
F
Full Disclosure
V
V2EX
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Last Week in AI
Last Week in AI
Martin Fowler
Martin Fowler

祝融说。

抱朴守缺。 肩吾 huan(幻) PinConsole Terminal Hole 共识并不平均,但是基本上均衡。 权力是共识切片的曲率。 存在不是「是什么」,而是一系列极小的,从分歧到共识再到分歧的,连续的构建过程。 分歧实际上是对共识往哪个方向延伸的拉力。 分歧是尚未落实的实在,是可能性基底中尚未被锁定的在共识中相互牵引的可用余量。 权力从来不是中立的,它是带有倾向性的「牵扯力」。 过程即完备,容错即自由。 第10章 逆向投喂:用真实数据让AI做出精准诊断 第11章 测试电网:用刚性指标代替肉眼审查 第12章 定期“垃圾回收”:别让系统背负AI制造的债务 第13章 防退化契约:确保每一次修改都是在进步 第14章 全生命周期演练:从零开始用“有效约束”交付一个项目 第15章 随身工具包:即查即用的约束指令库 第1章 这不是结对编程,这是“人机共生” 第2章 你必须警惕的三个陷阱 第3章 把话说死:用 Markdown 建立 AI 的“单源真相” 第4章 负空间设计:先规定“不准做什么”,再让它写代码 第5章 模块化解耦:让AI每次只面对一个小问题 第6章 上下文断头台:善用 `/clear` 斩断错误蔓延 第8章 角色锁定:用一句话给AI戴上“思考帽” 第9章 遥测驱动:帮AI长出“千里眼”和“顺风耳” 结语:成为系统牧马人,而不是代码搬运工 第八章 金融与科技的“禁手”:现代战争的底层收敛 第二章 认知锚点:心理战中的“强制步” 第九章 历史的单行道:那些被剥夺国运的时刻 第六章 消费主义的迷宫:在货架上剥夺选择 第七章 战略逼压:没有硝烟的“切香肠战术” 第三章 构造绝杀:逻辑闭环的艺术 第十二章 绝对零度下的生机:成为“不可测”的人 第十一章 掀翻棋盘:非对称竞争与正交化打击 第十章 识破隐形控制:第一时间嗅到危险 第四章 标准的暴政:打造“不得不”的生态 第五章 锁死阀门:关系链与供应链的囚笼 第一章 降熵法则:时空维度的隐蔽控制 结语:愿你在这个被设定的世界里,永远握有掀桌的权力。 引言:自由意志的幻觉 项羽 当前的AI工程化本质上是受限于上下文长度而采用的「以提示词约束去置换确定性」的一种妥协。 即时反应是一种不假思索,它是观念通过最简单、轻易、高效的路径寻求表达。 青衫 第九章:估值的坐标:建立“内在记分牌” 第六章:资产重估的艺术:从“硬实在”到“认知折价” 第七章:预期差交易:坍缩“概率波” 第十一章:内在博弈:克服‘评估异化’ 第十章:交易的算法:逆人性的“人之道” 第五章:空间套利:高能耗产业的跨境建构 结语:构建你的“财富多重宇宙” Code-Coder 第八章:效率革命:细分赛道的“降本增效” 第二章:评估权的博弈:商业模式的权力差序 第三章:去伪存真:穿透“符号泡沫” 第四章:能源共识:黑金的物理法则 第一章:宏观观察者:借势“国家共识” 前言:从“市场囚徒”到“清醒的观察者” Code-Ledge-X Code-Lint-X
第7章 剥夺执行权:强制 AI 像资深工程师一样“慢思考”
祝融 · 2026-05-16 · via 祝融说。

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

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

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

AI,天生就是一个“初级工程师”。它的底层机制,决定了它永远倾向于用“最快的速度”给出“概率最高的答案”,而这个答案,往往就是直接生成代码。

如果我们放任这种天性,我们就永远只能得到“初级”水平的产出。而流程约束的核心,就是要逆转这种天性。我们要做的,就是从AI手中“剥夺”它最擅长的“立即执行代码的权力”,强迫它“慢下来”,模仿一个资深工程师的思维流程,先“思考”,再“行动”。

本章,我们将学习一套标准化的“三步走”工作流。这套流程将像一个“思维脚手架”,强制AI在面对任何一个非凡琐的需求时,都必须先进行“调研”、再进行“谋局”、最后才能“落地”。通过这种方式,我们把AI的强大算力,从“低质量的快速响应”,引导到“高质量的深度思考”上来。

7.1 遇到问题直接让 AI 写代码,是最愚蠢的做法

让我们先来解剖一下,“直接写代码”这种做法,到底错在哪里。为什么这种看似最高效的方式,在处理复杂问题时,反而成了最愚蠢、最昂贵的选择?

错误一:你得到的是“模式匹配”,而非“问题解决”

当你不加引导地直接抛出一个问题,比如“如何实现一个支持插件化的系统?”,AI并不会真的去“理解”你业务中“插件化”的深层含义。它的神经网络,会在它庞大的训练数据中,光速进行模式匹配。

它会找到上千个与“插件化系统”这个关键词相关的代码片段、教程和设计模式。然后,它会选择其中最常见、出现频率最高的一种模式(比如,一个简单的“观察者模式”或“策略模式”的实现),把它“翻译”成代码,呈现给你。

这个过程,缺少了最关键的一环:问题澄清与需求分析。

  • 你所谓的“插件”,是动态加载的DLL/SO,还是仅仅是几个可配置的JavaScript对象?
  • 插件的安全性要求有多高?它们需要运行在沙箱里吗?
  • 插件之间的通信机制是怎样的?它们需要共享状态吗?
  • 主系统与插件的生命周期管理是怎样的?

这些决定了最终架构走向的、至关重要的问题,AI一个都不会问。它只会给你一个“最通用”、“最标准”的答案。而这个“标准答案”,有极大的概率,根本不适合你独特的、具体的业务场景。

结果就是,你要么得到一个过于简陋、无法满足未来扩展的“玩具”,要么得到一个过度设计、引入不必要复杂度的“航空母舰”。无论哪种,你都浪费了时间,并在一开始就走上了错误的技术道路。

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

一旦AI生成了第一版代码,你的注意力就会立刻被代码本身所吸引。你会开始思考:

  • 这个变量名起得好不好?
  • 这个循环是不是可以优化一下?
  • 这个函数的参数顺序是不是应该调整?

这种对“实现细节”的过早关注,是架构设计的大忌。它会让你失去全局视角。在你还没想清楚整个系统的“骨架”应该是什么样子的时候,你就已经开始纠结于某一块“砖头”的花纹了。

这在心理学上被称为“锚定效应”。AI给出的第一版代码,无论好坏,都会成为你后续思考的“锚点”。你会不自觉地在这个“锚”的基础上,进行修修补补(即我们反复强调的“确认偏误”),而很难再跳出来,去思考是否存在一个完全不同、但更好的顶层设计。

直接写代码,相当于AI主动为你抛下了一个“思想之锚”,将你和它自己,一同困在了某一个具体的、狭隘的实现路径上。

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

我们在第一章就确立了,人类在AI协作中的核心角色是“决策者”。而决策的价值,体现在对不同方案的权衡与取舍上。

软件工程中,几乎不存在“唯一的正确答案”。

  • 方案A,性能最好,但开发成本最高。
  • 方案B,开发最快,但安全性有隐患。
  • 方案C,是一个介于两者之间的平衡。

选择哪一个方案,不完全是一个技术问题,它更是一个结合了项目周期、团队能力、业务风险、未来规划等诸多因素的商业决策。

当你直接让AI写代码时,你实际上是把这个至关重要的“决策权”,不负责任地让渡给了AI。而AI,作为一个没有商业意识、不懂你公司战略的概率模型,它会替你做出什么选择?它只会选择那个在它的训练数据中最“平庸”、最“常见”的方案。

这是一种极其危险的权力真空。你放弃了自己最有价值的工作,却让一个最不适合做决策的“实习生”,替你决定了整个项目的命运。

结论: “快”,是AI编程中最廉价的副产品,也是最昂贵的诱惑。一个专业的AI协作者,必须建立起对这种“即时满足感”的免疫力。

我们的第一原则是:在问题没有被充分理解、方案没有被充分评估、决策没有被明确做出之前,严禁AI生成任何一行实质性的业务代码。

我们要剥夺它的“执行权”,直到我们——作为总指挥官——对整个战役的地图、目标和行军路线,都了然于胸。而要做到这一点,我们需要一个标准化的作战流程。

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

为了强制AI(以及我们自己)进行“慢思考”,我设计了一套不可逾越的“三步走”标准工作流。对于任何一个中等复杂度以上(比如,需要花费超过半天时间)的需求,都必须严格遵循这个流程。

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

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

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

核心活动:

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

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

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

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

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

核心活动:

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

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

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

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

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

核心活动:

  • 编码实现:按照任务清单的顺序,逐一地、聚焦地完成每一个小任务的编码。
  • 测试编写:为新代码编写单元测试、集成测试,确保其质量。
  • 代码审查:对AI生成的代码,进行人工审查,确保其符合架构约束和编码规范。
  • 文档更新:更新相关的项目文档(如CHANGELOG.md)。

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

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

这个“三步走”流程,就像一个强制性的“阀门”,它确保了:

  • 思考优先于行动:在没有想清楚“是什么”和“怎么走”之前,阀门是关闭的,任何代码都无法流出。
  • 人类掌握决策权:在第二步“谋局”阶段,有一个明确的、需要人类介入的“决策点”。这确保了项目的方向盘,始终握在你的手中。
  • 执行阶段的高效:因为前期准备充分,第三步“落地”阶段会变得异常顺畅。你和AI之间的沟通成本会降到最低,因为所有需要“讨论”的问题,都已经在前面解决了。

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

理论是灰色的,生命之树常青。让我们来看一下,在实战中,如何通过具体的提问,来引导AI走完这“三步走”的每一步。

以下模板,是我在实践中千锤百炼打磨出来的,你可以根据自己的需求进行调整,但其背后的“思维结构”是通用的。

阶段一:调研——像侦探一样盘问AI

目标:榨干AI作为“信息检索器”的价值,构建对问题的全面认知。

核心句式:“扮演一个XX角色”、“为我分析/拆解/列出”、“识别风险”、“不要提供任何解决方案”。

【模板 7.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".

【模板 7.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 in a bulleted list. Focus on aspects like 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.

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

目标:让AI生成多个平行方案,并强制它进行“自我辩论”,最终由你来裁决。

核心句式:“设计方案A/B/C”、“创建一个对比表格”、“根据以下标准进行评估”、“我决定选择方案X,请为我制定执行计划”。

【模板 7.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.
  1. Create a Comparison Table: Generate a markdown table that compares these three solutions across the following criteria:
  • Performance (Latency)
  • Data Freshness (How up-to-date are the recommendations?)
  • Implementation Complexity
  • Infrastructure Cost
  • Scalability
  1. Provide a Recommendation: After the table, briefly state which solution you would recommend and why, explicitly stating the trade-offs it makes.

【模板 7.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 (e.g., a article_similarity table).
  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 (e.g., calculate_similarity_matrix(), get_recommendations_for_article(article_id)).
  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. Example:
  4. DB: Add 'article_similarity' table migration.
  5. Backend: Implement the Jaccard similarity calculation logic.
  6. Backend: Create a background job (e.g., cron) to run the calculation nightly.
  7. Backend: Create the API endpoint GET /articles/:id/recommendations.
  8. Tests: Write unit tests for the similarity logic.

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

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

目标:在完全确定的轨道上,最大化AI的代码生成效率。

核心句式:“根据我们的计划,执行任务X”、“为这个函数编写代码”、“为这段代码编写测试”。

【模板 7.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的“用户”,而是它的“流程管理者”。

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

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

graph TD
    A[需求输入 - 模糊] --> B{阶段一: 调研};
    B -- "提问模板7.1 & 7.2" --> C[AI: 生成需求分析 & 技术预研报告];
    C --> D{人类审查};
    D -- "信息是否充分?" --> |否| B;
    D -- "是" --> E{阶段二: 謀局};
    E -- "提问模板7.3" --> F[AI: 生成多种方案对比];
    F --> G{人类决策};
    G -- "选择方案A/B/C" --> H["提问模板7.4"];
    H --> I[AI: 生成最终方案 & 任务清单];
    I --> J{人类最终确认};
    J -- "计划是否清晰?" --> |否| E;
    
    subgraph "思考区 (No Code Zone)"
        direction LR
        B; C; D; E; F; G; H; I; J;
    end

    J -- "是, 批准执行!" --> K{阶段三: 落地};
    
    subgraph "执行区 (Coding Zone)"
        direction LR
        K -- "提问模板7.5 (逐个任务)" --> L[AI: 生成代码 & 测试];
        L --> M{人类审查 & 集成};
        M -- "任务完成?" --> |是| N((完成));
        M -- "否" --> K;
    end

    style G fill:#f9f,stroke:#333,stroke-width:4px
    style J fill:#f9f,stroke:#333,stroke-width:4px

图解说明:

  • 思考区 vs 执行区:整个流程被一道清晰的界线,分为了“思考区”和“执行区”。在“思考区”内,绝对不允许产出任何实质性的业务代码。
  • 人类门禁(粉色高亮):图中有两个关键的、必须由人类操作的“门禁”节点:
  1. G - 人类决策:在比较了多个方案后,你必须做出选择。没有你的拍板,流程无法进入下一步。
  2. J - 人类最终确认:在AI生成了最终的执行计划后,你必须做最后一次审查和批准。这是“开工”前的最后一道安全阀。
  • 迭代循环:注意到图中的“否”箭头了吗?这代表着在每一个阶段,如果AI的产出不满足你的要求,你可以(也应该)让它返回上一步,进行迭代和修正,直到你完全满意为止。

请把这张流程图,作为你与AI协作的“作战地图”。它将时刻提醒你,在复杂的需求面前,纪律、流程和耐心,远比单纯的速度更重要。通过强制AI像一个资深工程师一样“慢思考”,你最终得到的,将是真正高质量、高效率的“快结果”。