LLMs Lang Chain帮助LLMs进行推理和计划的思维链 Helping LLMs reason and plan with chain-of-thought

LLMs Lang Chain帮助LLMs进行推理和计划的思维链 Helping LLMs reason and plan with chain-of-thought

正如您所看到的,重要的是LLM能够通过应用程序必须采取的步骤来满足用户请求。不幸的是,对于涉及多个步骤或数学的问题,复杂的推理对LLM来说可能具有挑战性。即使在许多其他任务中表现出良好性能的大型模型中,这些问题也存在。

这里有一个例子,LLM在完成任务时遇到困难。您正在要求模型解决一个简单的多步数学问题,以确定自助餐厅在用一些苹果制作午餐后以及购买了一些苹果后还剩多少个苹果。您的提示包括一个类似的示例问题,完整的解决方案,以帮助模型通过单次推理理解任务。如果您愿意,可以在此处暂停视频片刻并自己解决问题。在处理提示后,模型生成了此处显示的完成,声明答案是27。然而,正如您解决问题时发现的那样,这个答案是不正确的。实际上,自助餐厅只剩下九个苹果。

www.zeeklog.com - LLMs Lang Chain帮助LLMs进行推理和计划的思维链 Helping LLMs reason and plan with chain-of-thought

研究人员一直在探索方法,以提高大型语言模型在推理任务上的性能,就像您刚才看到的那个任务。已经证明的一种策略是促使模型更像人类思考,将问题分解为步骤。我所说的“更像人类思考”是什么意思?好的,这是前面幻灯片上提示的单次示例问题。这里的任务是计算罗杰购买了一些新的网球后拥有多少个网球。

人类可能解决这个问题的一种方式是:

  1. 首先确定罗杰一开始有多少个网球。然后注意到罗杰买了两罐网球。
  2. 每罐包含三个网球,因此他总共有六个新的网球。
  3. 接下来,将这6个新的网球与原来的5个相加,总共有11个网球。
  4. 然后完成陈述答案。

这些中间计算构成了人类可能采取的推理步骤,而完整的步骤序列说明了解决问题的思路。要求模型模仿这种行为被称为“思维链提示”。它通过将中间推理步骤的系列包含在用于单次或少量推理的示例中来工作。通过以这种方式结构化示例,实际上是在教模型如何通过任务进行推理以达到解决方案。

www.zeeklog.com - LLMs Lang Chain帮助LLMs进行推理和计划的思维链 Helping LLMs reason and plan with chain-of-thought

这里是您几张幻灯片前看到的相同的苹果问题,现在被重新制作为一种思维链提示。罗杰购买网球的故事仍然被用作单次示例。但是这次,您在解决方案文本中包含了中间推理步骤。这些步骤基本上等同于人类可能采取的步骤,就像您刚才几分钟前看到的那样。然后,您将这个思维链提示发送给大型语言模型,该模型生成一个完成。请注意,该模型现在生成了一个更强大且透明的响应,解释了其推理步骤,其结构类似于单次示例。现在,模型正确确定剩下九个苹果。思考问题有助于模型得出正确答案。

www.zeeklog.com - LLMs Lang Chain帮助LLMs进行推理和计划的思维链 Helping LLMs reason and plan with chain-of-thought

需要注意的一件事是,虽然此处以紧凑的格式显示输入提示以节省空间,但完整的提示实际上包含在输出中。您可以使用思维链提示来帮助LLM改善其对除算术以外的其他类型问题的推理,例如物理学。

以下是一个简单的物理问题的示例,其中模型被要求确定黄金戒指是否会沉到游泳池的底部。此处作为单次示例包含的思维链提示显示了模型如何通过推理来解决这个问题,方法是推断黄金环由于比水轻而会浮在水面上。当您将这个提示传递给LLM时,它会生成一个结构类似的完成。模型正确识别出黄金的密度,这是它从培训数据中学到的,然后推理出黄金比水密度大得多,因此戒指会下沉。

www.zeeklog.com - LLMs Lang Chain帮助LLMs进行推理和计划的思维链 Helping LLMs reason and plan with chain-of-thought

思维链提示是一种强大的技术,可以提高模型推理问题的能力。尽管这可以大大提高模型的性能,但LLM的有限数学能力仍然可能会在您的任务需要精确计算时出现问题,例如计算电子商务网站上的销售总额、计算税收或应用折扣。在下一个视频中,您将探讨一种可以帮助您解决这个问题的技术,即让您的LLM与数学能力更强的程序进行交流。

Reference

https://www.coursera.org/learn/generative-ai-with-llms/lecture/2bQKl/helping-llms-reason-and-plan-with-chain-of-thought

Read more

系统编程语言大乱斗:Go、Rust、Zig、C++ 与 C# 全面对比(2026 年版)

系统编程语言大乱斗:Go、Rust、Zig、C++ 与 C# 全面对比(2026 年版)

在现代软件开发的战场上,系统级编程语言的选择早已不再是“C 还是 C++”的二元问题。随着云原生、嵌入式、高性能计算和安全关键系统的兴起,Go、Rust、Zig、C++ 和 C# 五位选手各自亮出绝活,争夺开发者的心智。本文将从设计哲学、内存管理、并发模型、性能表现、适用场景五大维度,为你揭开这场“语言战争”的真相。 一、设计哲学:五种不同的编程信仰 语言核心理念关键词C“信任程序员,贴近硬件”极简、自由、无抽象C++“零成本抽象,不为不用的东西付费”多范式、兼容 C、极致控制Go“简单即生产力”快速编译、内置并发、自动 GCRust“内存安全无需妥协性能”所有权、零运行时、无畏并发Zig“透明即自由”

By Ne0inhk
Rust嵌入式开发实战——从ARM裸机编程到RTOS应用

Rust嵌入式开发实战——从ARM裸机编程到RTOS应用

Rust嵌入式开发实战——从ARM裸机编程到RTOS应用 一、学习目标与重点 1.1 学习目标 1. 理解嵌入式开发基础:深入掌握嵌入式系统的定义、特点、架构(ARM、RISC-V),对比Rust与传统嵌入式开发语言(C/C++)的优势 2. 搭建Rust嵌入式开发环境:安装交叉编译工具链(arm-none-eabi、riscv64-unknown-elf)、调试工具(OpenOCD、GDB),配置VS Code/CLion开发环境 3. 掌握Rust裸机编程:使用cortex-m、cortex-m-rt库进行ARM裸机开发,实现GPIO操作、串口通信、中断处理 4. 学习RTOS开发:使用RTIC(Real-Time Interrupt-driven Concurrency)实现多任务编程,理解任务调度、资源共享、中断管理 5. 实战嵌入式项目:结合STM32F4xx系列开发板、Raspberry

By Ne0inhk
让数据库学会说“不“——金仓 SQL 防火墙深度解析

让数据库学会说“不“——金仓 SQL 防火墙深度解析

文章目录 * 前言 * 一、SQL 注入原理:攻击者如何"钻空子" * 二、SQL 防火墙原理:白名单驱动的主动防护 * 三、核心优势 * 1. 准确率高达 99.99% * 2. 性能损耗极低,稳定可控 * 3. 两步完成配置,上手门槛低 * 四、总结:让数据库学会辨别"友军"与"异己" 前言 SQL 注入是数据库安全领域最顽固的威胁之一。即便开发团队严格执行预编译与输入过滤,遗留代码、第三方组件或偶发的人为疏忽,依然可能留下可被利用的突破口。面对这一长期存在的安全隐患,单纯依赖应用层的"亡羊补牢"已难以为继。 金仓数据库(KingbaseES)

By Ne0inhk
微服务架构下Spring Session与Redis分布式会话实战全解析

微服务架构下Spring Session与Redis分布式会话实战全解析

目录 🚀摘要 📖 为什么需要分布式会话管理? 🎯 传统会话管理的痛点 🔄 分布式会话的演进历程 🏗️ Spring Session架构深度解析 🎨 设计理念:透明化抽象层 🔧 核心组件解析 1. SessionRepositoryFilter - 入口拦截器 2. RedisSessionRepository - Redis实现 📊 性能特性分析 🔧 实战:从零构建企业级分布式会话系统 🛠️ 环境准备与项目搭建 Maven依赖配置 Redis集群配置 🎯 Spring Session高级配置 自定义序列化策略 会话事件监听器 💻 完整代码示例:电商购物车会话管理 📈 性能优化实战 1. Redis数据结构优化 2. 会话数据分片策略 🏢 企业级高级应用 📊 大型电商平台案例:双11大促会话管理 分级存储策略 会话迁移服务 ⚡ 性能优化技巧 1. 读写分离优化 2. 本地缓存优化 🔍 故障排查指南 1. 常见问题与解决方案 2. 监控指标配置

By Ne0inhk