5.21 思考深度配置
💡 一句话总结:控制 AI 的思考模式,在速度和质量之间找到最佳平衡。
学完你能做什么
- 理解思考深度的不同模式
- 根据任务选择合适的思考深度
- 平衡响应速度和输出质量
- 优化 AI 的使用效率
你现在的困境
- 有时候 AI 响应太快,思考不深入
- 有时候 AI 响应太慢,浪费了时间
- 不知道该什么时候要求 AI 多思考
- 任务简单和复杂都用同一个模式
什么时候用这一招
- 当你需要:针对不同任务调整 AI 的思考方式
- 而且不想:一刀切导致效率低下
🎒 开始前的准备
确保你已经完成以下事项:
- [ ] 完成了 5.1a 配置基础
- [ ] 了解 AI 的工作原理基础
核心思路
什么是思考深度
思考深度 是指 AI 在处理任务时的思考细致程度。
浅层思考
↓ 快速响应
↓ 直接输出
深层思考
↓ 内部推演
↓ 多角度验证
↓ 高质量输出深度与速度的权衡
| 深度 | 响应时间 | Token 消耗 | 质量 | 适用场景 |
|---|---|---|---|---|
| 浅 | 快 | 少 | 一般 | 简单任务 |
| 中 | 中 | 中 | 较好 | 常规任务 |
| 深 | 慢 | 多 | 很高 | 复杂任务 |
| 最深 | 很慢 | 很多 | 极高 | 关键决策 |
思考模式
1. 快速模式 (Fast)
特点:
- 最小化内部思考
- 直接给出答案
- 适合简单明确的问题
适用场景:
- ✅ 语法检查
- ✅ 简单的代码补全
- ✅ 格式化代码
- ✅ 查找错误行号
- ❌ 架构设计
- ❌ 复杂重构
- ❌ 性能优化
示例:
yaml
# 用户请求
"这行代码有什么语法错误?"
# 快速模式处理
步骤 1: 快速扫描语法 → 发现错误
步骤 2: 直接输出错误信息 → 完成
耗时: 1-2 秒
Token: ~1002. 标准模式 (Standard)
特点:
- 基本的思考过程
- 一次验证
- 适合大多数日常任务
适用场景:
- ✅ 编写函数
- ✅ 修复 Bug
- ✅ 添加功能
- ✅ 代码审查
- ❌ 大型重构
- ❌ 性能调优
示例:
yaml
# 用户请求
"帮我实现一个用户登录功能"
# 标准模式处理
步骤 1: 理解需求 → 需要密码验证
步骤 2: 设计方案 → JWT 方案
步骤 3: 实现代码 → 编写登录接口
步骤 4: 简单检查 → 看起来没问题
步骤 5: 输出结果 → 完成
耗时: 5-10 秒
Token: ~5003. 深度模式 (Deep)
特点:
- 多次推演和验证
- 考虑边界情况
- 适合复杂任务
适用场景:
- ✅ 系统架构设计
- ✅ 复杂算法实现
- ✅ 安全性审查
- ✅ 性能优化
- ❌ 简单格式化
- ❌ 常规 bug 修复
示例:
yaml
# 用户请求
"设计一个高并发的订单系统"
# 深度模式处理
步骤 1: 理解需求 → 分析并发场景
步骤 2: 方案设计 → 考虑 3 种架构
步骤 3: 推演方案 A → 优点/缺点
步骤 4: 推演方案 B → 优点/缺点
步骤 5: 推演方案 C → 优点/缺点
步骤 6: 综合对比 → 选择方案 B
步骤 7: 边界情况 → 考虑超时、重试、幂等
步骤 8: 安全性 → 防重放、数据一致性
步骤 9: 实现细节 → 事务隔离级别
步骤 10: 输出结果 → 完成
耗时: 30-60 秒
Token: ~20004. 最深模式 (Ultra Deep)
特点:
- 全面深入思考
- 多轮自我反思
- 考虑所有可能性
- 适合关键决策
适用场景:
- ✅ 核心架构决策
- ✅ 安全漏洞修复
- ✅ 性能瓶颈优化
- ✅ 技术选型
- ❌ 日常开发
示例:
yaml
# 用户请求
"这个系统的性能瓶颈在哪里?如何优化?"
# 最深模式处理
阶段 1: 问题诊断
- 分析请求链路 → 数据库查询最慢
- 检查查询计划 → 全表扫描
- 分析索引 → 缺少复合索引
- 检查数据量 → 1000 万行
阶段 2: 方案设计
- 方案 A: 添加索引 → 评估影响
- 方案 B: 分库分表 → 评估复杂度
- 方案 C: 引入缓存 → 评估一致性
- 方案 D: 优化查询 → 评估效果
阶段 3: 深入推演
- 方案 A 推演 → 写入性能下降?
- 方案 B 推演 → 事务如何处理?
- 方案 C 推演 → 缓存失效策略?
- 方案 D 推演 → 可读性影响?
阶段 4: 风险评估
- 方案 A 风险 → 磁盘空间
- 方案 B 风险 → 迁移成本
- 方案 C 风险 → 数据一致性
- 方案 D 风险 → 维护成本
阶段 5: 综合决策
- 评估成本/收益 → 选择最优组合
- 制定实施计划 → 分阶段优化
阶段 6: 输出结果
耗时: 2-5 分钟
Token: ~5000配置思考深度
全局配置
在 AGENTS.md 中:
yaml
thinking_depth:
default: "standard" # 默认模式
# 模式定义
modes:
fast:
enabled: true
tokens_limit: 200
max_thinking_rounds: 1
standard:
enabled: true
tokens_limit: 1000
max_thinking_rounds: 3
deep:
enabled: true
tokens_limit: 3000
max_thinking_rounds: 5
ultra:
enabled: true
tokens_limit: 8000
max_thinking_rounds: 10任务类型映射
自动为不同任务选择深度:
yaml
thinking_depth:
task_mapping:
# 快速任务
quick:
depth: "fast"
patterns:
- "格式化"
- "检查语法"
- "查找错误"
- "补全"
# 标准任务
standard:
depth: "standard"
patterns:
- "实现"
- "修复"
- "添加"
- "重构.*函数"
# 深度任务
deep:
depth: "deep"
patterns:
- "设计.*系统"
- "优化.*性能"
- "实现.*算法"
- "架构"
# 最深任务
ultra:
depth: "ultra"
patterns:
- "核心架构"
- "技术选型"
- "安全.*漏洞"
- "性能瓶颈"手动指定
在提示词中指定深度:
yaml
# 方式 1: 直接指定
"使用深层思考模式,设计一个分布式缓存系统"
# 方式 2: 使用标签
"[think:deep] 这个代码的性能问题在哪里?"
# 方式 3: 使用快捷词
"深入思考一下:如何优化这个查询?"跟我做
实战 1:配置任务类型自动映射
目标:让系统自动为不同任务选择合适的思考深度
- 在
AGENTS.md中添加配置:
yaml
thinking_depth:
default: "standard"
task_mapping:
fast:
depth: "fast"
patterns:
- "格式化"
- "检查"
- "查找"
- "补全"
- "lint"
standard:
depth: "standard"
patterns:
- "创建"
- "实现"
- "添加"
- "修复"
- "更新"
deep:
depth: "deep"
patterns:
- "设计"
- "优化"
- "重构"
- "架构"
ultra:
depth: "ultra"
patterns:
- "技术选型"
- "安全"
- "性能瓶颈"
- "核心架构"- 测试不同任务:
bash
# 快速模式任务
"检查这个文件有没有语法错误"
# 标准模式任务
"创建一个用户注册的 API"
# 深度模式任务
"设计一个高并发的消息队列系统"
# 最深模式任务
"这个系统的性能瓶颈在哪里?"你应该看到:不同任务的响应时间和输出质量有差异
实战 2:手动指定思考深度
目标:在需要时手动调整思考深度
- 测试同一任务的不同深度:
bash
# 快速模式
"快速帮我修复这个 bug"
# 标准模式
"帮我修复这个 bug"
# 深度模式
"深入思考,帮我修复这个 bug"
# 最深模式
"请用最深度的思考模式,彻底分析并修复这个 bug"- 观察输出质量差异:
| 模式 | 响应时间 | Token | 输出质量 |
|---|---|---|---|
| 快 | 2s | 100 | 只修复表面问题 |
| 标准 | 8s | 500 | 修复 + 简单解释 |
| 深 | 45s | 2000 | 修复 + 深入分析 + 边界情况 |
| 最深 | 3m | 5000 | 修复 + 全面分析 + 多种方案 + 风险评估 |
你应该学到:如何根据任务重要性选择合适的深度
实战 3:为特定 Agent 设置默认深度
目标:不同的 Agent 有不同的默认思考深度
- 在
AGENTS.md中配置:
yaml
agents:
quick_fixer:
thinking_depth: "fast"
description: "快速修复简单问题"
code_reviewer:
thinking_depth: "deep"
description: "深入审查代码质量"
architect:
thinking_depth: "ultra"
description: "设计系统架构"
developer:
thinking_depth: "standard"
description: "常规开发任务"- 使用不同的 Agent:
bash
# 使用快速修复 Agent
"帮我格式化这段代码" # 自动使用 fast 模式
# 使用代码审查 Agent
"审查这个模块的代码" # 自动使用 deep 模式
# 使用架构师 Agent
"设计这个系统的架构" # 自动使用 ultra 模式你应该看到:不同 Agent 的默认思考深度不同
📋 思考深度对照表
任务类型推荐深度
| 任务类型 | 推荐深度 | 理由 |
|---|---|---|
| 格式化代码 | Fast | 机械化操作,无需思考 |
| 语法检查 | Fast | 直接匹配语法规则 |
| 查找错误行 | Fast | 简单搜索 |
| 编写简单函数 | Standard | 一次验证足够 |
| 修复常见 Bug | Standard | 标准解决方案 |
| 添加小功能 | Standard | 常规开发任务 |
| 代码审查 | Deep | 需要多角度分析 |
| 性能优化 | Deep | 需要深入理解 |
| 架构设计 | Ultra | 影响全局决策 |
| 安全审查 | Ultra | 需要全面考虑 |
| 技术选型 | Ultra | 长期影响 |
模式切换时机
| 当前深度 | 什么时候加深 | 什么时候变浅 |
|---|---|---|
| Fast | 问题复杂 | 任务很简单 |
| Standard | 多次失败 | 任务明确 |
| Deep | 关键决策 | 耗时太长 |
| Ultra | 没必要这么深 | 已经想清楚了 |
检查点 ✅
全部通过才能继续
- [ ] 理解了四种思考模式的区别
- [ ] 配置了任务类型自动映射
- [ ] 学会了手动指定思考深度
- [ ] 能根据任务选择合适的深度
踩坑提醒
| 现象 | 原因 | 解决 |
|---|---|---|
| 简单任务响应太慢 | 默认深度太深 | 调低默认深度 |
| 复杂任务质量不高 | 深度不够 | 手动指定更深模式 |
| 耗时过长 | 误用了最深模式 | 检查模式匹配 |
| Token 超限 | 深度过深 | 调低深度或增加 token 限制 |
最佳实践
1. 根据任务阶段调整
yaml
# 构思阶段
"快速帮我列出几个设计方案" # Fast
# 实现阶段
"实现这个功能" # Standard
# 验证阶段
"深入思考验证这个方案是否可行" # Deep
# 决策阶段
"用最深度的思考,决定采用哪个方案" # Ultra2. 迭代式思考
bash
# 先快速思考
"快速给我几个方案"
# 然后深入某个方案
"深入分析方案 1"
# 最后全面决策
"用最深度的思考,确定最终方案"3. 时间敏感任务
yaml
# 有时间限制
"在 30 秒内帮我格式化这段代码" # 自动使用 Fast
# 没有时间限制
"帮我全面分析这个系统" # 使用适当深度4. 成本控制
yaml
thinking_depth:
# 根据预算限制深度
cost_mode:
enabled: true
budget_per_task: 0.5 # 每个任务最多 $0.5
max_depth: "deep" # 最多 deep 模式高级技巧
1. 自适应深度
根据任务复杂度自动调整:
yaml
adaptive_thinking:
enabled: true
# 分析任务复杂度
complexity_analysis:
enabled: true
metrics:
- "task_length"
- "keywords"
- "context_size"
# 自动调整策略
strategy: "start_fast_then_deep"2. 多级思考
先快速思考,再深入:
yaml
multi_stage_thinking:
enabled: true
stages:
- stage: "initial"
depth: "fast"
output: "quick_ideas"
- stage: "evaluation"
depth: "standard"
output: "evaluation"
- stage: "deep_analysis"
depth: "deep"
output: "detailed_plan"3. 团队协作
不同成员使用不同深度:
yaml
team_thinking_depth:
junior:
default: "standard"
max: "deep"
senior:
default: "deep"
max: "ultra"
architect:
default: "ultra"本课小结
你学会了:
- 思考深度的四种模式
- 如何配置任务类型自动映射
- 手动指定思考深度的方法
- 根据任务选择合适的深度
- 迭代式和自适应思考策略
下一课预告
最后一课,我们将学习调试与诊断,掌握 OpenCode 问题的排查和解决方法。
📚 更多完整模板:Prompt 模板库

