context-infra 检查与复盘infra.guiming.net · 全内容自包含呈现 · 生成于 2026-07-21 16:28 UTC

llm_task_decomposition_survey_20260301_deep_research

Z3 全文↑ Z2 条目

方法论库 · 引用级 · none

← 返回方法论库索引 · 返回方法论区

本页是 <code>contexts/methodology/llm_task_decomposition_survey_20260301_deep_research.md</code> 的逐字投影(仅隐私清洗,零改写)。

时点提示:本页是仓内文件 contexts/methodology/llm_task_decomposition_survey_20260301_deep_research.md 的逐字投影(仅做隐私清洗:仓库根绝对路径→相对路径、家目录→~/;除此零改写)。若源文件后续有修订,以仓内真源为准。

报告元数据(frontmatter)
name: llm_task_decomposition_survey_20260301_deep_research
description: 拆解技术综述(CoT/ToT/ReAct)
domain: infra
consumption:
  surface: none
  trigger: ""
  consumer: orchestrator
status: library
promoted_to: null

LLM/Agent 任务分解技术深度调研报告

调研日期: 2026-03-01
调研方法: 多维度并行研究 + 交叉验证
信息来源: 官方文档、学术论文、开源代码库、技术博客


一、核心结论

1.1 任务分解的本质

任务分解(Task Decomposition)是让 LLM/Agent 每次只执行一个部分任务的核心技术。实现方式主要分为三大类:

类别核心思想代表技术
Prompt Engineering通过提示词引导模型分步推理CoT, ToT, ReAct, Plan-and-Solve
Context Engineering管理上下文窗口,隔离不同任务Subagents, 分层记忆, 自动压缩
架构设计多 Agent 协作,职责分离LangChain, AutoGen, CrewAI, Claude Code

1.2 关键发现

  1. "1M Token 墙"现象: 即使模型支持百万 token 上下文,性能在约 100 万 token 处会遇到天花板,上下文工程不是可选项而是必选项
  1. Claude Code 的成功模式: TAOR 循环 (Think-Act-Observe-Repeat) + Subagent 隔离 + Plan/Execute 分离
  1. 最有效的分解策略:

二、Prompt Engineering 分解技术

2.1 Chain-of-Thought (CoT) 思维链

来源: arXiv:2201.11903 - Google Research, 2022

核心机制: 引导模型生成中间推理步骤,而非直接给出答案。

实现方式:

问题: 如果 John 有 15 个苹果,把 1/3 给 Mary,Mary 再把一半给 Tom,Tom 有几个?

CoT 推理:
1. Mary 收到多少苹果? 15 × 1/3 = 5 个
2. Mary 给 Tom 多少? 5 ÷ 2 = 2.5 个
答案: Tom 有 2.5 个苹果

Zero-Shot CoT (arXiv:2205.11916):

局限性:

2.2 Tree of Thoughts (ToT) 思维树

来源: arXiv:2305.10601 - Princeton/Google, 2023

核心机制: 将 CoT 线性推理扩展为树形结构,支持:

架构组件:

┌─────────────────────────────────────────────┐
│                 ToT 架构                      │
├─────────────────────────────────────────────┤
│  Prompter    → 生成候选思路                   │
│  Checker     → 评估部分解                     │
│  Memory      → 存储已探索路径                  │
│  Controller  → 决定探索策略                   │
└─────────────────────────────────────────────┘

适用场景: 创意任务、复杂决策、数学问题、战略规划

局限: 计算成本高,需要精心设计评估 prompt

2.3 ReAct: 推理+行动

来源: arXiv:2210.03629 - Princeton, 2022 (ICLR 2023)

核心机制: 交替进行推理(Thought)和行动(Action),从外部环境获取观察(Observation):

循环: Thought → Action → Observation → Thought → ...

示例:
Thought: 需要查找 2023 年美国日均卡路里摄入
Action: Search["2023 US average daily calorie intake"]
Observation: 根据CDC数据,2023年美国成人日均摄入约2475卡路里
Thought: 现在需要查找肥胖率趋势数据...

优势:

局限: 需要工具基础设施,行动空间需明确定义

2.4 Plan-and-Solve 规划求解

来源: arXiv:2305.04091, 2023

核心机制: 明确分离规划阶段和执行阶段:

Phase 1: 规划
"First devise a plan, then solve"
↓ 生成详细执行计划

Phase 2: 执行
按计划逐步实施

PS+ 增强: 添加 "pay attention to calculation" 和 "derive intermediate results" 指令

适用场景: 复杂多步骤问题、数学推理、需要减少遗漏步骤的任务

2.5 Decomposed Prompting (DECOMP)

来源: ICLR 2023

核心机制: 将复杂任务分解为子任务,委托给专门的 "handler" prompts:

主任务: "分析这篇论文的研究方法"
    │
    ├── Handler 1: 提取研究问题
    ├── Handler 2: 识别数据收集方法
    ├── Handler 3: 分析统计分析技术
    └── Handler 4: 评估实验设计
    
    ↓ 合成
最终答案

Handler 架构:

2.6 Program of Thoughts (PoT) 程序思维

来源: arXiv:2308.10321 - Chen et al., 2023

核心机制: 将推理表达为可执行代码(如 Python),利用代码解释器进行精确计算:

# PoT 示例
def solve():
    john_apples = 15
    mary_share = john_apples * (1/3)  # 5
    tom_share = mary_share / 2        # 2.5
    return tom_share

result = solve()  # 由解释器执行

优势:

局限: 需要代码执行环境,仅适用于可代码表达的任务

2.7 Skeleton-of-Thought (SoT) 骨架思维

来源: arXiv:2307.15337, 2023

核心机制: 针对延迟优化而非推理质量,结构化生成以支持并行处理:

Phase 1: 骨架生成
生成答案大纲(要点无细节)

Phase 2: 并行扩展
同时扩展每个要点(并行 API 调用)

Phase 3: 合成
组合扩展后的部分

性能: 跨多种 LLM 实现高达 2.39x 加速,同时保持或提高答案质量

技术对比总结

技术主要目标最佳场景关键局限
CoT推理质量数学、逻辑、常识需要大模型
Zero-shot CoT简单性快速部署可靠性较低
ToT探索创意、多路径任务计算成本高
DECOMP模块化复杂多组件任务设计复杂
Plan-and-Solve结构化执行多步骤规划Prompt 敏感
PoT计算精度数值任务需代码运行时
SoT速度延迟关键应用并行性限制
ReAct接地推理工具增强任务工具基础设施

三、Context Engineering 上下文工程

3.1 上下文窗口管理策略

来源: Anthropic Engineering Blog, Sep 2025

问题本质

Transformers 的自注意力机制是 O(n²) 复杂度,导致:

管理策略对比
策略机制优势劣势
滑动窗口 (FIFO)保留最近消息恒定成本,可预测延迟灾难性遗忘
滚动摘要压缩旧消息为摘要理论无限对话有损压缩
实体提取提取事实到结构化状态零幻觉风险需定义 schema
选择性上下文相关性评分过滤最高信噪比过滤模型可能遗漏
自动压缩 (Auto-Compaction)

Claude Code 实现:

来源: Claude Code Context Management

3.2 分层记忆系统

来源: Synalinks Blog

三层架构
┌─────────────────────────────────────────────────┐
│                 工作记忆 (RAM)                    │
│  - 活动上下文窗口                                 │
│  - 当前任务、工具输出、对话历史                    │
│  - 易失性,会话结束即丢失                          │
├─────────────────────────────────────────────────┤
│                 情景记忆                          │
│  - 特定时刻/事件                                  │
│  - 调试会话、完成的任务                           │
│  - 带时间标签的会话历史                           │
├─────────────────────────────────────────────────┤
│                 语义记忆 (长期存储)                │
│  - 提取的知识、事实、学习模式                      │
│  - 向量数据库/键值存储                            │
│  - 跨会话持久化                                   │
└─────────────────────────────────────────────────┘
记忆格式
格式特点适用场景
自然语言灵活,易理解NOTES.md 文件
向量嵌入语义搜索Pinecone, Weaviate
数据库结构化查询MongoDB, PostgreSQL
键值对快速访问Redis

3.3 项目上下文注入 (CLAUDE.md / AGENTS.md)

来源: Claude Directory Guide, Morph Context Engineering

CLAUDE.md 最佳实践
# Project
Next.js 15, TypeScript, Tailwind, Drizzle ORM

# Architecture
- Server Components by default
- Server Actions for mutations in actions.ts
- All DB operations through Drizzle ORM

# Commands
bun run dev          # Dev server (port 3002)
bun run build        # Production build
bun run typecheck    # Type checking

# Conventions
- Use bun, not npm
- Run `bun run lint` before committing
- Use absolute imports (@/lib, @/components)

# Key Paths
src/app/api/         # API routes
src/lib/db/schema.ts # Database schema

# Gotchas
- Dev server runs on port 3002, not 3000
- Never commit .env files

核心原则:

AGENTS.md 模式

用于多 Agent 系统的专门配置:

# Code Review Agent

## Your context
- Only review the diff provided
- Check for: security issues, performance problems
- Do NOT suggest style changes

## Your tools
- Read files (context only)
- Grep (pattern search)
- No write access

## Output format
List of issues with severity, file path, line number
层级上下文文件
/CLAUDE.md          → 项目级上下文
/src/auth/CLAUDE.md → 模块级上下文
~/.claude/CLAUDE.md → 用户偏好

3.4 Subagent 上下文隔离

来源: Claude Code Subagents, Spring AI Agentic Patterns

隔离机制
主 Agent 上下文
├── 项目 CLAUDE.md
├── 任务: 重构认证
└── 计划: 探索 → 识别模式 → 应用更改

    ↓ 委托

搜索 Subagent (隔离)
├── 上下文: 代码库 + 搜索工具
├── 任务: 查找所有认证相关文件
└── 返回: 发现摘要 (非原始文件内容)

    ↓ 委托

应用 Subagent (隔离)
├── 上下文: 原始代码 + 编辑指令
├── 任务: 执行特定编辑
└── 返回: 更改确认

优势:

3.5 迭代检索模式 (Agentic RAG)

来源: Emergent Mind, TechAhead

从静态 RAG 到 Agentic RAG

传统 RAG 问题:

Agentic RAG 循环:

1. Agent 接收查询
2. Agent 推理需要什么信息
3. Agent 执行特定检索
4. Agent 评估检索内容
5. 如果不足: 改进查询并重复
6. 如果充足: 生成响应
查询重构
原始: "如何实现认证?"
重构:
- "JWT token 验证中间件 Express.js"
- "OAuth2 实现模式"
- "会话管理认证流程"

3.6 跨会话记忆持久化

来源: Moxo Blog, Anthropic Memory Tool

持久化机制
机制实现特点
文件基础NOTES.md, progress.md简单,版本可控
Git 基础git log, git diff无损重建
向量数据库Pinecone, Weaviate语义搜索
键值存储Redis快速访问
记忆整合流程
def consolidate_memory(working_context):
    # 提取实体和事实
    entities = extract_entities(working_context)
    
    # 生成嵌入用于语义搜索
    embeddings = embed(entities)
    
    # 存储到向量数据库
    vector_store.store(embeddings, metadata={
        "timestamp": now(),
        "session_id": session_id,
        "importance": rate_importance(entities)
    })
    
    # 更新结构化状态
    kv_store.update(f"user:{user_id}", entities)

四、Claude Code 任务分解架构

4.1 TAOR 循环架构

来源: Vikash Rungta - Claude Code Architecture

TAOR: Think-Act-Observe-Repeat

1. Think  → 模型决定使用什么工具
2. Act    → 执行工具调用
3. Observe→ 接收工具结果
4. Repeat → 继续直到任务完成

架构演进 (v0 → v4):

版本关键创新
v0仅 Bash 工具 - 通过 shell 实现读/写/搜索/执行
v1显式工具定义 (Read, Write, Edit 等)
v2显式 Todo 列表用于任务跟踪
v3Subagent 机制与隔离上下文
v4Skills 机制用于可重用 prompts

4.2 Task/Agent 工具

来源: Claude Code Subagents Documentation

内置 Subagent 类型
Agent模型工具用途
ExploreHaiku (快)只读 (无 Write/Edit)文件发现、代码搜索
Plan继承自父级只读规划阶段代码库研究
General-purpose继承自父级所有工具复杂多步骤操作
自定义 Subagent 配置
---
name: code-reviewer
description: 代码质量和安全审查专家
tools: Read, Grep, Glob, Bash
model: sonnet
---

你是高级代码审查员。当被调用时:
1. 运行 git diff 查看最近更改
2. 聚焦于修改的文件
3. 按优先级提供反馈: Critical → Warnings → Suggestions

4.3 Plan Mode 规划模式

来源: Claude Code Planning Mode Guide

工作流程
1. Claude 进入规划模式 (Shift+Tab 两次)
2. 使用只读工具探索代码库: Read, Glob, Grep
3. 写入计划到 .claude/plans/{session-slug}.md
4. 退出规划模式,呈现计划供审查
5. 用户批准、请求更改或拒绝
Plan Mode 可用工具
批准后选项
  1. 清除上下文并自动接受编辑 (推荐) - 为计划提供全新上下文
  2. 保留上下文,手动批准编辑
  3. 保留上下文,自动接受编辑

4.4 三层架构

来源: Blake Crosley - Claude Code Technical Reference

┌─────────────────────────────────────────────────────────┐
│                    CLAUDE CODE 层级                      │
├─────────────────────────────────────────────────────────┤
│  扩展层 (Extension Layer)                                │
│  ┌─────────┐  ┌─────────┐  ┌─────────┐  ┌─────────┐    │
│  │   MCP   │  │  Hooks  │  │ Skills  │  │ Plugins │    │
│  └─────────┘  └─────────┘  └─────────┘  └─────────┘    │
│  外部工具、确定性自动化、领域专业知识、打包扩展          │
├─────────────────────────────────────────────────────────┤
│  委托层 (Delegation Layer)                               │
│  ┌─────────────────────────────────────────────────┐    │
│  │              Subagents (最多 10 个并行)           │    │
│  │   Explore | Plan | General-purpose | Custom      │    │
│  └─────────────────────────────────────────────────┘    │
│  隔离上下文用于聚焦工作,返回摘要                        │
├─────────────────────────────────────────────────────────┤
│  核心层 (Core Layer)                                     │
│  ┌─────────────────────────────────────────────────┐    │
│  │         主会话上下文                              │    │
│  │   工具: Read, Edit, Bash, Glob, Grep 等          │    │
│  └─────────────────────────────────────────────────┘    │
│  主要交互;有限上下文;消耗成本                          │
└─────────────────────────────────────────────────────────┘

关键洞察: 高级用户将探索和专门工作推送到委托层,保持扩展层配置,仅使用核心层进行协调和最终决策。


五、Everything Claude Code 仓库分析

5.1 仓库概述

来源: GitHub - affaan-m/everything-claude-code

5.2 目录结构

everything-claude-code/
├── agents/          # 13 个专门 subagent
│   ├── planner.md
│   ├── architect.md
│   ├── code-reviewer.md
│   ├── security-reviewer.md
│   ├── tdd-guide.md
│   └── ...
├── skills/          # 50+ 工作流技能和领域知识
│   ├── coding-standards/
│   ├── tdd-workflow/
│   ├── security-review/
│   └── ...
├── commands/        # 33 个斜杠命令
│   ├── tdd.md
│   ├── plan.md
│   ├── e2e.md
│   └── ...
├── hooks/           # 触发器自动化
├── rules/           # 永久遵循的规则
├── contexts/        # CLAUDE.md, AGENTS.md
├── mcp-configs/     # 14 个 MCP 服务器配置
└── scripts/         # 跨平台 Node.js 工具

5.3 Agent 协作模式

来源: AGENTS.md

Agent职责何时使用
planner实现规划复杂功能、重构
architect系统设计和扩展性架构决策
tdd-guide测试驱动开发新功能、bug 修复
code-reviewer代码质量和可维护性编写/修改代码后
security-reviewer漏洞检测提交前、敏感代码
build-error-resolver修复构建/类型错误构建失败时
e2e-runner端到端 Playwright 测试关键用户流程

主动委托规则:

| Bug 修复或新功能 → **tdd-guide**

5.4 Skills vs Commands

Skills (~/.claude/skills/): 完整工作流定义,包含完整 SOP

Commands (~/.claude/commands/): 压缩 prompts,快速执行特定任务

常用命令:

5.5 Hooks 系统

来源: Claude Code Hooks Guide

8 种 Hook 事件
Hook 事件触发时机可阻塞典型用途
PreToolUse工具执行前权限控制、审计
PostToolUse工具执行后自动格式化
UserPromptSubmitPrompt 处理前危险命令过滤
Stop响应完成后摘要日志
PreCompact上下文压缩前历史备份
Notification需要通知时桌面/Slack 通知
PermissionRequest权限对话框显示自定义权限
SubagentStopSubagent 任务完成子任务统计
配置示例
{
  "PostToolUse": [
    {
      "matcher": "Edit|Write",
      "hooks": [
        {
          "type": "command",
          "command": "npx prettier --write \"$FILE_PATH\""
        }
      ]
    }
  ]
}

5.6 核心 CLAUDE.md 内容

来源: CLAUDE.md

# Everything Claude Code (ECC) — Agent Instructions

## Core Principles

1. **Agent-First** — 委托给专门 agent 处理领域任务
2. **Test-Driven** — 先写测试,要求 80%+ 覆盖率
3. **Security-First** — 永不在安全上妥协
4. **Immutability** — 总是创建新对象,永不修改现有对象
5. **Plan Before Execute** — 写代码前先规划复杂功能

## Security Guidelines

**任何提交前**:
- 无硬编码密钥
- 所有用户输入验证
- SQL 注入防护
- XSS 防护
- CSRF 保护

## Testing Requirements

**最低覆盖率: 80%**

TDD 工作流:
1. 先写测试 (RED) — 测试应失败
2. 写最小实现 (GREEN) — 测试应通过
3. 重构 (IMPROVE) — 验证覆盖率 80%+

六、多 Agent 编排框架

6.1 LangChain Agents

来源: LangChain Documentation

核心模式:

任务分解方式:

from langchain.agents import initialize_agent

agent = initialize_agent(
    tools=[search_tool, calculator_tool],
    llm=llm,
    agent="zero-shot-react-description"
)

agent.run("What is the square root of the population of France?")

6.2 Microsoft AutoGen

来源: Microsoft AutoGen

核心模式: 多 Agent 对话

┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│  UserProxy   │ ←─→ │  Assistant   │ ←─→ │  Critic      │
│   Agent      │     │    Agent     │     │   Agent      │
└──────────────┘     └──────────────┘     └──────────────┘

特点:

6.3 CrewAI

来源: CrewAI Documentation

核心模式: 基于角色的 Agent 协作

from crewai import Agent, Task, Crew

researcher = Agent(
    role="Researcher",
    goal="Find relevant information",
    backstory="Expert at finding data"
)

writer = Agent(
    role="Writer", 
    goal="Write engaging content",
    backstory="Expert at crafting narratives"
)

crew = Crew(
    agents=[researcher, writer],
    tasks=[research_task, write_task]
)

6.4 Claude Code Agent Farm

来源: GitHub - Dicklesworthstone/claude_code_agent_farm

核心模式: 大规模并行 Agent 协调

特性:

协调协议:

/coordination/
├── active_work_registry.json    # 所有活动工作注册表
├── completed_work_log.json      # 完成任务日志
├── agent_locks/                 # 单独 Agent 锁
└── planned_work_queue.json      # 计划工作队列

6.5 Swarm-Tools (OpenCode)

来源: GitHub - joelhooks/swarm-tools

核心特性:

  1. 任务分解: 多种策略(基于文件、功能、风险、研究)
  2. 并行 Worker 管理: 通过 DurableLock 防止文件冲突
  3. 弹性检查点: 25%、50%、75% 完成时保存进度快照
  4. 学习系统: 跟踪分解结果,自动调整模式
npm install -g opencode-swarm-plugin@latest
swarm setup
/swarm "Add user authentication with OAuth"

6.6 Oh My OpenCode

来源: GitHub - code-yeongyu/oh-my-opencode

分层 Agent 委托:

Agent角色模型
Sisyphus主编排器Claude Opus 4.5
Oracle调试专家专门
Librarian文档 Agent专门
Frontend EngineerUI/UX 专家专门
Explore代码库搜索专门

特性:


七、框架对比

7.1 功能对比

特性Claude CodeLangChainAutoGenCrewAISwarm-Tools
Subagent 隔离✅ 原生
上下文管理✅ 自动压缩⚠️ 手动⚠️ 手动⚠️ 手动✅ 检查点
并行执行✅ 最多 10
学习系统⚠️ Hooks✅ 模式学习
IDE 集成✅ CLI 原生⚠️⚠️⚠️⚠️ OpenCode

7.2 适用场景

场景推荐框架
代码开发Claude Code + everything-claude-code
通用 Agent 构建LangChain
研究/对话AutoGen
角色扮演任务CrewAI
大规模并行Agent Farm / Swarm-Tools
多模型编排Oh My OpenCode

八、实现建议

8.1 选择分解策略

任务复杂度评估
    │
    ├── 低 (单步直接回答) → 直接 Prompt
    │
    ├── 中 (需要推理) → CoT / Zero-shot CoT
    │
    ├── 高 (多步骤) → Plan-and-Solve + Subagent
    │
    └── 极高 (复杂系统) → 多 Agent 框架

8.2 上下文工程清单

  1. 创建 CLAUDE.md: 记录项目约定、命令、陷阱
  2. 配置 .claudeignore: 排除无关文件
  3. 设计 Subagent: 为常见任务创建专门 agent
  4. 设置 Hooks: 自动化格式化、lint、安全检查
  5. 实现记忆持久化: 跨会话保持关键信息

8.3 成本优化策略

策略节省
Subagent 使用 Haiku~5x 成本降低
上下文压缩~30-50% Token 节省
工具延迟加载~95% 初始上下文减少
并行执行时间 ~N 倍减少

九、信息源汇总

学术论文

  1. Chain-of-Thought Prompting (arXiv:2201.11903)
  2. Zero-shot-CoT (arXiv:2205.11916)
  3. Tree of Thoughts (arXiv:2305.10601)
  4. ReAct (arXiv:2210.03629)
  5. Plan-and-Solve (arXiv:2305.04091)
  6. Program of Thoughts (arXiv:2308.10321)
  7. Skeleton-of-Thought (arXiv:2307.15337)
  8. Decomposed Prompting (ICLR 2023)

官方文档

  1. Claude Code 官方文档
  2. Anthropic Engineering Blog
  3. LangChain Documentation
  4. Microsoft AutoGen
  5. CrewAI Documentation

技术博客与深度分析

  1. Claude Code Architecture (Reverse Engineered)
  2. Claude Code CLI Technical Reference
  3. Turion AI - Multi-Agents Guide
  4. Prompt Engineering Guide - LLM Agents
  5. Learn Prompting - Decomposition
  6. Morph - Context Engineering Guide
  7. Claude Directory - CLAUDE.md Guide
  8. Arun Baby - Context Window Management
  9. Synalinks - AI Agent Memory Architecture
  10. Moxo - Long-term Memory in Agentic Systems
  11. Spring AI - Agentic Patterns
  12. Emergent Mind - Iterative RAG

开源仓库

  1. everything-claude-code - Anthropic 黑客松冠军配置
  2. claude_code_agent_farm - 大规模并行 Agent
  3. swarm-tools - OpenCode 多 Agent 协调
  4. oh-my-opencode - 多模型编排
  5. lobehub - SubAgent 任务执行实现
  6. openclaw - Subagent 生成和公告

十、变更日志

日期变更
2026-03-01初始版本 - 完成深度调研

← 返回方法论库索引 · 返回方法论区