问题域/PD-12

推理增强

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

Signals

横向对比

维度MiroThinkerDeepResearchDeerFlowAIRIAgentScopeagentic-rag-for-dummiesDeepCodeDeepTutorDeepWikiFastCodeGPT-ResearcherMemOSMetaGPTOpenClawOpenOpenManusPageIndexReflyStagehandTradingAgentsVRAGiflow-climoyin-creatorvLLMvibe-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 避免无效 actionMAX_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_stagesRoleReactMode 枚举: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 个必需 sectionSolveChainStep 链:每步含 target + tool_calls + responseMarkdown 标记分段:## Research Plan / ## Research Update N / ## Final ConclusionXML 标签结构化输出(<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 + twoStepXML 标签对:<think>/<search>/<bbox>/<answer>DeltaMessage(reasoning, content) 统一输出
推理可见性前端模式选择器直接展示当前推理级别,LangSmith metadata 记录前端双轨分离:XML 标签提取 reasoning,speech 送 TTSprint_hint_msg 控制 hint 消息是否展示给用户全过程可见:前端展示 Plan/Update/Conclusion 阶段导航完整 iteration_metadata 含每轮置信度/ROI/预算使用率/停止原因ReasoningLevel stream 模式实时暴露推理过程think_tool 反思内容作为 ToolMessage 保留在消息历史中EnhancedChatOpenAI 捕获 reasoning_content 到 additional_kwargsthinkTool 仅 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 仅限 AnthropicOpenAI/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_responsewith_structured_output(QueryAnalysis) 约束查询分解输出reasoning_content 正则提取 JSON 作为回退prepare_structured_tag 为 xgrammar 生成工具感知约束标签
增强策略Prompt 级思考指引 + 模型级 extended thinking 双层增强代码规范化(AST 变量提升 + 自动 return)+ prompt 引导 eval-then-actQuery Rewriting + Memory Compression + Plan NotebookPydantic 结构化分解 + 强制首次搜索 + 压缩上下文注入自适应 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_factorxhigh 白名单限制高成本模型,binary 提供商自动降为 on/offLegacy 版 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/32Kcount_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 + sourcesThoughtTree 基于 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 内部映射到供应商 API5 级枚举 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 的模型策略