推理增强
Reasoning Enhancement
Extended Thinking、分层 LLM 策略、MoE 路由。提升 Agent 的推理能力和效率。
子问题
1.Extended Thinking:利用模型的深度思考能力
2.分层 LLM:简单任务用小模型,复杂任务用大模型
3.Chain-of-Thought:引导模型逐步推理
4.MoE 路由:根据任务类型路由到专家模型
5.推理验证:验证推理过程的正确性
6.REPL 代码规范化:AST 级变量声明提升和自动 return 注入
7.推理/语音双轨分离:从混合文本中分离内心独白和外部表达
8.跨 turn 推理值传递:无副作用评估 turn 的返回值持久化机制
9.流式 XML 标签增量检测:避免重复解析的轻量级标签状态机
10.No-action 预算与停滞检测:防止推理循环无限空转
11.工具函数包装结构化输出:将 Pydantic 模型包装为 generate_response 工具,复用工具调用机制
12.记忆压缩工具调用对保持:压缩时保留最近 n 条消息,确保 tool_use 和 tool_result 成对
13.计划状态机约束:强制单子任务 in_progress,前序子任务必须完成才能执行下一个
14.Hint 驱动执行:根据计划状态自动生成 <system-hint> 引导 Agent 下一步操作
15.Query Rewriting 降级:改写失败时自动 fallback 到原查询,不阻塞检索流程
16.压缩摘要字段限制:SummarySchema 每个字段有 max_length 限制,防止摘要过长
17.RL 训练工作流抽象:workflow_func 和 judge_func 分离,支持多种 RL 算法
18.并行工具调用控制:parallel_tool_calls 参数决定工具串行或并行执行
19.动态工具注册:结构化输出需要时才注册 generate_response,完成后移除
20.长期记忆双模式:agent_control 工具主动调用,static_control 自动触发
21.查询分解粒度控制:如何决定拆分为几个子查询以及拆分边界
22.强制首次搜索:prompt 级约束确保 LLM 先检索再回答
23.压缩摘要与原始数据冲突解决:compressed context 和当前迭代数据不一致时的优先级
24.并行子代理答案聚合:多个独立检索结果的去重与融合策略
25.输出完整性评估:对 LLM 结构化输出做多维评分,检测截断和缺失
26.Token 递减重试:context 超限时减少 output tokens 而非增加,为 input 留空间
27.Dual-Loop 解耦:将证据收集与推理求解分离为独立循环
28.推理链持久化:将推理过程记录为可审计的步骤链
29.选择性精确回答:根据问题类型决定是否生成精确简答
30.前端驱动迭代:将迭代控制权放在客户端而非服务端
31.主题漂移防护:多轮迭代中保持 RAG 检索始终围绕原始问题
32.迭代终止判定:基于输出标记正则匹配判断研究是否完成
33.多轮推理上下文保持:推理模型要求历史消息携带 reasoning_content
34.前端模式-后端标志映射:将用户友好的模式名转换为多个布尔控制标志
35.置信度驱动迭代:LLM 自评置信度作为迭代停止信号
36.ROI 量化决策:用经济学边际收益/成本比决定是否继续迭代
37.自适应参数初始化:根据查询和仓库复杂度动态调整迭代参数
38.多粒度元素选择:file/class/function 三级粒度精确检索
39.记忆重建融合:对检索结果做代词消解、时间归一化、事实融合,输出干净记忆段
40.渐进式策略升级:多轮检索中逐步放宽检索策略,从精确匹配到假设推理
41.假设驱动检索:基于已有证据生成可测试假设,用假设的验证标准作为检索查询
42.Tree of Thought:通过树搜索探索多条推理路径并选择最优解
43.任务类型先验注入:根据任务类型自动注入领域特定的 guidance prompt
44.计划预校验:在人工审核前先用代码校验计划合法性,减少无效审核
45.推理级别归一化:将不同提供商的推理参数映射到统一枚举
46.推理可见性控制:按渠道和用户偏好决定推理过程的展示方式
47.子Agent推理降级:编排场景下子Agent的prompt和thinking级别优化
48.反思工具与搜索工具的调用顺序约束:强制串行而非并行
49.Supervisor 与 Researcher 的反思维度差异化设计
50.路由审计持久化:将每次模型路由决策记录到数据库支持 A/B 分析
51.规则缓存热更新:数据库规则变更无需重启即可生效
52.加权随机路由:按权重比例分配流量到不同模型
53.操作后状态感知:执行操作后捕获环境变化并基于差异进行二次推理
54.零副作用推理工具:为 LLM 提供不产生外部效果的内部推理空间
55.自愈推理修复:操作失败后重新感知环境并推理出替代执行路径
56.模式感知策略注入:根据交互模式动态调整推理引导和工具优先级
57.推理模型参数兼容:自动检测推理模型并剥离不支持的采样参数
58.跨代模型映射:同一供应商不同代模型的推理 API 差异适配
59.角色-模型静态绑定:在图构建阶段确定每个 Agent 的模型层级
60.多粒度视觉推理:从页面级检索到区域级裁剪的粗到细迭代
61.RL 训练推理行为:用强化学习而非 SFT 训练多轮推理策略
62.格式+准确性双门控奖励:同时约束输出格式和答案质量
63.多模态状态累积:多轮迭代中历史图片的 tensor 拼接管理
64.纯视觉嵌入检索:跳过 OCR 直接对文档图片做向量检索
65.双语关键词优先级匹配:长词包含短词时从高到低匹配避免截获
66.混合推理模型适配:同一模型同时支持普通对话和深度推理的参数切换
67.推理预算指数级分层:非线性 token 预算设计覆盖从零到深度推理全谱段
68.推理 token 预算挤占:推理模型将 completion tokens 消耗在 reasoning 上导致 content 为空
69.功能级推理开关:按 AI 功能(生成/分析)决定是否启用深度推理
70.流式推理边界检测:token 逐个到达时精确识别推理/内容切换点
71.非特殊 token 推理标记:模型用普通词表 token 组成标记时的跨 delta 匹配
72.推理开关透传:chat template 级别的推理启用/禁用参数传递到 parser
73.结构化输出与推理共存:约束引擎需要知道推理何时结束才能开始语法约束
74.推理 token 计数:统计嵌套推理 span 中的 token 数量用于成本分析
75.透明代理注入:对 Agent 代码零侵入地注入模型路由参数
76.多模态推理级别固定:图片理解等多模态调用强制使用特定 tier
各项目的解法25 solutions
横向对比
| 维度 | MiroThinker | DeepResearch | DeerFlow | AIRI | AgentScope | agentic-rag-for-dummies | DeepCode | DeepTutor | DeepWiki | FastCode | GPT-Researcher | MemOS | MetaGPT | OpenClaw | Open | OpenManus | PageIndex | Refly | Stagehand | TradingAgents | VRAG | iflow-cli | moyin-creator | vLLM | vibe-blog |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 推理方式 | Extended Thinking budget_tokens 内部推理链 | Dynamic Outline 搜索-大纲交替演化 | prompt_enhancer AI 重写结构化指令 | REPL 代码生成:LLM 输出可执行 JS 而非 JSON,推理编码为代码逻辑 | ReAct 循环:reasoning → acting → observing 迭代 | 查询分解 + 多步检索循环,LLM 自主决定是否继续搜索 | 三阶段管道:概念分析→算法提取→代码规划,Fan-out/Fan-in 并行 | Dual-Loop:Analysis Loop 收集证据 + Solve Loop 逐步推理 | 多轮迭代 Deep Research:5 轮 Plan→Update→Conclusion 分阶段推理 | 置信度驱动多轮迭代,LLM 每轮自评 0-100 置信度决定是否继续 | — | 三阶段渐进式推理检索:精确补全→查询重写→假设驱动,每轮 LLM 判断 can_answer | 三模式可切换:ReAct think-act 循环 / 按序执行 / Plan-and-Act 先规划再执行 | 6 级 ThinkLevel 枚举 + 3 级 ReasoningLevel,统一抽象多提供商差异 | think_tool 零副作用反思工具 + Prompt 嵌入 Show Your Thinking 指令 | — | — | Auto 模型路由 + 供应商透明 reasoning 参数注入 | thinkTool 显式 scratchpad + twoStep 两阶段 DOM diff 推理 | 双层 LLM 静态映射:角色绑定 deep/quick 模型槽位 | <think> 标签显式推理链 + RL 强化训练 | 5 级关键词触发:正则匹配用户输入中的中英文触发词 | disableThinking 开关 + reasoning_content 回退提取 | 可插拔 ReasoningParser 策略模式,17 个模型各自实现解析逻辑 | Agent 级 Extended Thinking 开关 + Anthropic SDK 直调 |
| 模型策略 | 三级预算 light(8K)/medium(16K)/heavy(24K) | Planner+Writer 双 Agent 协作 | AGENT_LLM_MAP 配置驱动模型选择 | 单模型 + reasoning effort 参数,配置支持 model/reasoningModel 分离 | 单模型多角色,可选 compression_model 独立压缩 | 单模型(Qwen3 4B),temperature 按任务分级(0.1 分解 / 0.2 摘要 / 0 推理) | 配置驱动双模型分离:planning_model 用强模型,implementation_model 用快模型 | 统一模型,BaseAgent 通过 agents.yaml 配置参数 | 单模型全流程,通过 provider 抽象支持 7 种后端(Google/OpenAI/OpenRouter/Ollama/Bedrock/Azure/Dashscope) | 单模型多轮调用,同一 LLM 兼任评估和检索决策 | — | 双 LLM 分离:dispatcher_llm 做基础解析,process_llm 做深度推理 | 单模型,通过 TaskType guidance 注入领域先验替代多模型分层 | ModelCatalog 驱动自动检测,reasoning 模型默认 low 级别 | 主版本统一 research_model,Legacy 版 planner 用 Claude + writer 用 GPT-4 | — | — | 五级优先路由:Rule→Tool→Random→Priority→Fallback | 多供应商适配(OpenAI/Anthropic/Google/Microsoft),单模型执行 | deep_think_llm + quick_think_llm 配置外置 | 单模型 Qwen2.5-VL-7B,RL 微调后部署 | 单模型混合推理(glm-4.5),运行时能力探测 | 功能级多模型绑定 + Round-Robin 轮询调度 | 一模型一 Parser,懒加载注册表按需实例化 | 三级静态绑定:strategic/smart/fast,13 个角色预分配 |
| 成本 | 单篇 +$0.20-0.30(选择性启用) | 概念级(无实现代码) | 单次 LLM 调用(轻量) | 默认 reasoning effort=low 最小化开销,Silent-eval 避免无效 action | — | MAX_TOOL_CALLS=8 + MAX_ITERATIONS=10 硬限制,动态压缩减少重复检索 | 规划阶段用 Sonnet 4.5/Gemini Pro,实现阶段用 Sonnet 3.5/Gemini Flash,按阶段优化 | 可配置 max_iterations 和 max_corrections 控制调用次数 | 5 轮 × 全量历史消息,无压缩无摘要,token 消耗随迭代线性增长 | — | — | LLM-as-Judge 提前终止 + 阶段化策略升级,大部分查询 Stage1 即可解决 | ToT BFS 每层 n_generate×n_select 次 LLM 调用,Plan-and-Act 每任务 1 次 | — | think_tool 仅消耗构造参数的 token,无额外 API 调用 | — | — | — | DOM diff 减少第二步 token;reasoning_tokens 独立追踪 | 仅 2/12 节点用大模型,其余全用小模型 | 多轮迭代 × VLM 推理,每轮含图片 token 开销大 | — | 默认关闭推理省 token + 90% 上下文拦截不发请求 | — | — |
| 适用场景 | 分析类任务(规划/审核/验证) | 深度研究大纲持续演化 | 用户输入预处理和增强 | 游戏 AI 机器人控制、多工具编排、需分离内心独白的对话系统 | — | 企业知识库多文档复合查询,学术论文跨文档综合 | Research-to-Code 自动化,论文→可运行代码的全流程 | 学术问答、复杂多步推理、需要引用追踪的场景 | 代码仓库深度分析、技术文档生成,不适合实时对话 | 代码仓库级检索 RAG,支持多仓库和多轮对话 | — | 个人记忆助手、碎片化记忆检索、需要代词消解和事实融合的场景 | 软件开发全流程(PRD→设计→编码)、数据分析、开放式问答 | 多模型多渠道 Agent 框架,Telegram/Signal/CLI 多端推理可见性 | 多轮搜索研究、Supervisor-Worker 层级架构 | — | — | 多供应商 SaaS 平台,用户选 Auto 自动路由最优模型 | 浏览器自动化 Agent,DOM 操作后状态变化的二次决策 | 多 Agent 金融交易决策,角色职责固定 | 视觉文档多跳问答,PDF/图表/信息图理解 | CLI 交互式对话,用户自然语言表达推理意图 | 结构化 JSON 输出(剧本解析、分镜生成) | — | Multi-Agent 博客生成,13 角色协同 |
| 推理模式 | — | — | 用户显式选择四档推理级别,非自动判断 | Silent-eval 两步模式:Turn A 纯评估 → Turn B 基于确认值执行 | — | 搜索-分析-判断-改写循环,orchestrator 作为自主研究员 | ParallelLLM 并行推理 + 完整性评估驱动重试 | 多轮迭代式:分析循环 N 轮 + 求解循环每步 M 次修正 | 前端驱动自动迭代,后端无状态(每轮独立请求) | 迭代收敛式:Round1 评估→RoundN 检索+评估→置信度达标停止 | — | retrieve→reason→expand→judge 迭代循环,默认 3 轮 thinking_stages | RoleReactMode 枚举:react/by_order/plan_and_act,运行时可配置 | off/minimal/low/medium/high/xhigh 六级 + binary 提供商自动降级 | 工具调用式反思(think_tool)+ 模型原生 extended thinking(Legacy) | — | Thinking-First JSON — 每个 LLM prompt 强制输出 thinking 推理字段再给结论 | capabilities.reasoning 布尔标志触发供应商特定参数 | LLM 自主决定 twoStep 布尔值,非外部规则驱动 | 供应商原生推理(reasoning_effort/thinking_level) | think-act-observe 多轮迭代循环 | 关键词触发式,非 API 参数直传 | — | token 对匹配 / 正则文本匹配 / harmony 协议三种解析范式 | Claude Extended Thinking(budget_tokens=19000) |
| 输出结构 | — | — | thinking_style prompt 引导结构化思考(分解/歧义检查/优先级) | 纯 JavaScript 代码,TypeScript AST 规范化后在 VM 沙箱执行 | — | Pydantic BaseModel(is_clear / questions / clarification_needed) | YAML 格式实现计划,含 file_structure/components/validation 等 5 个必需 section | SolveChainStep 链:每步含 target + tool_calls + response | Markdown 标记分段:## Research Plan / ## Research Update N / ## Final Conclusion | — | — | XML 标签结构化输出(<can_answer>/<reason>/<retrieval_phrases>) | ToT 输出 JSON node_list,Plan 输出 JSON task_list,均为结构化格式 | Reasoning Lane 分离推理与回答为独立消息流 | Pydantic 结构化输出 + with_structured_output + with_retry | — | 统一 {thinking, answer_field} JSON schema,extract_json 容错解析 | — | Zod schema 强类型:elementId + method + arguments + twoStep | — | XML 标签对:<think>/<search>/<bbox>/<answer> | — | — | DeltaMessage(reasoning, content) 统一输出 | — |
| 推理可见性 | — | — | 前端模式选择器直接展示当前推理级别,LangSmith metadata 记录 | 前端双轨分离:XML 标签提取 reasoning,speech 送 TTS | print_hint_msg 控制 hint 消息是否展示给用户 | — | — | — | 全过程可见:前端展示 Plan/Update/Conclusion 阶段导航 | 完整 iteration_metadata 含每轮置信度/ROI/预算使用率/停止原因 | — | — | — | ReasoningLevel stream 模式实时暴露推理过程 | think_tool 反思内容作为 ToolMessage 保留在消息历史中 | — | — | EnhancedChatOpenAI 捕获 reasoning_content 到 additional_kwargs | thinkTool 仅 LLM 内部可见,不暴露给用户 | callbacks 透传,可分别追踪 deep/quick 消耗 | <think> 标签内容 + Streamlit 实时展示 | ✻ 状态指示器 + full/compact/indicator 三种显示模式 | — | API 层 include_reasoning 参数 + prompt_is_reasoning_end 跳过 | thinking blocks 在 LLM 层剥离,Agent 只看到 text blocks |
| 供应商兼容性 | — | — | PatchedChatDeepSeek 修复多轮 reasoning_content,YAML 适配任意供应商参数格式 | 运行时检测 Cerebras 等供应商,自动跳过不支持的 reasoning 参数 | — | — | — | — | — | — | — | — | — | — | think_tool 兼容所有 LLM;extended thinking 仅限 Anthropic | — | — | OpenAI/Azure/Bedrock/Vertex 四供应商独立适配 | AgentProvider 工厂模式适配 4 家供应商 CUA 客户端 | Factory 模式支持 6 家供应商热切换 | — | 当前 glm-4.5,架构预留 OpenAI o1/DeepSeek 扩展 | OpenAI 兼容 API 统一入口,模型名正则分类 | 17 个 parser 覆盖 DeepSeek/Qwen/Granite/Mistral/Olmo 等 | 四级降级链:SDK 直调 → SDK 缺失 → 调用失败 → resilient_chat |
| 零副作用推理工具 | — | — | — | Silent-eval turn 允许纯计算无 action,prevRun.returnRaw 跨 turn 传递 | — | — | — | — | — | — | — | — | — | — | think_tool 只返回输入内容,不触发外部操作 | — | — | — | — | — | — | — | — | — | — |
| 推理开关控制 | — | — | — | reasoning effort 三级可配(low/medium/high),供应商级自动禁用 | — | — | — | — | — | — | — | — | — | — | Legacy 版按模型名硬编码启用 thinking;主版本统一用 think_tool | — | — | — | — | — | — | 自然语言隐式控制,无显式开关命令 | body.thinking={type:'disabled'} 智谱 GLM 专用 | chat_template_kwargs 传递 enable_thinking/thinking 参数 | — |
| 流式推理检测 | — | — | — | llm-marker-parser 检测 <|...|> 特殊 token + 增量标签状态机 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 实时 ✻ Thinking... 指示器,支持展开/折叠 | — | 6 态 token ID 状态机 + 有状态缓冲两种流式方案 | — |
| 结构化输出集成 | — | — | — | 代码即结构化输出,VM 沙箱直接执行,无需 JSON Schema 约束 | 工具函数包装,动态注册 generate_response | with_structured_output(QueryAnalysis) 约束查询分解输出 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | reasoning_content 正则提取 JSON 作为回退 | prepare_structured_tag 为 xgrammar 生成工具感知约束标签 | — |
| 增强策略 | — | — | Prompt 级思考指引 + 模型级 extended thinking 双层增强 | 代码规范化(AST 变量提升 + 自动 return)+ prompt 引导 eval-then-act | Query Rewriting + Memory Compression + Plan Notebook | Pydantic 结构化分解 + 强制首次搜索 + 压缩上下文注入 | 自适应 Prompt 切换(文档 >50K 字符用分段读取)+ Token 递减重试 | 分析-求解解耦 + 知识链摘要 + 两阶段精确回答 | RAG 检索 + 分阶段 Prompt 模板 + 消息历史累积 | 查询重写+伪代码提示+意图分类+指代消解四重增强 | — | memory_recreate_enhancement:代词消解+时间归一化+事实融合+相关性排序 | ToT 树搜索 + TaskType 先验注入 + ExpRetriever 经验检索 | 级联覆盖(session>agent>model) + 错误降级自动重试 | Prompt 级 Show Your Thinking 标签强制反思行为 | — | 树搜索推理 + 验证-修复-重试循环 + 三模式渐进降级 | — | 模式感知策略注入(dom/hybrid 两套工具优先级引导) | 推理模型自动检测 + 不兼容参数剥离 | GRPO/PPO 强化学习训练推理行为 | — | Token 占比 >80% 触发翻倍 max_tokens 自动重试 | — | 选择性启用:分析类启用深度推理,生成类禁用 |
| 思考预算 | — | — | 由 when_thinking_enabled 中的供应商参数控制(如 budget_tokens) | no-action follow-up budget 默认 3 次、最大 8 次,可动态调整 | max_iters 控制循环次数,无 token 级预算 | 无 extended thinking,通过迭代次数和工具调用次数间接控制 | base_max_tokens 和 retry_max_tokens 从配置文件读取,支持按模型差异化设置 | max_analysis_iterations × max_actions_per_round + max_solve_corrections | 无显式预算,/no_think 前缀禁用模型内部思考输出 | 三级自适应:简单60%/中等80%/复杂100%×repo_factor | — | — | — | xhigh 白名单限制高成本模型,binary 提供商自动降为 on/off | Legacy 版 Claude 3.7: budget_tokens=16000, max_tokens=20000 | — | 无显式 token 预算,通过 temperature=0 + 结构化 JSON 隐式约束推理长度 | — | — | Google thinking_budget 跨代映射(-1/0) | max_turns 固定上限,无动态预算调整 | 5 级固定预算:none(0)/normal(2K)/hard(4K)/mega(10K)/ultra(32K) | — | — | 固定 19000 tokens,全局统一 |
| 迭代终止策略 | — | — | — | budget 耗尽或 stagnation 检测(连续相同签名)时强制停止 | 无工具调用或 structured_output 生成完成时退出 | 双重硬限制(迭代次数 + 工具调用次数)+ LLM 自主停止 | — | — | 双重终止:正则匹配 Final Conclusion 标记 + 硬性 5 轮上限 | — | — | LLM 每轮输出 can_answer 布尔值,true 即停;最终轮用 judge_memories 兜底 | — | — | 三重条件:超迭代上限 OR 无工具调用 OR ResearchComplete | — | — | — | — | — | <answer> 标签触发 + max_steps 强制终止 | — | — | — | — |
| 成本控制 | — | — | 子 Agent 强制 thinking_enabled=False,flash 模式跳过 thinking token | — | 压缩触发阈值 trigger_threshold,保留最近 keep_recent 条 | 动态阈值压缩(2000 + summary×0.9)+ retrieval_keys 去重防重复检索 | Token 递减策略:重试时逐步减少 output tokens(100%→90%→80%),为 input 留空间 | 配置驱动迭代上限 + PrecisionAnswer 选择性启用 | 硬性 5 轮上限 + token 超限降级(去除 RAG context 重试) | ROI 量化(confidence_gain/lines_cost),6 层停止检查 | — | can_answer 提前退出 + 双模型分离 + stage_retrieve_top=3 限制每轮检索量 | max_react_loop 限制循环次数,max_steps 限制树深度,max_tasks 限制计划规模 | 子 Agent PromptMode minimal 跳过重型段落,thinking 级别可逐 session 调整 | max_researcher_iterations=6, max_react_tool_calls=10 硬限制 | — | asyncio.gather 并发批量调用 + 大节点递归细分减少单次 token 消耗 | 推理模型排除 Auto 路由 + trial 期路由到高性能模型 | DOM diff 聚焦推理 + fallback 完整树兜底 | 角色驱动分层,关键决策节点才用大模型 | max_turns 限制 + max_model_len 去活 | 指数级 token 预算阶梯:0/2K/4K/10K/32K | — | count_reasoning_tokens 统计推理 token 数,支持预算分配 | 生成类 Agent 禁用 Thinking,fast 级用小模型,节省 60%+ token |
| 检索范式 | — | — | — | — | RAG 前 Query Rewriting,LLM 改写模糊查询为精确查询 | Parent-Child 分层索引 + Hybrid Search(dense + BM25 sparse) | — | Analysis Loop 多轮 RAG + Web Search 混合检索 | 每轮 RAG 检索,主题保持机制确保检索 query 不偏移 | 混合检索(语义+BM25+图扩展)+ Agent 工具调用 | — | 5 路并行检索(Working/LongTerm/User/Internet/Tool/Skill)+ CoT 查询分解 | — | — | — | — | Vectorless — 用 LLM 推理替代向量相似度,在树结构上导航定位 | — | — | — | 纯视觉嵌入检索(ColQwen2 MaxSim),无 OCR | — | — | — | — |
| RL 奖励设计 | — | — | — | — | 集成 Trinity-RFT,支持 multi_step_grpo 算法 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 格式奖励 + ANLS 准确性双门控 | — | — | — | — |
| 推理模型参数兼容 | — | — | — | — | formatter 抽象层统一不同供应商 API 格式 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | classifyModelByName 自动识别推理模型标签 | — | — |
| 计划分解粒度 | — | — | — | — | Plan → SubTask 两层,状态机严格约束执行顺序 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| 记忆压缩触发 | — | — | — | — | token 计数超阈值触发,保留工具调用对完整性 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| 压缩摘要结构 | — | — | — | — | 5 字段结构化摘要(task/state/discoveries/next/context) | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| 并行工具调用 | — | — | — | — | parallel_tool_calls 参数控制工具串行/并行执行 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| 工具选择控制 | — | — | — | — | tool_choice 动态切换 auto/none/required | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| 状态机约束 | — | — | — | — | Plan Notebook 强制单子任务 in_progress,前序必须完成 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| Hint 引导系统 | — | — | — | — | 根据计划状态自动生成 <system-hint> 提示下一步 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| 长期记忆集成 | — | — | — | — | agent_control/static_control 双模式,工具或自动触发 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| 多模态推理 | — | — | — | — | 支持 TTS 模型集成,AudioBlock 流式输出 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| 角色-模型静态绑定 | — | — | 子 Agent 在 executor 中硬编码 thinking=False,Lead Agent 由前端 mode 决定 | — | — | — | — | — | — | — | — | — | — | — | 主版本所有角色共用 research_model;Legacy 版 planner/writer 分离 | — | — | — | — | — | — | — | — | — | 图构建阶段通过 _proxy() 工厂确定,运行时不变 |
| 子Agent推理降级 | — | — | SubagentExecutor 强制 thinking_enabled=False,仅 Lead Agent 使用深度推理 | — | — | — | — | — | — | — | — | — | — | — | Researcher 用 think_tool 轻量反思,不启用 extended thinking | — | — | — | — | — | — | — | — | — | — |
| 树构建 | — | — | — | — | — | — | — | — | — | — | — | 基于 Neo4j 图数据库的树形记忆结构,节点含 embedding + metadata + sources | ThoughtTree 基于 anytree,BFS 并行展开 + 贪心剪枝,DFS 深度探索 + 死胡同回溯 | — | — | — | 自底向上:TOC 检测 → 结构提取 → 页码映射 → 大节点递归拆分 | — | — | — | — | — | — | — | — |
| 记忆重建融合 | — | — | — | — | — | — | — | — | — | — | — | LLM 驱动的碎片记忆融合,保留所有事实,消解代词,输出 ≤top_k 条干净段 | — | — | — | — | — | — | — | — | — | — | — | — | — |
| 专家知识集成 | — | — | — | — | — | — | — | — | — | — | — | — | TaskType.guidance 为 10 种任务类型注入领域 prompt,ExpRetriever 检索历史经验 | — | — | — | 将 Expert Knowledge 直接注入树搜索 prompt,无需微调 embedding | — | — | — | — | — | — | — | — |
| 推理级别归一化 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 统一 effort='medium',Bedrock 用 budget_tokens=2000 | 多供应商统一 LLMUsage 接口含 reasoning_tokens | 统一 config key → 各 Client 内部映射到供应商 API | — | 5 级枚举 none/normal/hard/mega/ultra 统一抽象 | — | — | 三级枚举 fast/smart/strategic 映射到具体模型名 |
| 环境变量运维覆盖 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | Random 列表、Tool 路由、Trial 次数均通过环境变量配置 | — | — | — | IFLOW_ 前缀环境变量可覆盖所有配置项 | — | — | AGENT_{NAME}_LLM_TIER 格式,无需改代码调整策略 |
| 路由审计 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 每次路由决策异步写入 autoModelRoutingResult 表 | — | — | — | — | — | — | — |
| 规则热更新 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 数据库存储规则 + RuleCache 5min TTL + 3min 后台刷新 | — | — | — | — | — | — | — |
| 加权路由 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | RoutingTarget 支持固定/随机/加权三种目标选择策略 | — | — | — | — | — | — | — |
| DOM感知推理 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 基于 A11y 混合树的结构化推理,非原始 HTML | — | — | — | — | — | — |
| 自愈推理 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | selfHeal 操作失败后重新快照+重新推理找替代选择器 | — | — | — | — | — | — |
| 多粒度视觉推理 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | search 页面级 → bbox 区域级,粗到细两级 | — | — | — | — |
| 多模态状态累积 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 历史图片 pixel_values 逐轮 concat 累积 | — | — | — | — |
| 混合推理模型适配 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 同一 callChatAPI 同时处理普通和推理模型响应 | — | — |
最佳实践
1.选择性启用推理增强:生成类任务不需要深度推理,分析类任务才需要
2.三级预算分层:按任务复杂度分配思考预算,避免一刀切浪费 token
3.大纲应是活文档:后续搜索发现的新信息应能反馈到大纲结构层面
4.XML 结构化输出 + fallback:优先解析结构化标签,失败时有降级策略
5.Prompt 增强作为独立子图:与主工作流解耦,可独立测试和复用
6.代码即推理:让 LLM 输出可执行代码而非 JSON,消除解析失败并天然支持多步推理
7.eval-then-act 两步模式:先纯评估确认值,再基于确认值执行 action,避免 TOCTOU
8.供应商级 reasoning 参数感知:运行时检测供应商能力,自动跳过不支持的参数
9.增量标签状态机:流式场景下 O(chunk) 检测标签闭合,仅在必要时触发完整解析
10.结构化输出用工具函数而非 response_format:兼容性更好,支持所有供应商
11.压缩保留工具调用对:避免 tool_use 和 tool_result 分离导致上下文错乱
12.计划状态机严格约束:防止并行执行多个子任务导致混乱
13.Query Rewriting 加 fallback:改写失败不阻塞检索,保证系统鲁棒性
14.RL 用 GRPO 而非 SFT:直接优化任务成功率,而非只学习格式
15.压缩摘要字段限制:防止 LLM 生成过长摘要浪费 token
16.Hint 系统自动化:根据计划状态自动生成提示,减少人工干预
17.并行工具调用可选:简单任务串行执行,复杂任务并行加速
18.动态压缩阈值应随摘要增长而线性扩展,避免压缩后立即再触发
19.用 retrieval_keys Set 追踪已执行操作,附加到压缩摘要中防止重复检索
20.查询分解时使用低 temperature(0.1)确保拆分结果稳定可复现
21.配置驱动模型分离:规划和实现阶段的模型选择应可独立配置,不硬编码
22.Fan-out/Fan-in 并行分析:独立的分析维度应并行执行,结果汇聚到下游 Agent
23.分析循环应有明确的停止条件:工具计划为空或返回 none 即停止
24.求解步骤应关联分析阶段的引用:available_cite 桥接两个循环
25.记忆系统应支持版本兼容:load_or_create 模式实现断点续传
26.分阶段 Prompt 模板比单一 prompt 更能控制每轮输出的结构和深度
27.硬性迭代上限 + 标记检测双重终止:防止无限循环同时允许提前完成
28.Token 超限时降级去除 RAG context 而非中断流程:保证研究连续性
29.声明式 thinking 参数:用 YAML 描述模型能力和启用参数,新增模型零代码适配
30.子 Agent 推理降级:编排场景下子任务不需要深度推理,硬编码 thinking=False 控制成本
31.最小侵入供应商补丁:覆写单个方法修复 SDK 兼容问题,不 fork 整个库
32.6 层停止检查防过度迭代:置信度→硬上限→预算→停滞→连续低效→成本效益
33.查询增强前置减少迭代:LLM 重写+伪代码提示提升首轮命中率
34.仓库复杂度因子动态调预算:文件数/行数/深度三维度 0.5-2.0 乘数
35.XML 标签比 JSON 更适合 LLM 结构化输出:格式一致性高,解析容错性强
36.检索后重建应保留所有原始事实:融合是压缩表述而非删除信息
37.双 LLM 分离降低推理成本:基础解析用轻量模型,深度推理用强模型
38.推理模式枚举化:将 react/by_order/plan_and_act 定义为枚举,Agent 运行时可切换
39.ToT 并行展开:BFS 层级内用 asyncio.gather 并行生成和评估节点,减少延迟
40.计划合并保留前缀:更新计划时保留与旧计划的公共前缀,避免重复执行已完成任务
41.on 映射到 low 而非 high:推理增强的默认值应偏保守,避免意外高成本
42.代码块感知的 tag 剥离:剥离 thinking 标签时必须跳过代码块内的同名标签
43.错误驱动的级别降级:从 API 错误消息中解析支持级别并自动重试
44.think_tool 的 docstring 本身就是推理指引,四维反思框架比空泛的'请思考'更有效
45.反思工具必须禁止与其他工具并行调用,否则 LLM 会跳过反思直接行动
46.推理模型排除 Auto 路由:避免高成本推理模型被自动选中
47.Stale-while-revalidate 缓存:过期时返回旧缓存同时后台刷新,避免阻塞
48.Bedrock reasoning 时必须 unset temperature:供应商特定约束需显式处理
49.让 LLM 自主决定推理深度:twoStep 由模型输出控制而非硬编码规则
50.增量上下文而非全量:二次推理只传状态差异,减少 token 浪费
51.diff 为空时 fallback 完整状态:防止因无变化检测导致推理缺少上下文
52.推理模型白名单检测:用前缀匹配识别推理模型,自动移除 temperature/top_p
53.双槽位而非多槽位:两层足够覆盖大多数场景,避免配置爆炸
54.供应商参数在 Client 内部映射:上层只传语义化参数,不暴露供应商细节
55.无效动作注入纠正 prompt:模型输出格式错误时返回引导性提示而非直接失败
56.active_mask 批量去活:不同样本不同轮次完成时避免无效计算
57.格式奖励前置门控:RL 训练中先检查输出格式再计算准确性,避免奖励信号噪声
58.max_model_len 主动去活:上下文超限时优雅跳过而非 OOM 崩溃
59.关键词从高级别到低级别匹配:避免'超级思考'被'思考'截获
60.指数级而非线性预算分层:低级别差异小无需细分,高级别需要大跨度
61.推理过程可折叠展示:用户可选择性查看,不强制暴露思考细节
62.结构化 JSON 输出任务默认关闭深度推理,分析任务按需开启
63.reasoning_content 不要丢弃:先尝试正则提取结果再决定是否重试
64.Token ID 优先于文本匹配:流式场景用整数比较代替字符串查找提升性能
65.懒加载注册表:17+ parser 不全部 import,首次使用才加载避免启动开销
66.委托模式处理条件分支:同一模型不同配置委托给不同 parser 而非 if-else
67.有状态缓冲处理非特殊 token:普通词表组成的标记需要跨 delta 累积匹配
68.Identity parser 兜底:无推理模型统一走透传路径而非特殊处理
69.图构建阶段绑定模型级别:避免运行时动态路由的不确定性,便于调试和成本预测
70.环境变量覆盖默认 tier:运维可在不改代码的情况下调整单个 Agent 的模型策略