第17章:推理技术 Reasoning Techniques

本章探讨了AI智能体的高级推理方法,重点关注多步骤逻辑推导与问题解决。这些技术超越了简单的顺序操作,使智能体的内部推理过程更加明确。这种方法使智能体能够分解问题、考虑中间步骤,并得出更强健且准确的结论。这些高级方法的核心原则之一是增加推理过程中的计算资源分配。这意味着为智能体或底层的LLM(大型语言模型)提供更多的处理时间或步骤,以处理查询并生成响应。与快速单次处理不同,智能体可以进行迭代优化、探索多种解决路径或利用外部工具。推理过程中的延长处理时间通常显著提高复杂问题的准确性、连贯性和稳健性,尤其是需要更深层次分析和审慎思考的问题。

实际应用与案例

实际应用包括:

  • 复杂问题解答: 促进多跳查询的解决,这类查询需要整合来自不同来源的数据并执行逻辑推导,可能涉及多个推理路径的分析,同时通过延长推理时间来综合信息。
  • 数学问题解决: 支持将数学问题分解为更小的、可解决的组件,展示逐步解决过程,并通过代码执行实现精确计算,其中延长推理时间能够生成更复杂的代码并进行验证。
  • 代码调试与生成: 支持智能体解释其生成或修正代码的逻辑,逐步定位潜在问题,并根据测试结果迭代优化代码(自我纠正),利用延长的推理时间进行全面的调试循环。
  • 战略规划: 协助通过推理各种选项、后果和前提条件来制定全面的计划,并根据实时反馈调整计划(ReAct),延长的推理时间能够生成更有效且可靠的计划。
  • 医学诊断: 帮助智能体系统地评估症状、测试结果和患者病史以得出诊断,在每个阶段阐明其推理过程,并可能利用外部工具进行数据检索(ReAct)。延长推理时间使得差异诊断更加全面。
  • 法律分析: 支持对法律文件和判例的分析,以制定论点或提供指导,详细说明所采取的逻辑步骤,并通过自我纠正确保逻辑一致性。延长推理时间使得法律研究和论点构建更加深入。

推理技术

首先,让我们深入探讨用于增强AI模型问题解决能力的核心推理技术。

链式思维(Chain-of-Thought, CoT)提示通过模拟逐步的思维过程显著增强了大型语言模型(LLMs)的复杂推理能力(见图1)。与直接给出答案不同,CoT提示引导模型生成一系列中间推理步骤。这种显式的分解方式使LLMs能够通过将复杂问题分解为更小、更易处理的子问题来解决复杂问题。这一技术显著提升了模型在需要多步推理的任务上的表现,例如算术运算、常识推理以及符号操作。CoT的主要优势在于它能够将一个困难的单步问题转化为一系列更简单的步骤,从而提高LLM推理过程的透明性。这种方法不仅提升了准确性,还提供了关于模型决策过程的宝贵洞察,有助于调试和理解。CoT可以通过多种策略实现,包括提供展示逐步推理的少样本示例,或者简单地指示模型“逐步思考”。其有效性源于它能够引导模型的内部处理向更有条理和逻辑的方向发展。因此,链式思维已成为赋能当代LLMs高级推理能力的核心技术。这种增强的透明性以及将复杂问题分解为可管理的子问题的能力,对于自主智能体特别重要,因为它使得它们能够在复杂环境中执行更可靠且可审计的操作。

图1:CoT提示及智能体生成的详细逐步响应。

图1:CoT提示及智能体生成的详细逐步响应。

我们来看一个例子。首先是一组指令,告诉AI如何思考,定义其角色以及需要遵循的清晰五步流程。这是启动结构化思维的提示。

接下来,示例展示了CoT过程的实际应用。在标记为“智能体的思维过程”的部分中,模型执行指令中的步骤,这是字面的“链式思维”。最后,“智能体的最终答案”是通过仔细的逐步推理过程生成的精炼、全面的输出。

你是一个信息检索智能体。你的目标是通过逐步思考,全面且准确地回答用户的问题。以下是你必须遵循的流程:
1.  **分析查询:** 理解用户问题的核心主题和具体要求。识别关键实体、关键词以及所需信息的类型。
2.  **制定搜索查询(针对知识库):** 根据你的分析,生成一系列精准的搜索查询,用于从知识库或外部工具中检索相关信息。
3.  **模拟信息检索(自我修正/推理):** 对每个搜索查询,设想你期望找到什么样的信息。如果你检索到内容,哪些是最相关的片段?考虑潜在的模糊性或缺失的部分。
4.  **综合信息:** 根据模拟检索和你对用户原始查询的理解,将收集到的信息综合成一个连贯且完整的答案。确保查询的所有方面都得到解决。
5.  **审查和完善:** 在最终确定之前,批判性地评估你的答案。它是否准确?是否全面?是否易于理解?是否简洁?如果不是,识别需要改进的地方以及如何改进。

**用户查询:** “解释经典计算机和量子计算机的主要区别,并简要描述量子计算的一个潜在应用。” 

**智能体的思考过程(内部 CoT 输出 - 根据提示建议):**  
**思考 1(分析查询):** 用户希望了解两件事:1. 经典计算机与量子计算机的主要区别。2. 量子计算的一个潜在应用。关键词:经典计算机、量子计算机、区别、潜在应用。  
**思考 2(制定搜索查询):**  
- “经典计算机与量子计算机的区别”  
- “量子计算机如何工作”  
- “经典计算机如何工作”  
- “量子计算的应用”  
**思考 3(模拟信息检索并识别关键概念):**  
- 从“区别”中:预期涉及比特与量子比特、叠加、纠缠、概率性质、特定问题的计算能力等概念。  
- 从“它们如何工作”中:经典计算机使用晶体管/二进制。量子计算机利用量子力学。  
- 从“应用”中:预期包括药物发现、材料科学、密码学、优化等领域。  
**思考 4(信息综合):** 经典计算机使用比特(0 或 1),按顺序处理信息。量子计算机使用量子比特,量子比特可以同时处于 0 和 1 的状态(叠加),并且可以纠缠,从而允许完全不同的计算方法。这使得它们能够比经典计算机更高效地解决某些问题(如分解大数或模拟复杂分子)。一个潜在的应用是药物发现,量子计算机可以以前所未有的精度模拟分子相互作用,加速新药的开发。  
**思考 5(审查和完善):**  
- 区别已涵盖(比特与量子比特、叠加、纠缠、处理方式)。  
- 应用已给出(药物发现)。  
- 是否简洁?是的。  
- 是否清晰?是的。  
- 看起来不错。  

**智能体的最终答案(输出给用户):**  
经典计算机通过比特处理信息,比特在任何时候只能是 0 或 1,并且以顺序方式执行操作。相比之下,量子计算机利用量子比特,量子比特可以通过叠加同时存在于多个状态,并且可以通过纠缠相互连接,从而实现指数级更复杂的计算。这一根本性差异使得量子计算机能够解决某些问题,例如模拟分子结构或破解复杂加密,这些问题对于最强大的经典超级计算机来说都是难以处理的。量子计算的一个重要潜在应用是药物发现,其能够精确模拟分子行为,从而彻底改变新药的开发过程。

思维树(ToT) 是一种基于链式思维(CoT)的推理技术。它允许大型语言模型通过分支进入不同的中间步骤,形成树状结构(见图 2)。这种方法通过支持回溯、自我纠正和探索替代解决方案来帮助解决复杂问题。维护一个可能性的树结构使模型能够在最终给出答案之前评估各种推理路径。这种迭代过程增强了模型处理需要战略规划和决策的复杂任务的能力。

图 2:思维树示例

图 2:思维树示例

自我修正(Self-correction),也称为自我优化(self-refinement),是智能体推理过程中的关键环节,尤其在链式思维(Chain-of-Thought)提示中尤为重要。它涉及智能体对其生成内容及中间思维过程的内部评估。通过这种批判性审查,智能体能够识别其理解或解决方案中的模糊之处、信息缺口或不准确之处。这种审查和优化的迭代循环使智能体能够调整其方法,提升响应质量,并在输出最终结果之前确保准确性和全面性。这种内部批判能力增强了智能体生成可靠且高质量结果的能力,正如第4章中的示例所展示的那样。

以下示例展示了一个系统化的自我修正过程,这对于优化人工智能生成内容至关重要。它包括起草、根据原始需求进行审查以及实施具体改进的迭代循环。示例首先概述了人工智能作为“自我修正智能体”(Self-Correction Agent)的功能,并定义了五步分析和修订工作流程。随后,展示了一个质量较低的社交媒体帖子“初始草稿”。“自我修正智能体的思维过程”是演示的核心部分。在这里,智能体根据指令对草稿进行批判性评估,指出诸如参与度低和号召性不明确等弱点。接着,智能体提出具体的改进建议,包括使用更有影响力的动词和表情符号。最后,过程以“最终修订内容”结束,即整合自我识别调整后的一份精炼且显著改进的版本。

你是一名高度批判且注重细节的自我修正智能体(Self-Correction Agent)。你的任务是根据原始需求审查之前生成的内容,并找出需要改进的地方。你的目标是优化内容,使其更加准确、全面、吸引人,并与提示保持一致。

以下是你需要遵循的自我修正流程:
1.  **理解原始需求:**审查生成内容的初始提示/需求。*原始意图*是什么?有哪些关键约束或目标?
2.  **分析当前内容:**仔细阅读提供的内容。
3.  **识别差异/弱点:**将当前内容与原始需求进行对比,寻找以下问题:
   * **准确性问题:**是否存在事实错误或误导性陈述?
   * **完整性缺口:**是否全面覆盖了原始提示的所有方面?是否有遗漏?
   * **清晰性与连贯性:**语言是否清晰、简洁、易于理解?逻辑是否流畅?
   * **语气与风格:**是否符合所需的语气和风格(例如,专业、吸引人、简洁)?
   * **参与度:**是否具有吸引力?是否能吸引读者的注意力?
   * **冗余/冗长:**是否有可以精简或删除的部分而不影响意义?
4.  **提出具体改进建议:**针对每个识别出的弱点,提出具体且可执行的修改建议。不要仅仅指出问题,还要提出解决方案。
5.  **生成修订内容:**根据提出的改进建议,重写原始内容,整合所有必要的修改。确保修订后的内容精炼且可供最终使用。

**原始提示/需求:**“撰写一篇简短、有吸引力的社交媒体帖子(最多150个字符),宣布一款新的环保产品线:‘GreenTech Gadgets’。”

**初始草稿(待修正内容):**
“我们有新产品。它们是绿色且科技感十足。立即购买GreenTech Gadgets!”(64字符)

**自我校正智能体的思维过程(内部链式思维输出 - 由提示激励):**

**思考 1(理解原始需求):**
- 简短、有吸引力的社交媒体帖子。
- 最多150字符。
- 宣布“GreenTech Gadgets”——一个新的环保产品线。

**思考 2(分析当前内容):**
“我们有新产品。它们是绿色科技产品。现在购买GreenTech Gadgets!”(64字符)

**思考 3(识别差距/弱点):**
- **吸引力:** 不够吸引人,听起来很普通。
- **环保性:** “绿色”暗示了环保,但没有明确突出其优势。
- **行动号召:** “现在购买!”还可以,但可以更有吸引力。
- **简洁性:** 虽然简短,但可以使用更强的动词/措辞。
- **影响力:** 缺乏对新产品发布的兴奋感。

**思考 4(提出具体改进):**
- 使内容更具动态性和吸引力。
- 强调“环保”和“创新”。
- 使用更强的动词和更主动的语态。
- 添加清晰、有吸引力的行动号召。
- 确保字符数不超过150。

**思考 5(生成修订内容):**
原始内容:“我们有新产品。它们是绿色科技产品。现在购买GreenTech Gadgets!”
修订版 1:“🌱 探索GreenTech Gadgets!我们的全新环保产品线融合创新与可持续发展。绿色生活,智慧选择!立即选购!#EcoFriendly #GreenTech”(148字符)

此修订版直接强调了环保性,使用表情符号增加吸引力,添加了更强的行动号召,并包含相关的标签,同时保持字符数限制。

**自我校正智能体的最终修订内容(输出给用户):**
🌱 探索GreenTech Gadgets!我们的全新环保产品线融合创新与可持续发展。绿色生活,智慧选择!立即选购!#EcoFriendly #GreenTech

程序辅助语言模型(PALMs)将大型语言模型(LLM)与符号推理能力相结合。这种集成允许LLM生成并执行代码(如Python),作为其问题解决过程的一部分。PALMs将复杂计算、逻辑操作和数据处理任务交给确定性的编程环境。该方法利用传统编程的优势来处理LLM可能在准确性或一致性方面存在局限性的任务。当面对符号挑战时,模型可以生成代码、执行代码,并将结果转换为自然语言。这种混合方法结合了LLM的理解和生成能力与精确计算,使模型能够以更高的可靠性和准确性解决更广泛的复杂问题。这对智能体来说至关重要,因为它通过结合精确计算与理解和生成能力,使其能够执行更准确和可靠的操作。一个示例是使用Google的ADK工具生成代码。

from google.adk.tools import agent_tool
from google.adk.agents import Agent
from google.adk.tools import google_search
from google.adk.code_executors import BuiltInCodeExecutor

search_agent = Agent(
    model='gemini-2.0-flash',
    name='SearchAgent',
    instruction="""
    你是Google搜索的专家
    """,
    tools=[google_search],
)

coding_agent = Agent(
    model='gemini-2.0-flash',
    name='CodeAgent',
    instruction="""
    你是代码执行的专家
    """,
    code_executor=[BuiltInCodeExecutor],
)

root_agent = Agent(
    name="RootAgent",
    model="gemini-2.0-flash",
    description="Root Agent",
    tools=[
        agent_tool.AgentTool(agent=search_agent),
        agent_tool.AgentTool(agent=coding_agent)
    ],
)

强化学习与可验证奖励 (RLVR): 虽然许多大型语言模型(LLM)使用的标准链式思维(Chain-of-Thought, CoT)提示方法非常有效,但它在推理方面仍然是一种相对基础的方式。这种方法生成单一且预设的思维路径,无法根据问题的复杂性进行调整。为了克服这些局限性,一类新的专用“推理模型”被开发出来。这些模型通过在回答问题之前投入可变的“思考”时间来进行不同的操作。这种“思考”过程生成了更广泛且动态的链式思维,可能长达数千个 token。这种扩展的推理方式使得模型能够表现出更复杂的行为,例如自我纠正和回溯,同时在处理更难的问题时投入更多的努力。实现这些模型的关键创新是一种名为“强化学习与可验证奖励”(Reinforcement Learning from Verifiable Rewards, RLVR)的训练策略。通过在具有已知正确答案的问题(如数学或代码)上进行训练,模型通过试错学习生成有效的长形式推理。这使得模型能够在没有直接人工监督的情况下进化其问题解决能力。最终,这些推理模型不仅生成答案,还生成一个“推理轨迹”,展示了诸如规划、监控和评估等高级技能。这种增强的推理和战略能力是开发自主人工AI智能体的基础,它们能够以最少的人工干预拆解并解决复杂任务。

ReAct(推理与行动,见图 3,其中 KB 代表知识库)是一种将链式思维(CoT)提示与智能体通过工具与外部环境交互能力相结合的范式。与生成最终答案的生成模型不同,ReAct 智能体会推理应该采取哪些行动。推理阶段包括一个类似于 CoT 的内部规划过程,智能体在其中确定下一步行动、考虑可用工具并预测结果。随后,智能体通过执行工具或函数调用来采取行动,例如查询数据库、进行计算或与 API 交互。

图 2:思维树示例

图 3:推理与行动

ReAct 以交替的方式运行:智能体执行一个动作,观察结果,并将观察结果纳入后续推理中。这种“思考、行动、观察、再思考……”的迭代循环使智能体能够动态调整计划、纠正错误,并完成需要与环境多次交互的目标。与线性 CoT 相比,这种方法提供了更强大、更灵活的问题解决能力,因为智能体能够响应实时反馈。通过结合语言模型的理解和生成能力以及使用工具的能力,ReAct 使智能体能够执行需要推理和实际操作的复杂任务。这种方法对智能体至关重要,因为它不仅使智能体能够推理,还能实际执行步骤并与动态环境交互。

CoD(Chain of Debates,辩论链)是微软提出的一个正式的人工智能框架,其中多个不同的模型协作并通过辩论解决问题,超越了单一 AI 的“链式思维”。该系统类似于一个 AI 委员会会议,不同模型提出初步观点、批判彼此的推理并交换反驳意见。其主要目标是通过利用集体智慧来提高准确性、减少偏差并改善最终答案的整体质量。作为一种 AI 版本的同行评审方法,这种方法创建了一个透明且值得信赖的推理过程记录。最终,它代表了一种从单一智能体提供答案转向多个智能体协作以找到更强大且经过验证的解决方案的转变。

GoD(辩论图)是一个先进的智能体框架,将讨论重新构想为动态的非线性网络,而非简单的线性链。在此模型中,论点是独立的节点,通过边连接起来,这些边表示诸如“支持”或“反驳”等关系,反映了真实辩论的多线程特性。这种结构允许新的探讨路径动态分支、独立演化,甚至随着时间的推移合并。结论的达成不是通过一系列顺序,而是通过识别整个图中最强大且支持最充分的论点集群来实现。在这一背景下,“支持充分”指的是已牢固确立且可验证的知识。这包括被认为是事实的基础知识,即本质上正确并被广泛接受的内容。此外,还包括通过搜索验证获得的事实证据,即与外部来源和现实数据进行验证的信息。最后,还涉及通过多个模型在辩论中达成的共识,表明对所呈现信息的高度一致性和信心。这种全面的方法确保了讨论信息的更强大和可靠的基础。这种方法为复杂的协作式人工智能推理提供了更全面和现实的模型。

MASS(可选高级主题): 对多智能体系统设计的深入分析表明,其有效性在很大程度上取决于用于编程单个智能体的提示质量以及决定其交互的拓扑结构。设计这些系统的复杂性非常高,因为它涉及一个庞大且复杂的搜索空间。为了解决这一挑战,开发了一种名为多智能体系统搜索(MASS)的新框架,用于自动化和优化MAS的设计。

MASS采用多阶段优化策略,通过交替进行提示和拓扑优化系统地导航复杂的设计空间(见图4)。

1. 块级提示优化:

该过程首先对单个智能体类型或“块”的提示进行局部优化,以确保每个组件在集成到更大的系统之前能够有效地执行其角色。这一步至关重要,因为它确保后续的拓扑优化是在性能良好的智能体基础上进行,而不是受到配置不佳的智能体的负面影响。例如,在针对HotpotQA数据集进行优化时,“辩论者”智能体的提示被创造性地设计为指示其扮演“主要出版物的专家事实核查员”的角色。其优化任务是仔细审查其他智能体提出的答案,将其与提供的上下文段落进行交叉验证,并识别任何不一致或未经支持的声明。在块级优化过程中发现的这种专门的角色扮演提示旨在使辩论者智能体在综合信息方面非常高效,然后再将其置于更大的工作流程中。

2. 工作流拓扑优化:

在完成局部优化后,MASS 通过从一个可定制的设计空间中选择和安排不同的智能体交互来优化工作流拓扑。为了提高搜索效率,MASS 采用了一种基于影响权重的方法。该方法通过测量相对于基线智能体的性能提升来计算每种拓扑的“增量影响”,并利用这些分数引导搜索更有前景的组合。例如,在优化 MBPP 编码任务时,拓扑搜索发现一种特定的混合工作流最为有效。最佳拓扑并非简单结构,而是结合了迭代改进过程和外部工具使用的组合。具体来说,该拓扑包括一个预测智能体,该智能体进行多轮反思,其代码由一个执行智能体通过测试用例进行验证。该发现的工作流表明,对于编码任务,结合迭代自我修正和外部验证的结构优于简单的 MAS 设计。

图 4:多智能体系统搜索(MASS)框架是一个三阶段优化过程,探索一个包含可优化提示(指令和演示)和可配置智能体构建模块(聚合、反思、辩论、总结和工具使用)的搜索空间。第一阶段,模块级提示优化,独立优化每个智能体模块的提示。第二阶段,工作流拓扑优化,从基于影响权重的设计空间中采样有效的系统配置,并整合优化后的提示。最后阶段,工作流级提示优化,在识别出第二阶段的最佳工作流后,对整个多智能体系统进行第二轮提示优化。

3. 工作流级提示优化:

最后阶段涉及对整个系统提示的全局优化。在识别出性能最佳的拓扑后,提示被作为一个整体进行微调,以确保它们适合协调工作,并优化智能体之间的依赖关系。例如,在为 DROP 数据集找到最佳拓扑后,最终优化阶段对“预测”智能体的提示进行了细化。最终优化后的提示非常详细,首先为智能体提供了数据集本身的摘要,指出其专注于“抽取式问答”和“数值信息”。随后包含了少样本正确问答行为的示例,并将核心指令框定为一个高风险场景:“你是一名高度专业化的 AI,负责为紧急新闻报道提取关键的数值信息。实时广播依赖于你的准确性和速度。”这种结合了元知识、示例和角色扮演的多层提示专门针对最终工作流进行了调整,以最大化准确性。

关键发现和原则:

实验表明,由 MASS 优化的 MAS 在多个任务上显著优于现有的手动设计系统和其他自动化设计方法。根据这项研究得出的有效 MAS 的关键设计原则有三点:

  • 在组合之前,用高质量的提示优化单个智能体。
  • 通过组合有影响力的拓扑构建 MAS,而不是探索一个不受约束的搜索空间。
  • 通过最终的工作流级联合优化建模并优化智能体之间的依赖关系。

基于我们关于关键推理技术的讨论,首先让我们研究一个核心性能原则:LLM的推理扩展法则(Scaling Inference Law)。该法则指出,随着分配给模型的计算资源增加,模型的性能会可预测地提高。我们可以在复杂系统中看到这一原则的应用,例如“深度研究”(Deep Research),其中一个AI智能体通过将主题分解为子问题、利用网络搜索作为工具并综合其发现来自主地进行研究。

深度研究(Deep Research)

“深度研究”一词描述了一类旨在充当不知疲倦且系统化研究助手的AI智能体工具。该领域的主要平台包括Perplexity AI、Google的Gemini研究功能,以及OpenAI在ChatGPT中的高级功能(见图5)。

图5:Google深度研究用于信息收集

图5:Google深度研究用于信息收集

这些工具引入了搜索过程中的一个根本性转变。标准搜索提供即时链接,将综合信息的工作留给用户。而深度研究采用了不同的模型。在这里,用户向AI提出一个复杂的查询,并给予它一个“时间预算”——通常几分钟。作为耐心的回报,用户会收到一份详细的报告。

在这段时间内,AI以智能体的方式为用户工作。它自主执行一系列复杂步骤,这些步骤对人类来说将非常耗时:

  1. 初步探索:根据用户的初始提示运行多个目标明确的搜索。
  2. 推理与优化:阅读并分析第一轮搜索结果,综合发现,批判性地识别信息中的空白、矛盾或需要更多细节的领域。
  3. 后续查询:基于其内部推理,进行新的、更细致的搜索以填补空白并加深理解。
  4. 最终综合:经过多轮迭代搜索和推理后,将所有经过验证的信息编译成一个单一、连贯且结构化的总结。

这种系统化的方法确保了信息收集的全面性和合理性,大幅提升了效率和信息深度,从而促进了更具智能体性的决策。

推理扩展法则(Scaling Inference Law)

这一关键原则规定了LLM性能与其操作阶段(即推理阶段)分配的计算资源之间的关系。推理扩展法则不同于更为熟悉的训练扩展法则,后者关注的是模型在创建过程中随着数据量和计算能力的增加而质量提升的情况。相反,推理扩展法则专门研究了LLM在主动生成输出或答案时发生的动态权衡。

该法则的核心在于揭示了通过在推理阶段增加计算资源投资,较小的LLM也可以实现优越的结果。这并不一定意味着使用更强大的GPU,而是采用更复杂或资源密集的推理策略。例如,可以指示模型生成多个潜在答案——例如通过多样化的束搜索(diverse beam search)或自一致性方法(self-consistency methods)——然后使用选择机制来确定最优输出。这种迭代优化或多候选生成过程需要更多的计算周期,但可以显著提高最终响应的质量。

这项原则为在部署智能体系统时进行知情且经济合理的决策提供了重要框架。它挑战了直觉上认为更大的模型总能带来更好性能的观念。该法则指出,在推理过程中,如果给予较小模型更大的“思考预算”,它有时可以超越依赖简单、计算强度较低的生成过程的大型模型。“思考预算”指的是推理过程中应用的额外计算步骤或复杂算法,使得较小模型能够探索更广泛的可能性或在确定答案之前进行更严格的内部检查。

因此,推理扩展法则成为构建高效且经济的智能体系统的基础。它提供了一种方法论,用于仔细平衡多个相互关联的因素:

  • 模型大小: 较小的模型在内存和存储需求方面具有内在优势。
  • 响应延迟: 虽然增加推理时间的计算可能会导致延迟增加,但该法则帮助识别性能提升是否值得这种延迟,或如何战略性地应用计算以避免过度延迟。
  • 运营成本: 部署和运行较大的模型通常会因更高的功耗和基础设施需求而导致持续运营成本增加。该法则展示了如何优化性能而不必不必要地提高这些成本。

通过理解和应用推理扩展法则,开发人员和组织可以做出战略性选择,从而为特定的智能体应用实现最佳性能,确保计算资源分配到对大型语言模型(LLM)输出质量和实用性影响最大的地方。这使得 AI 部署能够采用更细致且经济可行的方法,超越简单的“越大越好”范式。

实操代码示例

Google 开源的 DeepSearch 代码可通过 gemini-fullstack-langgraph-quickstart 仓库获取(图 6)。该仓库为开发者提供了使用 Gemini 2.5 和 LangGraph 编排框架构建全栈 AI 智能体的模板。这个开源技术栈便于实验基于智能体的架构,并且可以与本地 LLM(如 Gemma)集成。它利用 Docker 和模块化项目脚手架进行快速原型开发。需要注意的是,该版本是一个结构良好的演示,并非用于生产环境的后端。

图 6: (作者提供)包含多个反思步骤的 DeepSearch 示例

图 6: (作者提供)包含多个反思步骤的 DeepSearch 示例

这个项目提供了一个全栈应用程序,包含一个 React 前端和一个 LangGraph 后端,专为高级研究和会话式人工智能设计。LangGraph 智能体使用 Google Gemini 模型动态生成搜索查询,并通过 Google Search API 集成网络研究。系统采用反思性推理来识别知识缺口,迭代优化搜索,并综合引用答案。前端和后端均支持热重载。项目结构包括独立的 frontend/backend/ 目录。设置要求包括 Node.js、npm、Python 3.8+ 和 Google Gemini API 密钥。在后端的 .env 文件中配置 API 密钥后,可以分别安装后端(使用 pip install .)和前端(使用 npm install)的依赖项。开发服务器可以通过 make dev 同时运行,也可以单独运行。后端智能体定义在 backend/src/agent/graph.py 中,负责生成初始搜索查询、进行网络研究、执行知识缺口分析、迭代优化查询,并使用 Gemini 模型综合引用答案。生产部署需要后端服务器提供静态前端构建,并需要 Redis 用于流式实时输出,以及 Postgres 数据库用于数据管理。可以使用 docker-compose up 构建并运行 Docker 镜像,这还需要在 docker-compose.yml 示例中配置 LangSmith API 密钥。该应用程序使用 React(基于 Vite)、Tailwind CSS、Shadcn UI、LangGraph 和 Google Gemini。项目采用 Apache License 2.0 授权。

## 创建我们的智能体图
builder = StateGraph(OverallState, config_schema=Configuration)

## 定义我们将在其中循环的节点
builder.add_node("generate_query", generate_query)
builder.add_node("web_research", web_research)
builder.add_node("reflection", reflection)
builder.add_node("finalize_answer", finalize_answer)

## 设置入口点为 `generate_query`
## 这意味着该节点是第一个被调用的
builder.add_edge(START, "generate_query")

## 添加条件边以在并行分支中继续搜索查询
builder.add_conditional_edges(
    "generate_query",
    continue_to_web_research,
    ["web_research"]
)

## 对网络研究进行反思
builder.add_edge("web_research", "reflection")

## 评估研究
builder.add_conditional_edges(
    "reflection",
    evaluate_research,
    ["web_research", "finalize_answer"]
)

## 完成答案
builder.add_edge("finalize_answer", END)

graph = builder.compile(name="pro-search-agent")

图4:使用 LangGraph 的深度搜索示例(代码来自 backend/src/agent/graph.py

那么,智能体是如何思考的?

总结来说,智能体的思考过程是一种结构化的方法,结合了推理和行动来解决问题。这种方法使智能体能够明确规划步骤、监控进度,并与外部工具交互以收集信息。

智能体的“思考”核心由强大的 LLM(大型语言模型)驱动。该 LLM 生成一系列指导智能体后续行动的思考。这一过程通常遵循“思考-行动-观察”循环:

  1. 思考(Thought): 智能体首先生成一个文本形式的思考,用于分解问题、制定计划或分析当前情况。这种内部独白使智能体的推理过程透明且可引导。
  2. 行动(Action): 基于思考,智能体从预定义的离散选项集中选择一个行动。例如,在问答场景中,行动空间可能包括在线搜索、从特定网页检索信息或提供最终答案。
  3. 观察(Observation): 智能体根据所采取的行动从环境中接收反馈。这可能是网络搜索的结果或网页的内容。

这个循环会重复进行,每次观察都会为下一次思考提供信息,直到智能体确定已经找到最终解决方案并执行“完成”操作。

这种方法的有效性依赖于底层大型语言模型(LLM)的高级推理和规划能力。为了指导智能体,ReAct框架通常采用少样本学习(few-shot learning),即向LLM提供人类问题解决路径的示例。这些示例展示了如何有效地结合思考和行动来解决类似任务。

智能体的思考频率可以根据任务需求进行调整。对于知识密集型的推理任务(如事实核查),通常在每次行动之间插入思考,以确保信息收集和推理的逻辑流畅性。相比之下,对于需要执行大量动作的决策任务(如在模拟环境中导航),思考可能较为稀疏,允许智能体自行决定何时需要进行思考。

概览

定义(What)

复杂问题解决通常需要的不仅仅是一个单一的直接答案,这对人工智能来说是一个重大挑战。核心问题在于如何使AI智能体能够处理需要逻辑推理、分解和战略规划的多步骤任务。如果没有结构化的方法,智能体可能无法应对复杂性,从而导致不准确或不完整的结论。这些高级推理方法旨在使智能体的内部“思考”过程显性化,使其能够系统地解决问题。

设计意图(Why)

标准化解决方案是一套为智能体问题解决过程提供结构化框架的推理技术。诸如链式思维(Chain-of-Thought, CoT)和树状思维(Tree-of-Thought, ToT)等方法指导LLM分解问题并探索多种解决路径。自我纠正(Self-Correction)允许答案的迭代优化,确保更高的准确性。像ReAct这样的智能体框架将推理与行动相结合,使智能体能够与外部工具和环境交互以收集信息并调整计划。这种显性推理、探索、优化和工具使用的结合,创造了更强大、更透明且更具能力的AI系统。

使用原则(Rule of Thumb)

当问题过于复杂,无法通过单次回答解决,并需要分解、多步骤逻辑、与外部数据源或工具交互、或战略规划与适应时,使用这些推理技术是理想选择。对于那些展示“工作过程”或思考过程与最终答案同样重要的任务,这些技术尤为适用。

图解 (Visual Summary)

图7:推理设计模式

图7:推理设计模式

关键要点

  • 通过使其推理显式化,智能体能够制定透明的多步骤计划,这是实现自主行动和用户信任的基础能力。
  • ReAct框架为智能体提供了核心操作循环,使其能够超越单纯的推理,利用外部工具在环境中动态行动和适应。
  • 推理扩展定律(Scaling Inference Law)表明,智能体的性能不仅取决于其底层模型的规模,还取决于分配的“思考时间”,从而实现更深思熟虑、更高质量的自主行动。
  • 思维链(Chain-of-Thought,CoT)作为智能体的内部独白,通过将复杂目标分解为一系列可管理的行动,提供了一种结构化的计划制定方式。
  • 思维树(Tree-of-Thought)和自我纠正(Self-Correction)赋予智能体关键的深思熟虑能力,使其能够评估多种策略、从错误中回溯,并在执行前改进自己的计划。
  • 像思维辩论链(Chain of Debates,CoD)这样的协作框架标志着从单一智能体到多智能体系统的转变,多个智能体可以共同推理以解决更复杂的问题并减少个体偏差。
  • 像深度研究(Deep Research)这样的应用展示了这些技术如何最终使智能体能够完全自主地为用户执行复杂的长期任务,例如深入调查。
  • 为了构建高效的智能体团队,像MASS这样的框架可以自动优化单个智能体的指令方式及其交互方式,从而确保整个多智能体系统的最佳性能。
  • 通过整合这些推理技术,我们构建的智能体不仅是自动化的,而且是真正自主的,能够被信任去规划、行动并解决复杂问题,而无需直接监督。

结论

现代人工智能正在从被动工具发展为自主智能体,能够通过结构化推理解决复杂目标。这种智能体行为始于内部独白,通过像思维链(Chain-of-Thought,CoT)这样的技术驱动,使智能体能够在行动前制定连贯的计划。真正的自主性需要深思熟虑,智能体通过自我纠正(Self-Correction)和思维树(Tree-of-Thought,ToT)实现这一点,使其能够评估多种策略并独立改进自己的工作。迈向完全自主智能体系统的关键飞跃来自ReAct框架,该框架使智能体能够超越思考,开始通过使用外部工具进行行动。这确立了智能体的核心循环:思考、行动和观察,使智能体能够根据环境反馈动态调整其策略。

智能体深度思考的能力由推理扩展定律(Scaling Inference Law)驱动,其中更多的计算“思考时间”直接转化为更强大的自主行动能力。下一步的前沿是多智能体系统,像思维辩论链(Chain of Debates,CoD)这样的框架创造了协作智能体社会,能够共同推理以实现共同目标。这不仅是理论上的,像深度研究(Deep Research)这样的智能体应用已经展示了自主智能体如何能够代表用户执行复杂的多步骤调查。总体目标是设计可靠且透明的自主智能体,使其能够被信任去独立管理和解决复杂问题。最终,通过将显式推理与行动能力相结合,这些方法正在完成人工智能向真正自主问题解决者的转型。

参考文献

相关研究包括:

  1. "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models" by Wei et al. (2022)
  2. "Tree of Thoughts: Deliberate Problem Solving with Large Language Models" by Yao et al. (2023)
  3. "Program-Aided Language Models" by Gao et al. (2023)
  4. "ReAct: Synergizing Reasoning and Acting in Language Models" by Yao et al. (2023)
  5. Inference Scaling Laws: An Empirical Analysis of Compute-Optimal Inference for LLM Problem-Solving, 2024
  6. Multi-Agent Design: Optimizing Agents with Better Prompts and Topologies

    https://arxiv.org/abs/2502.02533

results matching ""

    No results matching ""