思维链原理与三大模型实测:从Prompt到Agent多步推理落地指南

思维链这个词,这两年在大模型圈子里几乎是绕不开的热词。我自己在调Agent、做复杂任务拆解的时候,也明显感受到:同一个模型,用不用思维链,效果差距就像实习生直接交作业和逐步汇报思路之间的差距。很多朋友问我说Claude、Gemini、Deepseek好像都在强调自己能“推理”,到底他们背地里用了什么技巧?答案往往不是模型本身有多么神秘的黑科技,而是我们都在用一套叫做思维链(Chain of Thought)的方法,引导模型把“怎么想”这件事一步步说出来。这篇文章不会讲什么晦涩论文,我会用最直白的方式把思维链的原理、三大主流模型的实测偏好,以及我自己的Demo复现过程全部摊开给你看,顺便把我踩过的坑也一并交代清楚。

1. 思维链到底在解决什么问题

1.1 用一个实习生的例子讲明白思维链

想象一下,你手底下有个名校毕业的实习生,聪明、博学、记忆里装满了各种知识。你问他“上个月销售额为什么下滑了15%”,他脱口而出一大堆标准答案,听起来很有道理,但仔细一查,数据完全是编的,结论也经不起推敲。可如果你换一种方式问他:“先看一下订单量环比变化,再算一下客单价变化,然后对比一下退款率,分三步告诉我你的判断过程。”他反而能给你交出一份逻辑缜密、有据可查的报告。

大模型的处境跟这个实习生很像。它记住了太多东西,但如果你不给它一个“按步骤思考”的框架,它就会走捷径,直接蹦出一个听起来最顺滑、最像正确答案的答案。思维链的本质,就是强制模型把中间推理过程展开,而不是直接跳到结论。这个机制最早是作为提示词技巧出现的,后来慢慢演变成模型侧的内置能力。你不需要给模型换一个更聪明的脑袋,只需要换一种提问和引导方式,它的表现就会有质的飞跃。

这里有一个特别有意思的现象:思维链并不需要修改模型参数,它只改变模型的外部行为。也就是说,你在Prompt里加上“请一步步推理”这样的指引,模型就会在解码的时候把推理过程分步生成出来。最终答案的质量,往往取决于你给了模型多少“思考空间”。

1.2 从“背诵”到“推理”的关键转变

很多模型在没有思维链的情况下,展现的其实是一个“模式匹配”的过程。它见过太多“问题-答案”对,当你问它一道新题,它就会去记忆库里检索最接近的内容,然后复述出来。这种做法在处理常识性问答时没什么问题,可一旦遇到复杂的数学题、逻辑谜题或多条件决策,直接“背诵”就会明显露怯。

思维链带来最关键的变化是:模型不再只是输出一个最可能的词串,而是把问题拆解成一系列中间状态,一步步推导出结论。把“隐性思考”变成“显式推理”,这带来的最大好处是你终于能看到模型的推理路径了。哪里算错了、哪一步逻辑断裂了,你能指着某一步告诉它“这里有问题。你要知道,一个可以看到中间步骤的模型,和一个只能看到结论的模型,在调试体验上完全是两回事。

我在实际调Agent的时候,感触最深的是:思维链把“不可控的生成”变成了“可干预的推导”。当模型在中间步骤里暴露出错误假设时,我可以直接在提示词里修正它,让它重新走一遍流程,而不是对着一个错误结论干瞪眼。

1.3 为什么现在的Agent离不开思维链

目前的Agent框架里,模型通常需要调用工具、读取结果、再次决策,这就形成了一个“感知—思考—行动”的循环。如果不加思维链,模型很容易在第一步就做出错误判断,后面的工具调用全都会跑偏。而加了思维链之后,模型会在调用工具之前先把“我需要获取什么信息、用什么参数去调、拿到结果后我要怎么判断”这个过程梳理清楚。

你可以把Agent看作一个工程师手里的自动驾驶系统,而思维链就是它的“路径规划模块”。如果没有路径规划,光有强大的执行能力也无济于事。无论是写代码、查询资料还是操作软件,模型必须先想清楚行动步骤,才能谈得上高效执行。现在主流的Agent框架里几乎都能看到思维链的影子,比如让模型输出“思考过程+行动+观察”的循环结构,本质上就是思维链的多步版本。

2. 三大模型的思维链应用偏好与实测对比

2.1 模型A的自我对话式推理

我接触的第一个让我对思维链刮目相看的模型,是模型A。它在执行复杂任务时,会自动开启一种近似“内心独白”的推理模式,会把当前目标、已知条件、潜在难点一一步列出来,然后再给出结论。这种风格在写代码、做数值计算时特别舒服,因为你能清晰看到它是怎么从题目条件推到最终答案的。

实际体验里,它的思维链往往会有比较明显的分步结构,比如第一步先重述问题,第二步列出限制条件,第三步尝试一种解法,第四步检查结果合理性。这个过程中它甚至会自我纠错,比如“等等,这一步我漏掉了一个情况”。这种自我修正能力,是思维链设计良好的一个标志。我个人的建议是,如果你在用这种模型做数学题逻辑推理,千万不要打断它的思考过程,尽量给它足够的输出空间。

2.2 模型B的结构化推理

模型B给我最深的印象是它特别擅长把思维链做得很有组织性。它不会像前一个模型那样自由发挥式地思考,而更喜欢通过层级结构、引用框架、步骤标记等方式把推理过程梳理得清清楚楚。如果你让它分析一个复杂系统,它甚至会主动生成“先看整体架构,再逐层拆解,最后总结”的推理骨架。

这种风格在处理复杂文档分析、多条件约束决策时非常占优。因为它的推理中间产物几乎是天然可阅读的,完全不像是黑盒输出,反而有点像一份结构良好的技术报告。我测试过让它设计一个带多模块的Demo系统,它的思维链里竟然包含了模块划分、依赖关系、测试计划,最后才是具体实现代码。这种“先出提纲再填细节”的方式,特别适合用来规划大型任务。

2.3 模型C的内化推理

模型C在思维链的使用上比较特殊。它更多采用一种“内化推理”策略,也就是我们常说的“内部思考”模式。从外部看,它会输出一个结论,但中间的推理过程通常不会显式展示出来,这意味着你只能看到结果,很难看到它思考的轨迹。

这在很多场景下其实是个优点——速度快、输出简洁,不会有一大段思考过程占篇幅。但在调试复杂Agent任务时,你会觉得有点“深不见底”。如果它给出的结论有明显的漏洞,你很难判断问题出在哪个推理环节。不过据我观察,它在逻辑一致性上做得相当稳,尤其是在代码生成、摘要总结这类任务里,这种内化推理反而能带来非常高质量的结果。

2.4 三大模型思维链风格对比速览

模型思维链呈现方式擅长场景注意事项
模型A自我对话式、分步推进数学计算、代码调试、逻辑推理需要给它足够的输出空间,不要截断回答
模型B结构化、分层级、提纲式复杂系统分析、多条件决策、文档拆解适合配合Plan-then-Execute类提示词使用
模型C内化推理、黑盒式、少过程展示代码生成、摘要、结构化转换任务调试时需要额外引入验证环节或外部检查

这张表可以帮你快速决策:当你面对一个需要高度透明过程的任务时,优先选模型A或模型B;当你追求输出效率和简洁体验时,模型C的表现也不会让你失望。不过,无论用哪家模型,思维链提示词的写法才是决定效果上限的关键。

3. 手把手指南:用思维链Prompt驱动Agent完成多步推理

3.1 从一段最普通的Prompt开始

我最早测思维链的时候,用的方式简单粗暴,就是在Prompt最后追加一句“Let‘s think step by step”。效果确实有,但很快就发现了问题:如果Prompt本身没有给模型一个清晰的流程框架,这句话只会在开头生效,走到一半模型还是会迷失方向。有一回我让模型帮忙做订单数据校验,虽然它在口头上说了“我们一步步来”,但接下来输出的只是一整团混乱的数据语句,根本没有真正的分步操作。

后来我反思了一下,思维链之所以能起作用,关键不在于你要求模型“一步一步想”,而在于你为它铺好了每一步该做什么、像不像给它的思维上了轨道。模型的每一步推理都是在某条轨道上滚动,没有轨道,它滚到哪里算哪里。所以从那以后,我设计思维链Prompt都自带“轨道”。

下面是我用了一段时间的极简基础模板,这算是思维链Prompt的通用壳子:

你现在是一个任务规划大师。在执行任何任务前,请严格按以下流程思考并输出: 1. 目标拆解:明确最终要达成的目标是什么。 2. 条件分析:列出已经具备的条件和限制。 3. 步骤规划:给出完成目标的步骤列表。 4. 逐步执行:按步骤执行,并在每一步记录中间结果。 5. 检查与总结:检查中间结果是否自洽,给出最终答案。 要求:除非用户明确要求省略,否则你的每一步推理过程都必须可见。

这个模板背后的逻辑很简单:把模型当作一个执行算法的机器,只不过这个算法的每一步都通过自然语言表达。你给它清晰的操作码,它就能按部就班地执行;不给操作码,它就自由散漫地瞎猜。

3.2 带约束的思维链:多步推理的正确姿势

光有模板还不行。在实际Agent场景中,模型还要调用工具、读取文件、判断条件。这些操作对推理过程有着更硬性的要求。我后来把思维链做成了带约束条件的“行动计划”,让模型每一步都明确输出下一动作的数据结构。

请严格按照以下JSON结构组织你的思考过程: { "thought": "当前对问题的分析,不得超过50字", "action": "下一步要执行的操作(调用工具/查询数据/计算结果等)", "action_input": "操作需要的具体参数", "observation": "执行后观察到的结果(先留空,由系统填充)" } 执行规则: - 循环上述四元组,直到你认为任务完成。 - 任务完成时,action必须为输出final_answer。 - 整个过程中必须记录至少一轮思考,禁止直接输出结论。

这种写法的好处在于:模型每一步都同时输出思考内容和动作指令,你可以在代码里识别出action_input,然后调用外部工具,再把结果作为observation回填到提示词里。这样就实现了一个真正意义上的Agent多步推理循环。很多代码智能体插件其实就是这种思路的工程化实现,只不过把格式定义得更复杂、工具集更丰富罢了。

3.3 完整运行Demo:搭建一个能跑通的多步推理Agent

这里我整理了一个可以本地运行的最小Demo,核心逻辑就是用一个大模型接口完成“思考-行动-观察”循环。为了不绑死具体的服务商,我用了一个抽象的调用函数,你替换成任何你常用的模型API都能直接运行。

import json import re def ask_model(messages, model_name="demo"): """模型调用函数:为了保持示例独立性,此处仅做占位演示。 实际使用时替换为你自己的模型API调用。""" # 将messages组装为请求,并返回模型的文本输出 # 示例逻辑不再展开,重点在下面的Agent循环结构 pass def extract_thought_action(text): """从模型输出中解析thought/action/action_input字段""" try: # 提取JSON部分 json_str = re.search(r'\{.*\}', text, re.S).group() data = json.loads(json_str) return data except Exception: # 解析失败就退回通用解析 return { "thought": text[:100], "action": "parse_failed", "action_input": "" } def agent_run(user_query, max_steps=5): system_prompt = """你将严格按如下JSON结构进行分步思考并执行任务: {"thought": "你对当前情况的思考", "action": "下一步操作名", "action_input": "操作参数", "observation": ""} 任务完成时,action必须为output_answer。""" messages = [{"role": "system", "content": system_prompt}] messages.append({"role": "user", "content": user_query}) step = 0 while step < max_steps: raw = ask_model(messages) parsed = extract_thought_action(raw) messages.append({ "role": "assistant", "content": raw }) action = parsed.get("action", "") thought = parsed.get("thought", "") action_input = parsed.get("action_input", "") if action == "output_answer": print(f"\n[最终答复] {action_input}") return action_input elif action == "calculate": # 执行本地计算并观察 try: result = eval(action_input) observation = f"计算结果: {result}" except Exception as e: observation = f"计算错误: {str(e)}" else: # 其他操作,走工具分发(示例中简化为直接回显) observation = f"已执行{action}: {action_input}" print(f"[第{step+1}步] thought={thought} action={action} input={action_input} observation={observation}") messages.append({"role": "user", "content": f"当前观察结果: {observation}"}) step += 1 print("达到最大步数,停止。") return None if __name__ == "__main__": agent_run("请计算 (12 + 8) * 3 - 15 / 5 的结果,并给出一句话解释该计算中包含的运算类别。")

这个Demo的核心逻辑就是让模型自己决定下一步做什么,然后你把运算结果回传给它,它基于新的观察继续思考。这就是一个最朴素的Agent推理闭环。实际运行模型时,你会看到类似下面这种输出:

[第1步] thought=先按顺序执行乘除和加减法则,优先计算括号内容 action=calculate input=12+8 observation=计算结果: 20 [第2步] thought=20*3得60,15/5得3,最终用60-3 action=calculate input=20*3-15/5 observation=计算结果: 57 [第3步] thought=结果已得出,需要解释运算类别 action=output_answer input=计算结果为57。该计算包含括号运算、乘法、除法和减法。 [最终答复] 计算结果为57。该计算包含括号运算、乘法、除法和减法。

能看到中间的过程记录,调试时的安心感是完全不一样的。如果第2步算错了,你直接可以看到是哪个子表达式出了问题,而不是只能看到最终结果不对,然后从头排查整个Prompt。

3.4 让中间步骤真正变可靠的关键细节

我觉得这里有个容易忽略的点值得单独提出来:思维链的质量和中间步骤的可验证性严格相关。如果模型输出的中间步骤是虚无缥缈的“我打算更好地分析问题”,这种步骤再长也没用;但如果它输出的是“调用订单接口获取月订单量=1200,计算出客单价=298元”,这就是可追踪、可验证的有效中间步骤。

为了拿到这种高质量中间步骤,我在提示词中通常会明确要求模型“中间推理中必须包含可观察数据或可执行动作”。对纯文本推理任务,我会要求“每一步必须引用题目中的具体数据”;对Agent任务,我会要求“每一步必须对应具体的工具调用”。这个细节帮我过滤掉了大量空转的思维链,让Agent的执行稳定度明显提升。

4. 思维链的进阶玩法与避坑指南

4.1 少样本思维链:给模型一两个标准的推理示范

思维链不只有零样本一种形态。如果你发现零样本思维链在某个特定任务上表现不稳定,完全可以改用少样本思维链,简称Few-shot CoT。做法也很直白:先给出一个完整的示例,展示“问题—分步推理—结论”的全过程,然后再抛出真正要处理的问题。

例如我想让模型做业务数据的异常检测,我先给它这样的示范:“原始数据:订单量上升、客单价下降。推理过程:第一步,订单量上升可能意味着用户基数增加或促销拉动;第二步,客单价下降可能来自低价产品占比升高;第三步,综合判断,可以推断销售结构发生了偏移,而不是总体需求下滑。”然后让它用同样的“先看指标、再找相关性、后推断根因”的路径去分析新的数据。这套方法在控制模型输出风格上特别管用,相当于给模型提供了一个“参照坐标系”。

我测试过零样本和少样本两种方式在合同风险点提取任务上的差异。少样本版本的输出不仅在逻辑结构上更统一,漏提风险点的概率也低了很多。如果你在做的是高度模板化的分析工作,非常建议在Prompt仓库里准备几个固定的Few-shot样例,那点额外token的成本,换来的稳定性绝对值回票价。

4.2 自动思维链:让模型自己生成推理示例

少样本思维链有个麻烦:每次都要人工给仔细编写范例,如果任务类型很多,就很费劲。我后来在实验里用过一种省力方法,叫Auto-CoT,核心思路是先分批把各类测试问题聚类,然后从一个通用模型那里自动为每一类生成推理示例,再把它们拼接进Prompt里,最终完成目标任务的推理生成。

这种“让模型自己给自己生成范例”的方式,效果在不少任务上已经逼近人工编写思维链的水平。对个人开发者来说,它的最大价值在于:当你不想手写大量示范时,它能快速扩展出覆盖各类边角场景的推理路径。当然,自动生成的示例偶尔会混入明显的错误,所以你必须定期人工抽查一下样例质量。曾经有一次,我因为某个自动生成的样例里带着错误结论,导致一整批输出全部带着同样的误导,抽检的时候才发现。从此以后,“样例的准确性本身就是思维链质量的天花板”就成了我反复提醒自己的话。

4.3 清理假思维链的三个坑

思维链不是万能的,市面上有很多“伪思维链”的用法,贴出一堆思考过程,但本质上对任务没有任何帮助。

第一个坑是盲目堆叠思考步骤。有些代码像是硬凑了一个固定流程模板,比如“第一步理解需求,第二步分析上下文,第三步设计方案”,但实际上每一步都没输出实质内容。这种流程对称之为“形式上的思维链”,它对模型最终的输出质量基本没有任何提升。我见过不少同事把这种模板当“万能提示词”用,然后发现效果跟直接提问差不了多少,就开始怀疑思维链没用。实际上问题出在“空壳”提示词上。

要破除这个坑,建议你在提示词里加上一条硬性要求:“每一步推理必须提到前面步骤产生的具体数据或结论,不允许出现无依据的概括句。”这一步能显著过滤掉空转步骤。

第二个坑是过度控制。思维链太严格也不行,如果每个步骤都被死死规定好,模型反而失去了自主调整策略的空间。比如你规定它“必须先用A算法再考虑B方案”,但实际情况是A算法根本不适用,它就会硬着头皮走完流程,然后得出一个荒谬的结论。好的思维链提示词应该更像路标,而不是铁轨,给模型一个方向上的约束,同时保留它根据中间结果调整路径的空间。

第三个坑是复用生搬硬套。很多人在模型A上写了一套长篇分步Prompt,效果很好,直接复制到模型C上,结果输出又慢又冗长,有时还会出现格式错误。不同模型的指令遵循能力和解码风格差异非常大,思维链提示词至少要针对每个模型做一轮长度、格式、步骤粒度上的微调,再挪去核心任务场景使用。

4.4 模型中途断掉怎么办,以及过生成问题

在使用思维链时还有一个高频问题:模型在长推理途中突然停了,没有输出最终答案。这多半是输出token限制导致的。思维链本来就会吃不少上下文,我遇到过一些模型默认上限就2000多token,让它们进行复杂的多步推理很容易被截断。解决方式很简单,把max_tokens调大,并通过正则表达式从输出里截取最终结论部分。

另一个常见问题是“过度生成”:有时候你会得到一万字的推理过程,真正有用的答案就躲在其中一小段。我的经验是,刻意在提示词里约束“最终答案控制在5行以内”“先给结论再给简要推理”,能极大提升输出可用性。这个处理方法对追求速度的Agent场景来说尤其重要,因为过长的推理过程意味着更高的成本和延迟。

4.5 思维链的调试经验:让中间过程帮你定位问题

思维链的一大好处在于调试友好。我会在调试Agent时让模型把每一步的输入输出都打印出来,就像在普通代码里加log一样。有一次模型调一个数据聚合工具时,连续三次给出同一个错误结果,如果不是看到了它的思考过程里写着“假设该字段为唯一主键”,我根本不会意识到它默认了一个并不成立的条件。我把这个假设在提示词里直接戳穿之后,它立刻就改用了正确的聚合逻辑。

这种体验让我总结出一个心得:当Agent执行某个任务失败时,优先去读它在“thought”字段里的前两句话,那里往往藏着错误的隐含前提。反过来,如果你的Agent在正确执行时会让中间变量逐步更新,那无论做业务分析还是写代码,都像一个带日志的可靠服务一样,出问题的时候所有人都能快速定位。

5. 一句话总结:思维链没你想的那么玄

如果你把思维链想象成一个神秘的调参技术,那就把它想复杂了。它真正做的事情就一句话:让大模型把内心戏演出来,把一步步推理写到明面上。

而我个人认为,它背后最值钱的思想是“过程透明”。大模型再聪明,本质上仍是一个概率预测模型。如果你不给它一个清晰的推理路径约束,它在复杂任务上就可能“自信地胡说”。但只要你把问题的分解、条件的检查、每一步的结论都摊在桌面上,它就能从一个“直觉型选手”变成“分析型选手”。我现在只要涉及Agent开发,几乎默认就会设计一个思维链循环,无论是手写Prompt,还是借助现成的Agent框架,这个底层习惯始终没变。

最后再提个小经验吧:思维链它不是金手指,别指望加上几个字就能让所有答案都变得完美。它更像是一个放大器——你给出的任务结构越清晰、条件越完备,思维链能发挥的作用就越大;相反,任务本身模糊不清的时候,再怎么强迫“一步步想”也只会输出长篇废话。用好它的前提,永远是把问题本身想明白。

相关新闻

人脸识别实战指南:从One-Shot学习到工程部署踩坑总结

人脸识别实战指南:从One-Shot学习到工程部署踩坑总结

人脸识别这块内容&#xff0c;我在整理某知名深度学习公开课程的笔记时反复啃过好几遍。课程原话讲得精简&#xff0c;逻辑也很清晰&#xff0c;但真到项目里去落地&#xff0c;中间会冒出不少课程里没有细讲的工程细节。这篇文章把我对课程笔记的深入理解、在实际项目中补充验…

2026/10/21 4:15:42 阅读更多 →
YOLOv5s部署实战:PyTorch转ONNX再到OpenVINO的CPU推理全流程

YOLOv5s部署实战:PyTorch转ONNX再到OpenVINO的CPU推理全流程

最近刚把一个 YOLOv5s 目标检测模型完整走了一遍部署链路&#xff1a;从 PyTorch 预训练权重转成 ONNX&#xff0c;再用 OpenVINO 变成推理加速模型&#xff0c;最后在 Windows 10 上用 Python 做实际推理测试。整个过程在 CPU 上完成&#xff0c;没有碰 GPU&#xff0c;效果却…

2026/10/21 4:15:42 阅读更多 →
用Metal优化Transformer推理:从CPU 4.9到GPU 31.5 tok/s的完整实践

用Metal优化Transformer推理:从CPU 4.9到GPU 31.5 tok/s的完整实践

把Transformer模型的推理链路整体搬到苹果芯片的GPU上&#xff0c;用Metal从头组织计算图和算子&#xff0c;这件事我从去年底开始做&#xff0c;前后改了四版。最终效果是解码吞吐从CPU路线的个位数涨到了30 tokens/s&#xff0c;同一个约1.1B参数的decoder-only模型&#xff…

2026/10/21 4:15:42 阅读更多 →

最新新闻

基于React18与TypeScript构建完整业务后台管理面板的实战复盘

基于React18与TypeScript构建完整业务后台管理面板的实战复盘

最近我在梳理手头的一个前端练习项目时&#xff0c;发现一个很有意思的代号挂在文件夹里——rea。它是我用 React 生态完整搭起来的一个业务管理面板 Demo&#xff0c;用来模拟日常后台系统中最高频的那些场景&#xff1a;列表展示、筛选搜索、数据详情、状态流转、主题切换等等…

2026/10/21 4:50:55 阅读更多 →
51单片机驱动RC522射频模块实战:SPI时序、寄存器配置与防冲突全流程

51单片机驱动RC522射频模块实战:SPI时序、寄存器配置与防冲突全流程

简介&#xff1a;本资源是面向嵌入式初学者与51单片机开发者的RC522射频识别&#xff08;RFID&#xff09;系统实战资料包&#xff0c;聚焦13.56MHz非接触式读写应用&#xff0c;适用于门禁控制、智能卡实验及物联网基础项目开发。内容涵盖RC522与51单片机的SPI硬件接口详解、初…

2026/10/21 4:50:55 阅读更多 →
立体仓库堆垛机输送系统设计要点与调试经验分享

立体仓库堆垛机输送系统设计要点与调试经验分享

1. 项目总览与核心需求拆解立体仓库这个东西&#xff0c;本质上就是让货架变得更聪明、让地面上的货物流转起来。很多人在看到“立体仓库 堆垛机 输送机 智能物流”这一串词的时候&#xff0c;第一反应是“这项目肯定特别复杂”&#xff0c;但实际上&#xff0c;把它拆开来看&a…

2026/10/21 4:50:55 阅读更多 →
从知道到做到:技能盘点与刻意练习的实用指南

从知道到做到:技能盘点与刻意练习的实用指南

Skills&#xff0c;翻译成中文就是技能。但这些年我在职场里见过太多人&#xff0c;把“知道”当成“会”&#xff0c;把“会”当成“精通”&#xff0c;最后在真正需要展示的时候&#xff0c;才发现自己的技能体系其实很脆弱。这篇文章不聊鸡汤&#xff0c;也不搞那种“一周精…

2026/10/21 4:50:55 阅读更多 →
Flutter for OpenHarmony通讯录助手实战:flutter_contacts适配指南

Flutter for OpenHarmony通讯录助手实战:flutter_contacts适配指南

说实话&#xff0c;看到这个标题的第一反应是“终于有人在OpenHarmony上认真捣鼓第三方库了”。我在某公司做跨平台客户端开发&#xff0c;去年下半年接到一个内部工具型App的适配需求&#xff0c;要求同时跑通安卓和OpenHarmony平板。团队技术栈是Flutter&#xff0c;业务里有…

2026/10/21 4:50:55 阅读更多 →
彻底搞懂 torch.manual_seed:从随机种子原理到完整复现配置指南

彻底搞懂 torch.manual_seed:从随机种子原理到完整复现配置指南

有一段时间我被一个现象折磨得不轻&#xff1a;同一份训练代码&#xff0c;连超参数都没动&#xff0c;下午跑出来的模型和早上跑的模型&#xff0c;准确率能差上两个点。排查到最后&#xff0c;问题根源锁定在所有随机数的源头——torch.manual_seed() 这个函数上。准确地说&a…

2026/10/21 4:49:55 阅读更多 →

日新闻

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事&#xff1a;AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里&#xff0c;按宣传口径&#xff0c;本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”&#xff0c;而是这话背后的含金量——它把过去只能…

2026/10/21 0:00:11 阅读更多 →
AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

1. 从“封号重开”这个行为说起&#xff1a;用户到底在追求什么“封号重开”这四个字&#xff0c;放在任何产品语境里都带着一股决绝的味道。一个账号从零开始积累使用记录、调教偏好、沉淀工作流&#xff0c;背后是大量的时间和精力成本。正常情况下&#xff0c;没有人愿意主动…

2026/10/21 0:00:11 阅读更多 →
ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

1. 为什么在ROS里硬刚YOLOv3不是“炫技”&#xff0c;而是工程落地的必经之路我第一次在某高校机器人实验室看到那台搭载Jetson TX2的移动底盘原地打转、反复识别错垃圾桶时&#xff0c;就意识到&#xff1a;单纯跑通darknet_ros demo和真正让YOLOv3在ROS里“干活”&#xff0c…

2026/10/21 0:00:11 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/21 4:27:17 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →