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

推荐订阅源

Y
Y Combinator Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Apple Machine Learning Research
Apple Machine Learning Research
Blog — PlanetScale
Blog — PlanetScale
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
G
Google Developers Blog
F
Full Disclosure
大猫的无限游戏
大猫的无限游戏
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Threat Research - Cisco Blogs
A
Arctic Wolf
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The Cloudflare Blog
博客园 - 【当耐特】
AWS News Blog
AWS News Blog
U
Unit 42
V
Vulnerabilities – Threatpost
P
Privacy International News Feed
T
Tor Project blog
Microsoft Security Blog
Microsoft Security Blog
宝玉的分享
宝玉的分享
Google DeepMind News
Google DeepMind News
爱范儿
爱范儿
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Recorded Future
Recorded Future
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
Latest news
Latest news
GbyAI
GbyAI
S
SegmentFault 最新的问题
MongoDB | Blog
MongoDB | Blog
N
Netflix TechBlog - Medium
Hacker News: Ask HN
Hacker News: Ask HN
美团技术团队
N
News | PayPal Newsroom
J
Java Code Geeks
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Microsoft Azure Blog
Microsoft Azure Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
The Hacker News
The Hacker News
The GitHub Blog
The GitHub Blog
V
V2EX
N
News and Events Feed by Topic
T
Troy Hunt's Blog
Security Latest
Security Latest
博客园 - 叶小钗
P
Palo Alto Networks Blog

祝融说。

抱朴守缺。 肩吾 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像一个资深工程师一样“慢思考”,你最终得到的,将是真正高质量、高效率的“快结果”。