第17章:Reasoning Techniques
第17章:Reasoning Techniques 本章深入探讨智能 Agent 的先进推理方法,重点关注多步骤逻辑推演和问题解决。这些技术超越了简单的顺序操作,使 Agent 的内部推理过程变得明确。这使得 Agent 能够分解问题、考虑中间步骤,并得出更稳健和准确的结论。这些先进方法的一个核心原则是:在 infer...
第17章:Reasoning Techniques
本章深入探讨智能 Agent 的先进推理方法,重点关注多步骤逻辑推演和问题解决。这些技术超越了简单的顺序操作,使 Agent 的内部推理过程变得明确。这使得 Agent 能够分解问题、考虑中间步骤,并得出更稳健和准确的结论。这些先进方法的一个核心原则是:在 inference 期间分配更多的计算资源。这意味着给予 Agent 或底层 LLM 更多的处理时间或步骤来处理查询并生成响应。Agent 可以进行迭代优化、探索多个解决路径,或利用外部工具,而不是快速、一次性地通过。这种在 inference 期间延长的处理时间通常能显著提高准确性、连贯性和稳健性,特别是对于需要更深入分析和深思熟虑的复杂问题。
实际应用与用例
实际应用包括:
- Complex Question Answering:促进多跳(multi-hop)查询的解析,这需要整合来自不同来源的数据并执行逻辑推演,可能涉及对多个推理路径的检查,并从延长的 inference 时间中受益,以综合信息。
- Mathematical Problem Solving:使数学问题能够被分解为更小的、可解决的组成部分,展示逐步过程,并利用代码执行进行精确计算,其中延长的 inference 使得能够生成和验证更复杂的代码。
- Code Debugging and Generation:支持 Agent 解释其生成或修正代码的 rationale,按顺序找出潜在问题,并根据测试结果迭代优化代码(Self-Correction),利用延长的 inference 时间进行彻底的调试循环。
- Strategic Planning:协助通过推理各种选项、后果和前提条件来制定全面的计划,并根据实时反馈(ReAct)调整计划,其中延长的深思熟虑可以带来更有效和可靠的计划。
- Medical Diagnosis:帮助 Agent 系统地评估症状、检测结果和患者病史,以得出诊断,在每一阶段阐明其推理,并可能利用外部工具进行数据检索(ReAct)。增加的 inference 时间允许更全面的鉴别诊断。
- Legal Analysis:支持分析法律文件和先例以制定论点或提供指导,详细说明所采取的逻辑步骤,并通过自我修正确保逻辑一致性。增加的 inference 时间允许更深入的法律研究和论点构建。
推理技术
首先,让我们深入探讨用于增强 AI 模型问题解决能力的核心推理技术。
Chain-of-Thought (CoT) prompting 通过模仿逐步思考过程(见图1),显著增强了 LLM 的复杂推理能力。CoT prompt 不是提供直接答案,而是引导模型生成一系列中间推理步骤。这种明确的分解使 LLM 能够将复杂问题分解为更小、更易于管理的子问题,从而解决问题。此技术显著提高了模型在需要多步骤推理的任务上的表现,如算术、常识推理和符号操作。CoT 的一个主要优势是它能够将困难的一步问题转化为一系列更简单的步骤,从而增加了 LLM 推理过程的透明度。这种方法不仅提高了准确性,还为模型的决策提供了宝贵的见解,有助于调试和理解。CoT 可以使用多种策略来实施,包括提供展示逐步推理的 few-shot 示例,或者简单地指示模型"一步一步思考"。其有效性源于其引导模型内部处理朝向更审慎和逻辑进展的能力。因此,Chain-of-Thought 已成为当代 LLM 中实现先进推理能力的基石技术。这种增强的透明度和将复杂问题分解为可管理的子问题的能力,对于 autonomous agents 尤为重要,因为它使它们能够在复杂环境中执行更可靠和可审计的操作。
让我们看一个例子。它以一组指令开始,告诉 AI 如何思考,定义其 persona 和要遵循的清晰的五步骤流程。这是启动结构化思考的 prompt。
随后,例子展示了 CoT 过程的实际运作。标记为"Agent's Thought Process"的部分是模型执行指令步骤的内部独白。这就是字面意义上的"chain of thought"。最后,"Agent's Final Answer"是经过仔细的、逐步推理过程后生成的精炼、全面的输出。
You are an Information Retrieval Agent. Your goal is to answer the
user's question comprehensively and accurately by thinking
step-by-step.
Here's the process you must follow:
1. **Analyze the Query:** Understand the core subject and specific
requirements of the user's question. Identify key entities, keywords,
and the type of information being sought.
2. **Formulate Search Queries (for Knowledge Base):** Based on your
analysis, generate a list of precise search queries that you would
use to retrieve relevant information from a knowledge base or
external tools.
3. **Simulate Information Retrieval (Self-Correction/Reasoning):**
For each search query, mentally consider what kind of information you
expect to find. If you were to retrieve the content, what would be
the most relevant snippets? Think about potential ambiguities or
missing pieces.
4. **Synthesize Information:** Based on the simulated retrieval and
your understanding of the user's original query, synthesize the
gathered information into a coherent and complete answer. Ensure all
aspects of the query are addressed.
5. **Review and Refine:** Before finalizing, critically evaluate
your answer. Is it accurate? Is it comprehensive? Is it easy to
understand? Is it concise? If not, identify what needs to be improved
and how.
**User Query:** "Explain the main differences between classical
computers and quantum computers, and briefly describe a potential
application of quantum computing."
**Agent's Thought Process (Internal CoT Output - encouraged by the
prompt):**
**Thought 1 (Analyze Query):**
The user wants two things:
1. Main differences between classical and quantum computers.
2. One potential application of quantum computing.
Keywords: classical computers, quantum computers, differences,
potential application.
**Thought 2 (Formulate Search Queries):**
- "differences classical vs quantum computers"
- "how quantum computers work"
- "how classical computers work"
- "applications of quantum computing"
**Thought 3 (Simulate Information Retrieval & Identify Key
Concepts):**
- From "differences": Expect concepts like bits vs. qubits,
superposition, entanglement, probabilistic nature, computational
power for specific problems.
- From "how they work": Classical uses transistors/binary. Quantum
uses quantum mechanics.
- From "applications": Expect drug discovery, material science,
cryptography, optimization.
**Thought 4 (Synthesize Information):**
Classical computers use bits (0 or 1), processing information
sequentially. Quantum computers use qubits, which can be 0, 1, or
both simultaneously (superposition), and can be entangled, allowing
for vastly different computational approaches. This enables them to
solve certain problems (like factoring large numbers or simulating
complex molecules) far more efficiently than classical computers. A
potential application is in drug discovery, where quantum computers
could simulate molecular interactions with unprecedented accuracy,
accelerating the development of new medicines.
**Thought 5 (Review and Refine):**
- Differences are covered (bits vs qubits, superposition,
entanglement, processing).
- Application is given (drug discovery).
- Is it brief? Yes.
- Is it clear? Yes.
- Looks good.
**Agent's Final Answer (Output to User):**
Classical computers process information using bits, which can be
either a 0 or a 1 at any given time, performing operations
sequentially. In contrast, quantum computers utilize qubits, which
can exist in multiple states simultaneously through superposition and
can be linked through entanglement, allowing for exponentially more
complex computations. This fundamental difference enables quantum
machines to tackle certain problems, such as simulating molecular
structures or breaking complex encryption, that are intractable for
even the most powerful classical supercomputers. A significant
potential application of quantum computing lies in drug discovery,
where its ability to precisely model molecular behavior could
revolutionize the development of new pharmaceuticals.Tree-of-Thought (ToT) 是一种建立在 Chain-of-Thought (CoT) 基础上的推理技术。它允许大型语言模型通过分支到不同的中间步骤来探索多个推理路径,形成树状结构(见图2)。这种方法支持复杂的问题解决,使能 backtracking、self-correction 和替代解决方案的探索。维护一个可能性树使模型能够在最终确定答案之前评估各种推理轨迹。这个迭代过程增强了模型处理需要战略规划和决策的挑战性任务的能力。
Self-correction(也称为 self-refinement)是 Agent 推理过程的一个关键方面,特别是在 Chain-of-Thought prompting 中。它涉及 Agent 对其生成的内容和中间思考过程进行内部评估。这种批判性审查使 Agent 能够识别其理解或解决方案中的歧义、信息缺口或不准确性。这种审查和优化的迭代循环使 Agent 能够调整其方法,提高响应质量,并在交付最终输出之前确保准确性和全面性。这种内部评判增强了 Agent 产生可靠和高质量结果的能力,如第4章中的示例所示。
此示例展示了一个系统性的 self-correction 过程,这对于优化 AI 生成的内容至关重要。它涉及起草、根据原始需求审查以及实施具体改进的迭代循环。该说明首先概述了 AI 作为"Self-Correction Agent"的功能,并定义了五步骤分析和修订工作流。随后,展示了一个次优的社交媒体帖子"Initial Draft"。其核心是"Self-Correction Agent's Thought Process"的演示。在这里,Agent 根据其指令批判性地评估草稿,指出诸如参与度低和行动号召模糊等弱点。然后,它提出了具体的改进建议,包括使用更有影响力的动词和 emoji。该过程以"Final Revised Content"结束,这是一个精炼且显著改进的版本,整合了自我识别的调整。
You are a highly critical and detail-oriented Self-Correction Agent.
Your task is to review a previously generated piece of content
against its original requirements and identify areas for improvement.
Your goal is to refine the content to be more accurate,
comprehensive, engaging, and aligned with the prompt.
Here's the process you must follow for self-correction:
1. **Understand Original Requirements:** Review the initial
prompt/requirements that led to the content's creation. What was the
*original intent*? What were the key constraints or goals?
2. **Analyze Current Content:** Read the provided content carefully.
3. **Identify Discrepancies/Weaknesses:** Compare the current
content against the original requirements. Look for:
* **Accuracy Issues:** Are there any factual errors or misleading
statements?
* **Completeness Gaps:** Does it fully address all aspects of the
original prompt? Is anything missing?
* **Clarity & Coherence:** Is the language clear, concise, and
easy to understand? Does it flow logically?
* **Tone & Style:** Does it match the desired tone and style
(e.g., professional, engaging, concise)?
* **Engagement:** Is it captivating? Does it hold the reader's
attention?
* **Redundancy/Verbosity:** Can any parts be condensed or removed
without losing meaning?
4. **Propose Specific Improvements:** For each identified weakness,
suggest concrete and actionable changes. Do not just state the
problem; propose a solution.
5. **Generate Revised Content:** Based on your proposed
improvements, rewrite the original content to incorporate all the
necessary changes. Ensure the revised content is polished and ready
for final use.
**Original Prompt/Requirements:** "Write a short, engaging social
media post (max 150 characters) announcing a new eco-friendly product
line: 'GreenTech Gadgets'."
**Initial Draft (Content to be corrected):**
"We have new products. They are green and techy. Buy GreenTech
Gadgets now!"
**Self-Correction Agent's Thought Process (Internal CoT Output -
encouraged by the prompt):**
**Thought 1 (Understand Original Requirements):**
- Short, engaging social media post.
- Max 150 characters.
- Announce "GreenTech Gadgets" - a new eco-friendly product line.
**Thought 2 (Analyze Current Content):**
"We have new products. They are green and techy. Buy GreenTech
Gadgets now!" (64 characters)
**Thought 3 (Identify Discrepancies/Weaknesses):**
- **Engaging:** Not very engaging. Sounds generic.
- **Eco-friendly:** Implied by "green," but not explicitly
highlighted as a benefit.
- **Call to Action:** "Buy now!" is okay, but could be more
compelling.
- **Conciseness:** It's short, but could use stronger verbs/phrasing.
- **Impact:** Lacks excitement for a new product launch.
**Thought 4 (Propose Specific Improvements):**
- Make it more dynamic and exciting.
- Emphasize "eco-friendly" and "innovation."
- Use stronger verbs and more active voice.
- Add a clear, engaging call to action.
- Ensure it stays under 150 characters.
**Thought 5 (Generate Revised Content):**
Original: "We have new products. They are green and techy. Buy
GreenTech Gadgets now!"
Revised idea 1: " Discover GreenTech Gadgets! Our new eco-friendly
line blends innovation with sustainability. Go green, go smart! Shop
now! #EcoFriendly #GreenTech" (148 characters)
This revision directly addresses eco-friendliness, uses emojis for
engagement, adds a stronger call to action, and includes relevant
hashtags while staying within the character limit.
**Self-Correction Agent's Final Revised Content (Output to User):**
🌱 Discover GreenTech Gadgets! Our new eco-friendly line blends
innovation with sustainability. Go green, go smart! Shop now!
#EcoFriendly #GreenTech从根本上说,此技术将质量控制措施直接整合到 Agent 的内容生成中,产生更精细、更精确和更优质的结果,从而更有效地满足复杂的用户需求。
Program-Aided Language Models (PALMs) 将 LLM 与符号推理能力相集成。这种集成允许 LLM 在其问题解决过程中生成并执行代码(如 Python)。PALM 将复杂的计算、逻辑操作和数据操作卸载到确定性的编程环境中。这种方法利用传统编程的优势来处理 LLM 在准确性或一致性方面可能表现受限的任务。当面对符号挑战时,模型可以生成代码、执行代码,并将结果转换为自然语言。这种混合方法将 LLM 的理解和生成能力与精确计算相结合,使模型能够解决更广泛的复杂问题,并具有潜在的更高可靠性和准确性。这对于 Agent 来说很重要,因为它允许它们通过利用精确计算以及其理解和生成能力来执行更准确和可靠的操作。一个例子是在 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="""
You're a specialist in Google Search
""",
tools=[google_search],
)
coding_agent = Agent(
model='gemini-2.0-flash',
name='CodeAgent',
instruction="""
You're a specialist in Code Execution
""",
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)],
)Reinforcement Learning with Verifiable Rewards (RLVR):虽然有效,但许多 LLM 使用的标准 Chain-of-Thought (CoT) prompting 是一种有些基础的推理方法。它生成单一的、预定的思路,而不会适应问题的复杂性。为了克服这些限制,已经开发了一类新的专用"reasoning models"。这些模型的运作方式不同,它们在提供答案之前花费可变数量的"思考"时间。这个"思考"过程产生更广泛和动态的 Chain-of-Thought,可以长达数千个 token。这种扩展的推理允许更复杂的行为,如 self-correction 和 backtracking,模型为更难的问题投入更多努力。使这些模型成为可能的关键创新是一种称为 Reinforcement Learning from Verifiable Rewards (RLVR) 的训练策略。通过在具有已知正确答案(如数学或代码)的问题上训练模型,它通过试错学习生成有效的、长格式的推理。这使得模型能够在没有直接人工监督的情况下发展其问题解决能力。最终,这些 reasoning models 不仅产生答案;它们生成一个"reasoning trajectory",展示了先进的技能,如 planning、monitoring 和 evaluation。这种增强的推理和战略能力是 autonomous AI agents 发展的基础,它可以分解和解决复杂任务,只需最少的人工干预。
ReAct (Reasoning and Acting,见图3,其中 KB 代表 Knowledge Base)是一种将 Chain-of-Thought (CoT) prompting 与 Agent 通过使用工具与外部环境影响的能力相集成的范式。与生成最终答案的生成模型不同,ReAct Agent 对要采取哪些行动进行推理。这个推理阶段涉及一个内部规划过程,类似于 CoT,其中 Agent 确定其下一步,考虑可用工具,并预期结果。随后,Agent 通过执行工具或 function call 来行动,例如查询数据库、执行计算或与 API 交互。
ReAct 以交错的方式运行:Agent 执行一个 action,观察结果,并将此观察纳入后续推理中。这种"Thought, Action, Observation, Thought..."的迭代循环使 Agent 能够动态调整其计划、纠正错误,并实现需要与环境进行多次交互的目标。与线性 CoT 相比,这提供了一种更稳健和灵活的问题解决方法,因为 Agent 会对实时反馈做出响应。通过将语言模型的理解和生成能力与使用工具的能力相结合,ReAct 使 Agent 能够执行既需要推理又需要实际执行的复杂任务。这种方法对于 Agent 至关重要,因为它不仅允许它们进行推理,还允许它们实际执行步骤并与动态环境交互。
CoD (Chain of Debates) 是微软提出的一个正式的 AI 框架,其中多个不同的模型协作并辩论来解决问题,超越了单一 AI 的"chain of thought"。这个系统就像一个 AI 委员会会议,不同的模型提出初步想法、相互评判推理,并交换反方论点。主要目标是通过利用集体智能来提高准确性、减少偏见并改善最终答案的整体质量。作为 AI 版本的同行评审,这种方法创建了推理过程的透明且可信的记录。最终,它代表了从单一 Agent 提供答案到协作 Agent 团队共同工作以寻找更稳健和经过验证的解决方案的转变。
GoD (Graph of Debates) 是一个先进的 Agentic 框架,它将讨论重新构想为一个动态的、非线性的网络,而不是简单的链条。在这个模型中,论点是单个节点,由表示"支持"或"反驳"等关系的边连接,反映了真实辩论的多线程性质。这种结构允许新的调查线索动态分支、独立演化,甚至随着时间的推移而合并。结论不是在一个序列的末端达成,而是通过识别整个图中最稳健和支持最充分的论点集群来达成。在这个上下文中,"充分支持"指的是被牢固确立且可验证的知识。这可以包括被认为是 ground truth 的信息,这意味着它本质上是正确的并被广泛接受为事实。此外,它还包括通过 search grounding 获得的事实证据,其中信息根据外部来源和真实世界数据进行验证。最后,它还涉及多个模型在辩论期间达成的共识,表明对所呈现信息有高度的一致性和信心。这种全面的方法确保了所讨论信息的更稳健和可靠的基础。这种方法为复杂的、协作的 AI 推理提供了一个更整体和真实的模型。
MASS(可选高级主题):对多 Agent 系统设计的深入分析表明,其有效性关键取决于用于编程单个 Agent 的 prompt 质量和决定其交互的拓扑结构。设计这些系统的复杂性很大,因为它涉及一个庞大而复杂的搜索空间。为了应对这一挑战,开发了一个名为 Multi-Agent System Search (MASS) 的新框架,以自动化和优化 MAS 的设计。
MASS 采用多阶段优化策略,通过交错进行 prompt 和拓扑优化来系统地导航复杂的设计空间(见图4):
1. Block-Level Prompt Optimization:该过程始于对单个 Agent 类型或"块"的 prompt 进行局部优化,以确保每个组件在被集成到更大的系统之前都能有效地执行其角色。这一初始步骤至关重要,因为它确保后续的拓扑优化建立在性能良好的 Agent 之上,而不是遭受配置不良的 Agent 的复合影响。例如,当针对 HotpotQA 数据集进行优化时,"Debator"Agent 的 prompt 被创造性地构建为指示其充当"主要出版物的专家事实核查员"。其优化后的任务是仔细审查来自其他 Agent 的提议答案,与提供的上下文段落进行交叉引用,并识别任何不一致或未经支持的声明。这种在块级优化过程中发现的专用角色扮演 prompt,旨在使 debator agent 在甚至被放置到更大的工作流中之前,就能高效地综合信息。
2. Workflow Topology Optimization:在局部优化之后,MASS 通过从可定制设计空间中选择和安排不同的 Agent 交互来优化工作流拓扑。为了使此搜索高效,MASS 采用了一种 influence-weighted 方法。该方法通过测量每个拓扑相对于基线 Agent 的性能增益来计算其"增量影响",并使用这些分数来引导搜索朝向更有前景的组合。例如,当针对 MBPP 编码任务进行优化时,拓扑搜索发现特定的混合工作流是最有效的。最佳发现的拓扑不是一个简单的结构,而是迭代优化过程与外部工具使用的结合。具体来说,它由一个 predictor agent 组成,该 Agent 参与多轮 reflection,其代码由一个针对测试用例运行代码的 executor agent 进行验证。这种被发现的工作流表明,对于编码而言,结合迭代 self-correction 和外部验证的结构优于更简单的 MAS 设计。
3. Workflow-Level Prompt Optimization:最后阶段涉及对整个系统的 prompt 进行全局优化。在确定了性能最佳的拓扑之后,prompt 将作为单个集成实体进行微调,以确保它们是为编排而定制的,并且 Agent 相互依赖性得到了优化。例如,在为 DROP 数据集找到最佳拓扑之后,最后的优化阶段优化了"Predictor"Agent 的 prompt。最终的、优化后的 prompt 非常详细,首先向 Agent 提供数据集本身的摘要,注意其专注于"extractive question answering"和"numerical information"。然后,它包括正确问答行为的 few-shot 示例,并将核心指令构建为一个高风险的场景:"You are a highly specialized AI tasked with extracting critical numerical information for an urgent news report. A live broadcast is relying on your accuracy and speed"。这种结合了元知识、示例和角色扮演的多方面 prompt,是专门针对最终工作流进行微调的,以最大化准确性。
主要发现和原则
实验表明,由 MASS 优化的 MAS 在一系列任务上显著优于现有的手动设计系统和其他自动化设计方法。根据这项研究,有效 MAS 的关键设计原则有三条:
- 在组合之前,使用高质量的 prompt 优化单个 Agent。
- 通过组合有影响力的拓扑来构建 MAS,而不是探索无约束的搜索空间。
- 通过最终的、工作流级别的联合优化来建模和优化 Agent 之间的相互依赖性。
基于我们对关键推理技术的讨论,让我们首先考察一个核心性能原则:LLM 的 Scaling Inference Law。这个定律指出,随着分配给它的计算资源的增加,模型的性能会可预测地提高。我们可以在复杂系统中看到这一原则的实际应用,如 Deep Research,其中 AI Agent 利用这些资源,通过将主题分解为子问题、使用 Web search 作为工具并综合其发现,来自主调查一个主题。
Deep Research
术语"Deep Research"描述了一类 AI Agentic 工具,旨在充当不知疲倦、有条理的研究助手。该领域的主要平台包括 Perplexity AI、Google 的 Gemini research capabilities,以及 OpenAI 在 ChatGPT 中的高级功能(见图5)。
这些工具引入的一个基本转变是搜索过程本身的改变。标准搜索提供即时链接,将综合工作留给你。Deep Research 则在不同的模型上运行。在这里,你给 AI 分配一个复杂的查询,并授予它一个"time budget"——通常是几分钟。作为这种等待的回报,你会收到一份详细的报告。
在此期间,AI 以 agentic 的方式代表你工作。它自主执行一系列复杂的步骤,这些步骤对于一个人来说非常耗时:
- Initial Exploration:它根据你的初始 prompt 运行多个有针对性的搜索。
- Reasoning and Refinement:它阅读并分析第一波结果,综合发现,并批判性地识别缺口、矛盾或需要更多细节的领域。
- Follow-up Inquiry:基于其内部推理,它进行新的、更细致的搜索,以填补那些缺口并加深其理解。
- Final Synthesis:在经过几轮这种迭代搜索和推理之后,它将所有经过验证的信息编译成一份单一的、连贯的、结构化的摘要。
这种系统性的方法确保了全面且经过深思熟虑的响应,显著提高了信息收集的效率和深度,从而促进了更具 agentic 的决策。
Scaling Inference Law
这一关键原则决定了 LLM 的性能与在其运行阶段(称为 inference)期间分配的计算资源之间的关系。Inference Scaling Law 不同于更为人熟知的训练 scaling laws,后者关注模型质量如何随着模型创建期间数据量和计算能力的增加而提高。相反,这个定律专门研究 LLM 在主动生成输出或答案时发生的动态权衡。
这一定律的一个基石是这样一个启示:通过增加 inference 时的计算投入,通常可以从相对较小的 LLM 中获得更优的结果。这不一定意味着使用更强大的 GPU,而是采用更复杂或资源更密集的 inference 策略。这种策略的一个主要例子是指导模型生成多个潜在的答案——可能通过诸如 diverse beam search 或 self-consistency 方法等技术——然后采用一种选择机制来识别最佳输出。这种迭代优化或多候选生成过程需要更多的计算周期,但可以显著提高最终响应的质量。
这一原则为 Agent 系统的部署提供了一个至关重要的框架,用于做出明智且经济上合理的决策。它挑战了"更大的模型总能产生更好性能"的直观观念。该定律假设,一个较小的模型,当在 inference 期间被授予更充裕的"thinking budget"时,偶尔可以超越依赖更简单、计算强度较低的生成过程的更大模型。这里的"thinking budget"指的是在 inference 期间应用额的计算步骤或复杂算法,允许较小的模型在确定一个答案之前探索更广泛的可能性或应用更严格的内部检查。
因此,Scaling Inference Law 成为构建高效且经济高效的 Agentic 系统的基础。它提供了一种方法来仔细平衡几个相互关联的 factors:
- Model Size:较小的模型在内存和存储方面 inherently 要求较低。
- Response Latency:虽然增加 inference-time 计算可能会增加延迟,但该定律有助于确定性能增益超过此增加的临界点,或者如何策略性地应用计算以避免过度延迟。
- Operational Cost:部署和运行较大的模型通常会由于增加的功耗和基础设施需求而产生更高的持续运营成本。该定律展示了如何优化性能,而不会不必要地增加这些成本。
通过理解和应用 Scaling Inference Law,开发人员和组织可以做出战略选择,从而为特定的 agentic 应用带来最佳性能,确保计算资源被分配到对 LLM 输出的质量和实用性影响最大的地方。这允许采用更细微和经济可行的 AI 部署方法,超越简单的"bigger is better"范式。
动手代码示例
DeepSearch 代码由 Google 开源,可通过 gemini-fullstack-langgraph-quickstart 仓库获取(图6)。该仓库为开发人员提供了一个模板,用于使用 Gemini 2.5 和 LangGraph 编排框架构建全栈 AI Agent。这个开源栈促进了对基于 Agent 的架构的实验,并且可以与本地 LLM(如 Gemma)集成。它利用 Docker 和模块化项目脚手架进行快速原型设计。应该注意的是,此版本是一个结构良好的演示,并不打算作为生产就绪的后端。
该项目提供了一个全栈应用程序,具有 React 前端和 LangGraph 后端,专为高级研究和对话式 AI 而设计。一个 LangGraph Agent 使用 Google Gemini 模型动态生成搜索查询,并通过 Google Search API 集成网络研究。该系统采用反思性推理来识别知识缺口,迭代优化搜索,并综合带有引用的答案。前端和后端支持热重载。
项目的结构包括单独的 frontend/ 和 backend/ 目录。设置要求包括 Node.js、npm、Python 3.8+ 和 Google Gemini API 密钥。在后端 .env 文件中配置 API 密钥后,可以安装后端(使用 pip install .)和前端(npm install)的依赖项。可以使用 make dev 并发运行开发服务器,也可以单独运行。后端 Agent 定义在 backend/src/agent/graph.py 中,它生成初始搜索查询、进行网络研究、执行知识缺口分析、迭代优化查询,并使用 Gemini 模型综合带有引用的答案。生产部署涉及后端服务器提供静态前端构建,并需要 Redis 用于流式传输实时输出,以及 Postgres 数据库用于管理数据。可以使用 docker-compose up 构建并运行 Docker 镜像,这也需要为 docker-compose.yml 示例提供 LangSmith API 密钥。该应用程序使用 React with Vite、Tailwind CSS、Shadcn UI、LangGraph 和 Google Gemini。该项目基于 Apache License 2.0 许可证。
# Create our Agent Graph
builder = StateGraph(OverallState, config_schema=Configuration)
# Define the nodes we will cycle between
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)
# Set the entrypoint as `generate_query`
# This means that this node is the first one called
builder.add_edge(START, "generate_query")
# Add conditional edge to continue with search queries in a parallel branch
builder.add_conditional_edges(
"generate_query", continue_to_web_research, ["web_research"]
)
# Reflect on the web research
builder.add_edge("web_research", "reflection")
# Evaluate the research
builder.add_conditional_edges(
"reflection", evaluate_research, ["web_research", "finalize_answer"]
)
# Finalize the answer
builder.add_edge("finalize_answer", END)
graph = builder.compile(name="pro-search-agent")图4:使用 LangGraph 的 DeepSearch 示例(来自 backend/src/agent/graph.py 的代码)
那么,Agent 是如何思考的?
总之,Agent 的思考过程是一种结合推理和行动来解决问题的结构化方法。这种方法允许 Agent 明确地规划其步骤、监控其进度并与外部工具交互以收集信息。Agent 的"思考"核心是由一个强大的 LLM 促进的。这个 LLM 生成一系列指导 Agent 后续行动的 Thoughts。该过程通常遵循一个 thought-action-observation 循环:
- Thought:Agent 首先生成一个文本 Thought,分解问题、制定计划或分析当前情况。这种内部独白使 Agent 的推理过程透明且可引导。
- Action:基于 Thought,Agent 从预定义的、离散的选项集合中选择一个 Action。例如,在问答场景中,action 空间可能包括在线搜索、从特定网页检索信息或提供最终答案。
- Observation:然后,Agent 根据所采取的 Action 从其环境中接收反馈。这可能是网络搜索的结果或网页的内容。
这个循环重复进行,每次 Observation 都为下一个 Thought 提供信息,直到 Agent 确定它已经达到了最终解决方案并执行一个"finish" action。
这种方法的有效性依赖于底层 LLM 的先进推理和规划能力。为了引导 Agent,ReAct 框架通常采用 few-shot learning,其中向 LLM 提供类人问题解决轨迹的示例。这些示例演示了如何有效地结合 thoughts 和 actions 来解决类似的任务。
Agent 的思考频率可以根据任务进行调整。对于知识密集型推理任务(如事实核查),thoughts 通常与每个 action 交错出现,以确保信息收集和推理的逻辑流程。相比之下,对于需要许多 actions 的决策任务(如导航模拟环境),thoughts 可能会更节俭地使用,允许 Agent 决定何时需要思考。
概览
What:复杂的问题解决通常需要不止一个直接的答案,这对 AI 来说是一个重大挑战。核心问题是使 AI Agent 能够处理需要逻辑推演、分解和战略规划的多步骤任务。如果没有结构化的方法,Agent 可能无法处理复杂性,导致不准确或不完整的结论。这些先进的推理方法旨在使 Agent 的内部"思考"过程明确化,使其能够系统地解决挑战。
Why:标准化的解决方案是一套为 Agent 的问题解决过程提供结构化框架的推理技术。诸如 Chain-of-Thought (CoT) 和 Tree-of-Thought (ToT) 等方法引导 LLM 分解问题并探索多个解决路径。Self-Correction 允许对答案进行迭代优化,确保更高的准确性。诸如 ReAct 之类的 Agentic 框架将推理与行动相集成,使 Agent 能够与外部工具和环境交互,以收集信息并调整其计划。这种显式推理、探索、优化和工具使用的结合创造了更稳健、透明和能干的 AI 系统。
Rule of thumb:当问题对于一次性答案来说过于复杂,并且需要分解、多步骤逻辑、与外部数据源或工具的交互,或战略规划和适应时,请使用这些推理技术。它们非常适用于展示"工作"或思考过程与最终答案同等重要的任务。
视觉摘要
关键要点
- 通过使其推理明确化,Agent 可以制定透明的、多步骤的计划,这是 autonomous action 和用户信任的基础能力。
- ReAct 框架为 Agent 提供了其核心操作循环,使它们能够超越单纯的推理,并与外部工具交互,以在环境中动态行动和适应。
- Scaling Inference Law 意味着 Agent 的性能不仅仅取决于其底层模型大小,还取决于其分配的"thinking time",从而允许更审慎和更高质量的 autonomous actions。
- Chain-of-Thought (CoT) 充当 Agent 的内部独白,通过将一个复杂目标分解为一系列可管理的 actions 来提供制定计划的结构化方式。
- Tree-of-Thought 和 Self-Correction 赋予 Agent 审慎的能力,使它们能够在执行之前评估多种策略、从错误中回溯并改进自己的计划。
- 诸如 Chain of Debates (CoD) 之类的协作框架标志着从单独 Agent 到多 Agent 系统的转变,在这种系统中,Agent 团队可以共同推理来解决更复杂的问题并减少个体偏见。
- 诸如 Deep Research 之类的应用程序展示了这些技术如何在代表用户完全自主地执行复杂的、长时间运行的任务(如深度调查)中达到高潮。
- 为了构建有效的 Agent 团队,诸如 MASS 之类的框架自动化了单个 Agent 的指导方式以及它们如何交互的优化,确保整个多 Agent 系统的最佳性能。
- 通过整合这些推理技术,我们构建的 Agent 不仅是自动化的,而且是真正 autonomous 的,能够被信任来规划、行动并在没有直接监督的情况下解决复杂问题。
结论
现代 AI 正在从被动工具演变为 autonomous agents,能够通过结构化推理来应对复杂目标。这种 agentic behavior 始于内部独白,由诸如 Chain-of-Thought (CoT) 等技术提供支持,它允许 Agent 在行动之前制定连贯的计划。真正的自主性需要审慎思考,Agent 通过 Self-Correction 和 Tree-of-Thought (ToT) 来实现这一点,使它们能够评估多种策略并独立改进自己的工作。向完全 agentic 系统的关键飞跃来自 ReAct 框架,它赋予 Agent 超越思考并开始通过使用外部工具来行动的能力。这建立了 thought、action 和 observation 的核心 agentic 循环,允许 Agent 根据环境反馈动态调整其策略。
Agent 的深度审慎能力由 Scaling Inference Law 提供动力,其中更多的计算"thinking time"直接转化为更稳健的 autonomous actions。下一个前沿是多 Agent 系统,其中诸如 Chain of Debates (CoD) 之类的框架创建了协作式 Agent 社会,共同推理以实现共同目标。这不是理论上的;诸如 Deep Research 之类的 agentic 应用程序已经展示了 autonomous agents 如何代表用户自主执行复杂的、多步骤的调查。总体目标是设计可靠且透明的 autonomous agents,可以被信任来独立管理和解决复杂问题。最终,通过结合显式推理与行动能力,这些方法正在完成 AI 向真正 agentic 问题解决者的转型。
参考文献
- "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models" by Wei et al. (2022)
- "Tree of Thoughts: Deliberate Problem Solving with Large Language Models" by Yao et al. (2023)
- "Program-Aided Language Models" by Gao et al. (2023)
- "ReAct: Synergizing Reasoning and Acting in Language Models" by Yao et al. (2023)
- Inference Scaling Laws: An Empirical Analysis of Compute-Optimal Inference for LLM Problem-Solving, 2024
- Multi-Agent Design: Optimizing Agents with Better Prompts and Topologies, https://arxiv.org/abs/2502.02533