【人工智能:Agent】--COT(思维链)

思维链(Chain-of-Thought, CoT)是一种改进的Prompt技术,旨在提升大语言模型(LLMs)在复杂推理任务中的表现,如算术推理、常识推理和符号推理。该技术首次在Google的论文《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》中被提出。

论文链接:思维链提示引发推理 大型语言模型

目录

1.COT--简介

2.COT--方法

[2.1.Few-shot CoT](#2.1.Few-shot CoT)

[2.2.Zero-shot CoT](#2.2.Zero-shot CoT)

3.CoT的增强策略

4.智能体+COT

一、核心思想

[二、典型架构:ReAct(Reason + Act)](#二、典型架构:ReAct(Reason + Act))

三、关键增强机制


1.COT--简介

  • 现状:随着大语言模型(LLM)的发展,CoT技术已成为提高LLM在复杂推理任务中性能的重要手段。通过特定的提示(prompt)或训练策略,可以引导模型生成详细的推理过程,从而提高模型的准确性和可解释性。
  • 定义:CoT技术指的是一种推理过程,其中模型在生成最终答案之前,先逐步推导出一系列的中间步骤或子目标。这些中间步骤构成了一个"思维链",最终引导模型得到正确的结果。
  • 核心思想:模仿人类的推理过程,即人们往往在解决问题时不是直接得出答案,而是通过一系列的思考、分析和推理步骤。

特点与优势

特性/技术 说明
中间步骤 模型在生成最终答案之前,会先产生一系列的中间推理步骤。
可解释性 由于 CoT 提供了推理过程的可见性,因此它有助于提高模型决策的可解释性。
逻辑推理 CoT 可以帮助模型进行复杂的逻辑推理,尤其是在需要组合多个事实或信息片段的问题上。
上下文利用 在 CoT 中,模型可以利用上下文信息,通过逐步推理来解决问题,而不是仅仅依赖于直接的答案。
拓展技术------自动思维链(Auto-CoT) 这是一种更高级别的 CoT 技术,通过简单的提示,促使模型自我思考,自动展示从设置方程到解方程的整个推理过程。这种技术可以在保证每个思维链正确性的同时,实现更精简的提示词设计。

ICL论文的思路是在新测试样本中加入示例(demonstration)来重构prompt。与ICL(In-Context Learning)有所不同,CoT对每个demonstration,会使用中间推理过程(intermediate reasoning steps)来重新构造demonstration,使模型在对新样本预测时,先生成中间推理的思维链,再生成结果,目的是提升LLM在新样本中的表现。

2.COT--方法

一般来说CoT会分为两种:基于人工示例标注的Few-shot CoT和无人工示例标注的Zero-shot CoT。

2.1.Few-shot CoT

1.CoT Prompt设计

投票式CoT
《Self-Consistency Improves Chain of Thought Reasoning in Language Models》

论文基于一个思想:一个复杂的推理任务,其可以有多种推理路径(即解题思路),最终都能够得到正确的答案。故Self-Consistency在解码过程中,抛弃了greedy decoding的策略,而是使用采样的方式,选择生成不同的推理路径,每个路径对应一个最终答案。

具体做法为:

  1. 对于单一的测试数据,通过多次的解码采样,会生成多条推理路径和答案。
  2. 基于投票的策略,选择最一致的答案。

实验表明,对于同一问题生成更多的推理链以供投票往往能取得更好的效果。当推理链数量足够多时,这种方法效果能够胜过使用greedy decoding的CoT方法。

《On the advance of making language models better reasoners》

论文在Self-Consistency的基础上,进一步做了优化。

1. Diverse Prompts(多样化提示)

  • 目的:通过引入多样性,激发 LLM 从不同角度生成推理路径,避免单一提示导致的偏差或错误。
  • 实现方式
    • 构造 M1 种不同的 prompt,通常通过选择不同的 示例(demonstrations) 组合来实现(例如从训练集中随机采样不同的 few-shot examples)。
    • 对每种 prompt,调用 LLM 生成 M2 条独立的推理路径(可通过设置 temperature > 0 或使用 nucleus sampling 实现随机性)。
  • 结果:每个测试问题共获得M1×M2 条候选推理路径及其对应的答案。

✅ 优势:增加解空间覆盖,提高找到正确推理路径的概率。


2. Verifier(验证器)

  • 目标:自动判断某条推理路径是否得出正确答案,而不仅依赖最终答案是否匹配。
  • 训练数据构建
    • 使用 LLM 在训练集或验证集上生成大量推理路径。
    • 将每条路径的最终答案与 ground truth 对比:
      • 一致 → 正样本(label = 1)
      • 不一致 → 负样本(label = 0)
    • 输入 Verifier 的通常是 完整的推理链(chain-of-thought)+ 问题,输出为二分类概率。
  • Verifier 类型
    • 可以是微调的小型语言模型(如 RoBERTa、DeBERTa)
    • 也可以是另一个经过判别式训练的 LLM

⚠️ 注意:Verifier 的性能高度依赖于训练数据的质量和多样性。若 LLM 很少生成正确路径,则正样本稀疏,影响训练效果。


3. Vote(投票与最终预测)

  • 推理阶段流程
    1. 对测试问题,生成M1×M2 条推理路径。
    2. 将每条路径输入训练好的 Verifier,得到其"正确性"得分(或二元判断)。
    3. 融合策略 (可选):
      • 硬投票:仅保留 Verifier 判为"正确"的路径,对其最终答案进行多数投票。
      • 加权投票:用 Verifier 输出的概率作为权重,对答案进行加权聚合。
      • Top-k 选择:取 Verifier 打分最高的 k 条路径,再在其答案中投票。
  • 最终输出:得票最高的答案作为模型预测结果。

✅ 优势:结合了 生成多样性判别可靠性,显著优于单纯 Self-Consistency 或单次推理。

2.2.Zero-shot CoT

与Few-shot CoT不同,Zero-shot CoT并不需要人为构造demonstrations,只需要在prompt中加入一个特定的指令,即可驱动LLMs以思维链的方式生成结果。

当然这种不需要人工构造demonstrations的方式,效果相对Few-shot CoT会表现稍微差一点点。但是相对Zero-shot和Few-shot的方法而言,Zero-shot CoT在复杂任务推理上却能带来巨大的效果提升。

《Large language models are zero-shot reasoners》

论文首先提出了Zero-shot CoT的方法,整个流程包含两部分:

  1. Reasoning Extraction:使用一个特定的"reasoning" prompt,是语言模型LLM生成原始问题的思维链,如"Let's think step by step."(让我们一步步来思考)
  2. Answer Extraction:基于第一步的结果,添加一个"answer" prompt,要求LLM生成正确的结果。

这一个步骤中,LLM的输入格式为:quesiton + "reasoning" prompt + result(CoT) + "answer" prompt,输出为:result(answer)

举例:

3.CoT的增强策略

增强策略 核心思想 典型方法 / 说明 优势 / 目标
结合验证和细化 在推理过程中引入反馈机制,对中间步骤进行校验与修正 VerifyCoT:使用"自然程序"(Natural Program)确保每一步严格依赖前序步骤 减少推理错误,模拟人类反思过程,提升逻辑严谨性
问题分解 将复杂问题拆解为多个子问题或中间步骤 CoT 本身即体现该思想:逐步生成 token 化推理链 提高对多跳推理任务的处理能力,分配更多计算资源到关键环节
利用外部知识 引入外部信息源辅助推理,尤其在知识密集型任务中 结合检索(如 RAG)、知识图谱或数据库对不确定部分重新推理 降低事实性错误,增强模型在开放域任务中的可靠性
投票排序 通过多路径生成 + 投票选择最一致答案 DIVERSE 等方法:生成多样推理路径,结合细粒度步骤验证与答案投票 提高鲁棒性,过滤偶然性错误,提升整体准确率
提高效率 优化推理过程的计算开销 剪枝冗余步骤、缓存中间结果、使用轻量级 verifier 等 在保持性能的同时降低延迟与资源消耗,适用于实际部署
偏差增强一致性训练(BCT) 缓解 CoT 中因提示或数据导致的系统性偏见 无监督微调:使模型在含/不含偏见特征的提示下输出一致推理 降低偏见推理率,提升模型公平性与解释可信度
Zero-shot CoT 无需示例即可激发思维链生成 在问题后添加 "Let's think step by step" 等通用指令 零样本适用、部署简单、泛化性强,适合冷启动场景

4.智能体+COT

一、核心思想

概念 作用
智能体(Agent) 具备目标驱动、环境交互、工具调用、记忆存储和决策能力的自主实体
思维链(CoT) 提供内部推理过程的显式表达,使决策可追溯、可验证

结合本质
让智能体"边想边做" ------ 不仅输出最终答案,还在每一步行动前生成推理依据,并根据反馈动态调整策略。


二、典型架构:ReAct(Reason + Act)

这是最经典的 Agent + CoT 融合框架(Yao et al., 2022):

1[Step 1] Thought: 我需要先查用户所在城市。

2[Step 2] Action: 调用 getLocation() 工具

3[Step 3] Observation: 返回 "Beijing"

4[Step 4] Thought: 北京今天天气如何?需调用天气API。

5[Step 5] Action: 调用 getWeather(city="Beijing")

6[Step 6] Observation: {"temp": 5°C, "condition": "sunny"}

7[Step 7] Thought: 现在可以回答用户了。

8[Step 8] Final Answer: 今天北京晴,气温5°C,建议穿外套。

  • Thought = CoT 推理步骤
  • Action/Observation = 智能体与环境/工具交互
  • 循环结构 支持多轮推理与修正

三、关键增强机制

  1. 规划(Planning)
  • 智能体先用 CoT 生成高层次计划(如:"第一步查资料,第二步计算,第三步总结")

  • 可结合 Tree-of-Thought (ToT)Plan-and-Execute 架构进行子目标分解

  1. 记忆(Memory)
  • 短期记忆:保存当前推理链(CoT trace)

  • 长期记忆:存储过往成功/失败经验,用于类比推理(如:类似问题曾用某工具解决)

  1. 反思(Self-Reflection / Verification)
  • 执行后,智能体用 CoT 分析结果是否合理:

    "我得到的答案是 42,但步骤3中单位未转换,可能出错。"

  • 可触发重新规划调用 Verifier 进行校验

  1. 工具集成(Tool Use)
  • CoT 决定何时调用何种工具(搜索、代码解释器、数据库等)

  • 工具输出作为新"观察"融入后续推理链

  1. 多智能体协作
  • 多个 Agent 各自生成 CoT,通过辩论、投票或分工协作解决问题

    • 例如:一个负责事实检索,一个负责逻辑推导,一个负责验证

任务:预订一张符合用户预算和时间要求的机票

智能体流程(嵌入CoT):

  1. 用户输入需求(目的地、预算、时间)
  2. 智能体思维链分解:确定目的地 → 查询航班 → 筛选价格 → 比较出发时间 → 提议最佳方案
  3. 智能体调用API获取航班数据
  4. 使用自然语言解释推荐理由
  5. 等待用户确认并完成预订
相关推荐
nimadan122 小时前
**AI漫剧爆款生成器2025推荐,解锁高互动率与平台适配的
人工智能·python
测试_AI_一辰2 小时前
项目实践笔记13:多用户事实碎片 Agent 的接口测试与约束设计
开发语言·人工智能·ai编程
北京耐用通信2 小时前
耐达讯自动化Profibus总线光纤中继器:食品饮料行业IO模块通讯的“稳定之锚”
人工智能·科技·物联网·自动化·信息与通信
njsgcs2 小时前
KiraAI 部署教程 v1.6.6
人工智能
梯度下降中2 小时前
求职面试中的线代知识总结
人工智能·线性代数·算法·机器学习
SmartBrain2 小时前
OCR 模型在医疗场景的选型研究
人工智能·算法·语言模型·架构·aigc·ocr
hay_lee2 小时前
渐进式披露:Agent Skills让AI开发标准化
人工智能
阿里云云原生2 小时前
探秘 AgentRun丨动态下发+权限隔离,重构 AI Agent 安全体系
人工智能·安全·阿里云·重构·agentrun
veminhe2 小时前
人工智能学习笔记
人工智能