从ChatBot到Agent:一文讲透AI智能体的循环原理与工程实现

你有没有想过,同样是打开一个对话框,为什么有人管它叫 ChatBot,有人却叫它 Agent?我的理解很直白:ChatBot 是替你答疑解惑的问答工具,Agent 是接了任务能自己跑完整个闭环的执行者。一字之差,背后是两种完全不同的设计哲学。这篇文章我想把“从一问一答到一个循环”这件事拆开聊透,讲清楚 Agent 到底比会聊天的 AI 多做了什么,以及我们怎么判断自己手里那个东西究竟是玩具还是工具。

如果你也在纠结“我到底需不需要一个 Agent”,或者已经试着搭过、但总感觉它像个“废话连篇的自动回复器”,这篇文章应该能帮你少走不少弯路。我会从定义差异讲到循环原理,再给出一套可以直接上手的实现思路,最后把实际运行中踩过的坑一并列出来。内容偏工程实践,但我会尽量用大白话把原理说清楚。

1. 先别急着下定义:ChatBot 和 Agent 到底差在哪

1.1 一个是被动应答,一个是主动闭环

很多产品把“能对话”当成 Agent 的招牌,但对话只是交互形式,不是智能本身。ChatBot 的核心能力是“生成合理的回复”,它做的事情是:你问一句,它答一句。这句话答得好不好,取决于模型的理解能力和知识储备,但整个过程是短促的、片段式的。

Agent 的核心能力则是“完成一个有终点的任务”。它不再满足于“这句话怎么回”,而是关心“这件事怎么做完”。比如你让 ChatBot 帮你查一下行业报告,它能给你一段漂亮的文字;你让 Agent 帮你查行业报告,它会自己确定关键词、调用搜索工具、翻网页、整理核心观点、生成摘要,甚至可以按你的格式存档。整个过程是一个连续的动作链,而不是一次性的生成。

我用一个类比帮你记:ChatBot 像一个业务能力很强的柜台客服,你问什么它答什么,但办完业务剩下的流程你得自己跑;Agent 像一个项目经理,接下一个需求之后,会自己拆任务、找人、跟进、验收,最后给你交付结果。一个卖信息,一个卖结果,这是最本质的分界线。

1.2 表面都在“打字”,底层逻辑早就分叉了

更扎心的一点是,很多 Agent 产品表面看起来也是在对话框里打字,所以用户感知不到背后的差异。但从系统架构角度看,两边的数据流完全不是一个级别。

ChatBot 的流程通常是单程的:用户输入 -> 模型生成 -> 界面输出。模型如果答错了,它不会自动发现,也不会主动修正,因为整个流程里根本没有“检查”这个环节。下一轮对话只能靠用户重新讲、重新引导,甚至靠用户自己消化错误。

Agent 的流程是循环式的:接收任务 -> 生成计划 -> 调用工具 -> 观察结果 -> 修正下一步 -> 再行动,直到任务完成。这意味着模型需要被反复调用多次,每一次调用都基于上一次行动的结果。它不是“一次性下笔成文”,更像“写一版-检查-改一版-再检查”的迭代过程。

为了更直观,我列了一张对比表:

对比维度ChatBotAgent
核心目标生成合理回复完成目标任务
交互模式单轮或浅多轮多轮自主循环
是否主动调用工具通常不调用频繁调用搜索、计算、代码等
是否有记忆只保存对话上下文有任务状态、结果缓存
错误处理靠用户重新提问自我观察、自我修正
终止条件对话结束任务完成或达到上限

这张表说白了就是一句话:ChatBot 处理的是“输入到输出”的单向映射,Agent 管理的是“目标到结果”的完整链路。

1.3 最简单粗暴的判断标准

我平时判断一个系统算不算 Agent,就三个问题:

第一,它有没有明确的任务目标?没有任务目标,只有对话目标,那大概率还是 ChatBot。第二,它能不能自己决定下一步做什么?如果每一步都要用户指挥,那只是“带按钮的聊天框”。第三,它失败了会不会自己重试或调整策略?不会,说明没有闭环,只是话术包装。

有人说“能调工具的 AI 就是 Agent”,这个说法太片面。调工具只是手段,关键是你有没有一个循环机制来决定“什么时候调、调完怎么看、结果不对怎么办”。工具是手,循环才是脑子。很多产品把搜索引擎接进对话流里,但模型只会在用户问的时候搜一次,之后还是被动应答,这本质上依然是一个加强版 ChatBot。

2. Agent 的“循环”是怎么转起来的

2.1 循环的四个齿轮:感知、规划、行动、观察

既然说 Agent 的核心是“一个循环”,那这个循环由什么构成?我用工程化的方式拆解,至少需要四个齿轮。

第一个齿轮是感知,也就是获取当前状态。状态可以来自用户输入、环境反馈、外部 API 返回,甚至可以通过工具自己探测。感知的目的是搞清楚“现在我在哪、我有什么、离目标还有多远”。

第二个齿轮是规划,也就是根据感知到的状态决定下一步动作。这一步是模型推理能力的主战场。规划可以是一步式的,也可以是多步式的。多步规划又分为两种:一种是预先规划,先列好完整步骤再执行,适合流程清晰的场景;一种是动态规划,走一步看一步,适合环境复杂的场景。

第三个齿轮是行动,把规划变成实际调用。行动可能是调用搜索工具、执行代码、写入文件、回复用户,任何能改变外部状态的操作都算行动。行动是 Agent 的“手”,没有行动能力的 Agent 只是一个空想家。

第四个齿轮是观察,行动之后必须收集反馈。这步最容易被忽略,却是循环能持续下去的关键。搜索返回了什么结果?代码是否报错?文件是否写入成功?这些反馈决定了下一轮感知的信息,进而修正下一轮规划。

一个完整的循环就是:感知 -> 规划 -> 行动 -> 观察 -> 再感知。这看起来像一个大白话,但它其实是一个标准的闭环控制系统。我们的目标是让 Agent 在有限轮次里收敛到终点,而不是让它漫无目的地一直转。

2.2 目标拆解:把“大目标”翻译成“下一步”

Agents 真正考验模型能力的,不是“理解问题”这一步,而是“拆解问题”这一步。一个模糊的大目标,比如“帮我做一份竞品分析”,并不能直接执行。需要先把大目标分解成可操作的子任务:确认竞品对象、收集公开资料、整理产品信息、对比功能差异、形成报告框架、撰写结论建议。

这个拆解过程在工程上叫任务规划。实现起来有两种常见策略。第一种是单次拆解一次性列出所有子任务,然后按顺序执行;第二种是每次只生成“下一步动作”,执行完再看结果决定下一步。前者效率高但不够灵活,适合目标明确、步骤标准化的场景;后者灵活性强但容易低效,适合探索性任务。

从我实测的经验看,大部分任务不需要一次性把所有细节都想好,因为你设想的步骤在执行时很可能跟现实不一致。比如你想用某个搜索接口找数据,但接口返回格式根本不是你想的那样,原计划第二步就得改。所以更稳的做法是“粗拆 + 微调”:先大致规划方向,再根据实际观察结果不断调整细节。

2.3 工具调用:Agent 的双手长什么样

模型本身只能输出文字,要让 Agent 真正“做事”,必须把工具接进来。工具可以是搜索引擎、计算器、代码解释器、数据库查询、文件读写、消息推送,甚至另一个模型服务。工具调用的本质是把模型的决策能力与外部执行能力焊在一起。

工程上,工具调用通常走函数约定:你把你具备的能力以结构化参数的方式告诉模型,模型决定调用哪个工具以及传什么参数,然后系统去执行并把结果返回给模型。这个过程反复进行,就形成了“用工具”的能力。

这里有个非常重要的点:不是工具越多越好。工具越多,模型的选择空间越大,出错概率也越高。我之前接了一个内部数据查询工具,因为接口参数特别多,模型频繁传错日期格式,最后不得不在工具描述里加了一段完整的调用示例,错误率才降下来。工具描述要写得像操作手册,而不是简单的“查询数据”四个字。

2.4 记忆系统:工作台账和聊天记录是两回事

很多人的误解是:Agent 的记忆就是聊天记录。聊天记录确实算一种短期记忆,但 Agent 真正需要的是“任务状态记忆”。

举一个实际场景:Agent 要写一份调研报告,它先搜索到一条关键信息,然后去调另一个数据接口,结果发现数据对不上,它回头修正信息。这个过程里,它需要记得之前搜索到的是什么、哪个环节出了问题、修正后用了什么新信息。这些不能全塞在聊天记录里,因为聊天记录只是流水账,缺少结构化。

所以工程实现时,建议给 Agent 维护一个工作记忆区,常见做法是维护一份任务状态清单:当前目标、已完成项、待办项、关键信息、失败记录。每一轮循环结束,Agent 都可以更新这个清单。这个清单既是它的“大脑缓存”,也是我们排查问题时的第一手证据。

我习惯把这个清单直接放在提示词上下文中,让模型每轮回答前先输出当前状态摘要。虽然会多消耗一点 token,但换来的是可靠性的显著提升。在 Agent 领域,可控性永远比省 token 重要。

3. 手把手搭一个最小 Agent:从伪代码到能跑的 Demo

3.1 别急着上框架,先手写三层结构

现在有很多现成的 Agent 框架,能让你几行代码就搭起一个看起来像模像样的智能体。但我的建议是:如果你还不清楚循环的内部机制,不要急着上框架。先手写一个最小实现,哪怕它丑、笨、经常跑偏,这段经历能让你真正理解 Agent 的工作原理。

一个最小 Agent 至少有三层结构。第一层是用户接口,负责接收任务和展示结果;第二层是循环控制器,维护“感知-规划-行动-观察”这个循环;第三层是工具集合,提供 Agent 可以调用的外部能力。

我给出一个非常简化的伪代码:

def run_agent(task: str, max_steps: int = 10): state = { "task": task, "context": [], "tool_results": [], "done": False, } for step in range(max_steps): # 感知当前状态,让模型决策下一步 next_action = model_think( task=state["task"], context=state["context"], tool_results=state["tool_results"] ) # 行动:执行模型选择的工具或直接输出 if next_action["type"] == "finish": state["done"] = True return next_action["final_answer"] result = call_tool(next_action["tool_name"], next_action["parameters"]) # 观察:把行动结果写回状态 state["tool_results"].append({ "action": next_action, "result": result }) return {"error": "max_steps reached", "partial": state}

这段代码虽然简陋,但它已经具备 Agent 循环的核心骨架。你看到的 max_steps 很关键,它相当于一个安全阀,防止 Agent 死循环导致资源耗尽。

3.2 核心参数怎么定:temperature、max_steps、top_p

跑通了简单循环之后,你会开始接触各种参数调优。很多开发者第一次调参时只看模型温度,却忽略了 Agent 专属的参数维度,导致系统行为非常不可控。

temperature 控制生成随机性。对 ChatBot 来说,高温度可以让回答更有创意;对 Agent 来说,规划和工具选择是决策行为,我通常把温度调低一些,比如 0.2 到 0.5 之间,否则它每一步决策都有可能“灵机一动”导致整个任务跑偏。你不需要完全随机探索,你需要的是稳定执行。

max_steps 控制最大循环轮数。它没有标准答案,取决于任务复杂度。简单问答类任务可能 3 步就够,复杂的调研类任务可能 20 轮都不够。但从工程角度看,我建议先给一个偏保守的上限,比如 10 轮。如果经常跑到上限还没结束,你要做的不是简单调高,而是去检查是不是规划出了问题,或者工具返回的信息太差让 Agent 反复空转。

top_p 与 temperature 配合使用。调低 top_p 可以让模型专注于概率较高的一小部分选择,对工具调用的稳定性有好处。经验值一般是 temperature 0.2 到 0.4,top_p 0.8 到 0.9,看起来保守,但实测下来整体任务成功率会高很多。

3.3 演示案例:让它自己去查资料写归档

理论讲再多,不如看一个能感知的实例。我做一个最小可运行的场景:让 Agent 自动查找某个概念的解释,然后写一段 100 字的通俗摘要,最后把这个摘要保存到本地文件。

循环控制器第一步会调用模型,输入是“查找某概念解释并保存摘要”这个总目标。模型决策出要调用搜索工具,参数是概念关键词。系统执行搜索之后,把搜索结果原样塞回到上下文中。第二步模型看到搜索结果,判断信息够用,就生成摘要内容,同时决策出要调用文件写入工具。系统执行写入,返回成功信息。第三步模型确认文件已写入,判断任务完成,返回最终答复。

整个过程看起来像一个“人在操作电脑”,但每一步都是模型根据当前状态自己决策的。这就是我发现 Agent 最迷人的地方:它第一次让我觉得 AI 不是在回答问题,而是在处理问题。

需要特别提醒的是,这个示例里搜索工具返回的信息可能很长、还包含噪音。我没直接把全文塞进上下文,而是先做了一步截断和格式化,再让模型阅读。这也是实践中很重要的一个优化方向:观察结果的“事前清洗”往往比提示词调优更有效。

4. Agent 到底会怎么翻车:真实场景里的坑和排查思路

4.1 最常见的三种死法

Agent 的循环听起来很美好,但真实跑起来,翻车姿势五花八门。我总结了最常见的三种死法,基本覆盖了 90% 的故障现场。

第一种是死循环。Agent 觉得自己做了事,但外部状态没变化,或者外部状态变了但反馈没有正确传回来,它就一遍遍重复同样的行为。最经典的场景是搜索工具返回了一堆页面摘要,但模型没有真正理解这些摘要,于是回到原点重新搜索。如果不加 max_steps,它能花光你所有的预算。

第二种是幻觉升级。ChatBot 的幻觉是编造一个回答,Agent 的幻觉是编造一个事实,然后把这个事实当成观察结果传给下一轮,下一轮再基于这个假事实继续推演。最后生成的报告看起来头头是道,实际上核心信息是虚构的。Agent 把幻觉从“单点错误”放大成了“系统性错误”,这是比 ChatBot 更危险的地方。

第三种是工具乱选。给 Agent 接了很多工具后,它会把“搜索”当成万能灵药,什么问题都先搜索一下,哪怕信息就在上下文中。更离谱的是传错参数,把字符串当数字传、把日期格式搞错、把关键词拼错,然后拿着错误结果硬分析。这种翻车往往不是模型笨,而是工具定义写得不够清楚。

4.2 排查 Agent 问题的检查清单

排查 Agent 故障跟排查普通程序完全不同,因为你不能靠断点一步一步跟,因为每一步都是模型生成的自然语言。我把我自己的日常排查顺序整理成一份清单。

第一,检查原始输入和工具返回值。先确认数据进出没有问题,再看模型决策对不对。很多时候问题出在源头上,比如搜索接口返回的数据本身就缺字段,Agent 拿到的信息是残缺的,后面分析得再漂亮也是白搭。

第二,检查状态摘要是否反映真实进度。我给 Agent 加了一个“当前状态摘要”的输出环节,如果摘要和实际执行不一致,比如摘要说完成但文件根本没写入,那就是模型在自欺欺人,需要调整提示词强化对成功标准的要求。

第三,检查工具描述和参数说明。如果模型总是乱选工具,先别看模型性能,回去把工具描述写具体。给每个工具至少补充一个使用示例,你会发现错误率明显下降。

第四,检查循环终止条件。任务是“写完报告”还是“确认报告已生成”,这是两种完全不同的成功标准。如果终止条件定义得太模糊,Agent 可能在刚写完草稿时就说完成了,也可能在反复修改上没完没了。

4.3 上护栏:没有“熔断机制”的 Agent 是裸奔

跑过一阵子 Agent 之后,我的体感是:Agent 系统的重点不是让它多聪明,而是让它在“不聪明”的时候不要造成太大损失。护栏设计应该从第一天就做,不要等翻车了再补。

第一个护栏是轮次上限。无论什么任务,都要设置 max_steps,并且实现硬熔断。到点必须停,哪怕任务没完成,也只允许返回部分结果。这个机制能避免预算无限消耗。

第二个护栏是人工确认点。对于高风险的行动,比如发送消息、写入文件、下单付款、删除数据,必须在行动前向用户确认。不要把 Agent 的一切行动都设为自主权限。自主不是目的,可控才是目的。

第三个护栏是成本限制。Agent 的 token 开销远高于 ChatBot,因为一次完整任务可能要调用模型几十次。你需要设置单任务成本上限,或者用一个监控面板跟踪单次任务的 token 消耗。我见过一个小伙伴跑一个“分析几十个商品价格”的任务,因为循环没有优化,一晚上烧掉了一个月的额度,教训相当惨痛。

5. 什么时候才需要 Agent:我的实测建议

5.1 用 Agent 前先问自己三个问题

看了很多 Agent 案例之后,我的真实感受是:不是所有场景都需要上 Agent。它强大,但复杂、昂贵、难调试。每次拿到新需求,我都先问三个问题。

第一个问题是任务是否有明确的步骤和终点。如果答案是“用户问完问题就可以结束”,那 ChatBot 就够了;如果答案是“需要用户自己去查资料、汇总、写结果”,那才考虑 Agent。

第二个问题是外部依赖是否稳定。Agent 的循环强依赖外部工具返回的质量。如果搜索接口时好时坏、数据库经常连不上、第三方 API 动不动限流,Agent 会在这些不确定性上被反复折磨。与其先上 Agent,不如先把数据源稳定性解决掉。

第三个问题是失败容忍度有多高。有些场景允许 Agent 跑偏,错了再试一次就行;有些场景不允许,比如金融交易、医疗建议、法律意见。后者你需要的不是更大的自主性,而是更严格的人工审核。硬把 Agent 塞进一个低容错场景,本质上是在给系统埋雷。

5.2 成本、延迟和可控性,账要算明白

如果有人问我,从 ChatBot 升级到 Agent 最大的代价是什么?我的回答不是模型能力,而是成本、延迟和可控性这三角账。

先说成本。一次 ChatBot 请求是一次模型调用,一次 Agent 任务往往是十次甚至几十次调用。表面上单价差不多,但任务级成本是几何级数增长。我在做一个信息汇总工具时,第一版没有优化循环,每个任务平均 15 轮模型调用,成本比预期高出三倍。后来靠两条优化拉回来:一是状态摘要压缩,减少重复上下文;二是提前判定任务完成,省掉多余轮次。

再说延迟。Agent 完成一个任务通常需要几十秒到几分钟,刷一下页面就想看到结果几乎不可能。如果你面向终端用户,要把这个过程包装成“异步执行 + 结果通知”,不然用户早就走了。

最后是可控性。ChatBot 的错误局限在单次回答里,Agent 的错误会沿着循环层层放大。你把决策权交给模型的同时,也把风险的放大效应接了过来。所以必须要有日志、有追踪、有熔断、有人工审核点。我在生产环境里部署 Agent 时,日志记录的详细程度接近“黑匣子”,每一轮模型输入输出、工具调用参数、返回结果都要求完整落盘。

5.3 我先替你踩过的几个决策坑

关于该不该上 Agent,我总结几条经验,供你参考。

第一,不要在“数据不可靠”的地基上盖 Agent 大楼。哪怕模型规划能力再强,只要底层工具返回的数据是脏的,最终结果一定好不到哪里去。优先投入资源把工具层的输出质量搞干净,比花时间调提示词更有回报。

第二,不要一开始就追求“全自动”。最稳的产品形态是“半自动”:模型提出计划并执行大部分低风险步骤,关键节点由用户确认。你可以在成本允许时慢慢放开确认点,而不是一上来就追求无人值守的全自动系统。全自动意味着出问题时没有任何人把关。

第三,不要把 Agent 的任务设计成“只能成功不能失败”。我见过很多人为了让 Agent“看起来可靠”,拼命加提示词,让模型在不确定时硬给答案。这反而制造出更隐蔽的假成功。更务实的设计是:把不确定情况标记出来,主动请求用户澄清,比硬编一个错误答案强得多。

说到底,Agent 不是 ChatBot 的简单升级版,而是一种全新的交互范式。它把 AI 从“陪你聊天”推进到“替你办事”的阶段。但这个转变不是免费的,它需要你用工程手段去约束它、驯化它、管理它。我自己现在做技术方案时,最常提醒自己的一句话是:不要沉迷于 Agent 的“惊艳”,要回到业务的“稳定”和“可控”上来。

最后再分享一个小技巧:如果你不确定自己做的算不算 Agent,就用我前面提到的三个问题去验一遍——有目标吗?能自主决定下一步吗?失败后会自动修正吗?如果三个答案都是“是”,恭喜你,你手里已经有一个真正的 Agent 了。哪怕它还很弱小,但它已经站在正确的起跑线上。

相关新闻

面向对象进阶:继承、多态、封装与组合实战解析

面向对象进阶:继承、多态、封装与组合实战解析

1. 这一篇,我们把类和对象的“硬骨头”啃完上一篇聊了类的基本玩法——属性、方法、实例化,这些属于“能用就行”的范畴。但真正让类和对象从“语法工具”升级为“工程利器”的,是今天要讲的这些进阶内容:继承、多态、封装、抽象类…

2026/10/20 12:52:43 阅读更多 →
嘎嘎降AI实操全流程:从注册到深度模式去AI味详解

嘎嘎降AI实操全流程:从注册到深度模式去AI味详解

1. 项目概述:嘎嘎降AI到底在解决什么问题先说说我为什么关注到“嘎嘎降AI”这个工具。最近半年,周围搞内容创作的朋友几乎都在用AI辅助写字,效率确实高,但问题也随之而来:AI生成的文字太“工整”了,句子结构…

2026/10/20 12:52:43 阅读更多 →
降AI工具实操指南:从注册到低AI率文本处理全流程

降AI工具实操指南:从注册到低AI率文本处理全流程

嘎嘎降AI这个工具,最近在写作圈、自媒体圈里讨论度很高。简单说,它干的事情就是给已经生成的AI文本做“后处理”,让那些一眼就能被检测出来的“AI味”淡化,降低AI检测器的识别概率。很多朋友下载之后发现界面看不懂,或…

2026/10/20 12:52:43 阅读更多 →

最新新闻

LeRobot定位解析:端到端策略学习与ROS2的边界

LeRobot定位解析:端到端策略学习与ROS2的边界

刚接触LeRobot那会儿,我也和大多数朋友一样,下意识以为它是又一个机器人操作系统,能对标ROS2,甚至还想拿它去做导航和路径规划。后来把这套框架真正跑起来才发现,这玩意儿压根不干那些活,它的主业是把“感知…

2026/10/20 15:08:45 阅读更多 →
PPT自动化生成:内容与模板分离的工程化实践

PPT自动化生成:内容与模板分离的工程化实践

1. 项目缘起与整体设计思路 第一次看到“ppt-master”这个命名,我脑子里蹦出来的不是某个具体工具,而是一类非常典型的需求:把做PPT这件事从“手工活”变成“可复用、可批量、可版本管理”的工程化流程。市面上讲PPT技巧的内容多如牛毛&#…

2026/10/20 15:08:45 阅读更多 →
从均值-方差到风险平价:资产配置与组合优化模型实战

从均值-方差到风险平价:资产配置与组合优化模型实战

做了一年多的智能投顾项目,我最常被问的一句话是:“你这个模型能预测明天哪只股票涨吗?”每次我都得解释半天——智能投顾的核心从来不是择时也不是选股,而是资产配置。标题里的“资产配置与组合优化模型”,本质上就是…

2026/10/20 15:08:45 阅读更多 →
GPT-6 与 DeepSeek 自适应限流调度:基于突发请求熵增的平滑漏斗设计

GPT-6 与 DeepSeek 自适应限流调度:基于突发请求熵增的平滑漏斗设计

在构建支持 GPT-6 与 DeepSeek 混合推理的异构 AI 调度集群时,高并发限流算法常常面临失效的窘境。传统微服务架构中广泛使用的单维度令牌桶(Token Bucket)或滑动窗口计数器,其核心假设是“请求是同质的”——即单次 RPC 请求消耗…

2026/10/20 15:08:45 阅读更多 →
BCA六要素:把组织经验注入AI系统的落地实践

BCA六要素:把组织经验注入AI系统的落地实践

做AI落地最头疼的其实不是模型选型,也不是算力成本,而是怎么让系统真正继承团队里那些“只可意会不可言传”的组织经验。拿业务部门最常见的场景来说:同样一笔异常交易,新员工查了三套规则文档还是不敢判断,老员工瞟一…

2026/10/20 15:08:45 阅读更多 →
数据库慢排查实战:五步定位慢查询与锁等待问题

数据库慢排查实战:五步定位慢查询与锁等待问题

数据库又慢了。后台报警刷屏,接口超时,前端白转圈,老板在群里问“怎么回事”,你打开终端,脑子一片空白——这种情况干过线上运维的人都不陌生。数据库慢是一个现象,不是结论,你不可能听它说“我…

2026/10/20 15:07:44 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* 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 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* 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 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* 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 1:01:30 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 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 阅读更多 →