Agent Skills开发实战:从底层机制到测试部署的完整指南
1. 从skills这个热词说起它到底在解决什么问题最近一段时间不管是在技术社区还是各类开发者群组里skills这个词出现的频率高得离谱。有人把它翻译成技能包有人叫它能力插件还有人直接管它叫AI的外挂。名字五花八门但指向的东西其实是同一个一套让AI代理Agent能够稳定、可复用地完成特定任务的封装机制。我最初接触这个概念的时候第一反应是这不就是prompt模板吗。但真正上手用了一段时间之后才发现事情远没有那么简单。传统的prompt模板本质上是一段静态文本你把它塞给模型模型给你一个回答完事。而skills的核心在于它不仅仅是告诉模型怎么做而是把指令、工具调用、执行流程、上下文管理打包成了一个可以独立分发、独立加载、独立执行的单元。打个比方prompt模板像是一张菜谱你照着做菜但锅碗瓢盆得自己准备。而skills更像是一个料理包里面不仅有菜谱还配好了切好的食材、调好的酱料甚至附带一个会帮你翻炒的机器人。你只需要说我要吃宫保鸡丁剩下的它自己搞定。这个区别在实际使用中带来的体验差异是巨大的。我拿自己做过的一个测试举例让AI帮我从一份PDF里提取所有表格数据然后按照指定格式写入Excel。如果只用prompt我需要写一大段指令告诉它用什么库、怎么处理合并单元格、遇到空值怎么办、输出格式是什么。每次调用都要重复这一大段。而用skills的方式我把这些逻辑全部封装进去之后只需要一句处理这份PDF它就能按照预设的流程跑完。从网络热词来看大家关注的焦点集中在几个方向Agent Skills的测试与开发、Claude Agent Skills的深度解析、Codex相关的skills应用包括写论文、自动挖洞等场景、skills的安装与下载渠道、以及前端开发中的skills应用。这些热词背后反映的是一个共同的诉求如何让AI代理真正具备可复用、可组合、可验证的专业能力。这篇文章我会从实际使用的角度出发把skills的底层逻辑、开发方法、测试策略、常见坑点以及典型应用场景全部拆开讲一遍。不管你是刚听说这个概念的新手还是已经在尝试开发自己skills的进阶用户应该都能从中找到有用的东西。2. Skills的底层机制为什么它不是简单的prompt封装2.1 从一次性指令到可执行单元的跨越要理解skills为什么有价值得先搞清楚它和普通prompt在结构上的本质区别。普通prompt的工作方式是用户输入 → 拼接prompt → 模型生成 → 返回结果。整个过程是无状态的每次调用都是独立的。模型不会记住上一次你让它做了什么也不会自动去调用外部工具。你需要在prompt里把所有需要的信息都写清楚包括工具的使用方法、参数的格式、异常处理的逻辑。Skills的工作方式则完全不同。一个完整的skill通常包含以下几个组成部分元数据描述告诉系统这个skill叫什么、能做什么、什么时候应该被触发。这部分通常是一段结构化的文本包含名称、描述、触发条件等信息。指令集具体的执行逻辑可以是自然语言描述的步骤也可以是伪代码形式的流程。工具绑定这个skill需要调用哪些外部工具或API以及调用的参数格式和返回值处理方式。上下文管理skill在执行过程中如何维护状态如何处理多轮交互如何在必要时请求用户补充信息。输出规范执行完毕后以什么格式返回结果是纯文本、结构化数据还是文件。这五个部分组合在一起形成了一个自包含的执行单元。当你把这个skill加载到Agent系统中时Agent就获得了执行这类任务的能力而不需要每次都在prompt里重新描述一遍。我自己的体会是这个区别有点像函数式编程和面向对象编程的区别。prompt是函数式的你给它输入它给你输出没有状态没有封装。而skills是面向对象的它把数据上下文和行为指令工具调用封装在一起形成了一个独立的对象。2.2 Agent Skills的触发机制与路由逻辑理解了skills的结构之后下一个问题就是Agent怎么知道什么时候该用哪个skill这就涉及到触发机制和路由逻辑。目前主流的实现方式有两种第一种是基于描述的匹配。每个skill在注册时都会提供一段描述文本Agent在接收到用户请求后会先分析请求的意图然后与所有已注册skill的描述进行匹配选择最合适的那个来执行。这种方式的好处是灵活不需要预先定义严格的触发规则。坏处是当skill数量多了之后匹配的准确率会下降容易出现选错skill的情况。第二种是基于显式调用的路由。用户在请求中明确指定要使用哪个skill或者通过某种标记比如特定的命令前缀来触发。这种方式的好处是准确率高不会出现误匹配。坏处是用户需要知道有哪些skill可用使用门槛相对较高。实际使用中大多数系统会采用混合策略默认走描述匹配但当匹配置信度低于某个阈值时会向用户确认或者列出候选skill让用户选择。我在测试中发现当skill数量控制在20个以内时描述匹配的准确率通常能保持在90%以上。超过这个数量之后就需要对描述文本进行更精细的优化或者引入分类标签来辅助路由。一个实用的经验给skill写描述的时候不要只写这个skill能做什么还要写什么时候应该用它和什么时候不应该用它。负面描述往往比正面描述更能帮助Agent做出正确的路由决策。2.3 Skills与Function Calling、MCP的关系很多人会把skills和Function Calling、MCPModel Context Protocol混为一谈。它们确实有交集但定位完全不同。Function Calling是模型层面的一种能力它允许模型在生成回复时输出一个结构化的函数调用请求。你可以把它理解为模型和外部工具之间的一个通信协议。它解决的是模型怎么告诉外部系统我要调用某个函数这个问题。MCP则是一个更上层的协议它定义了模型如何发现、连接和使用外部资源。你可以把它理解为AI世界的USB接口标准。通过MCP模型可以连接到各种数据源和工具而不需要为每个工具单独写适配代码。而skills是在这两者之上的能力封装层。一个skill内部可能使用Function Calling来调用工具也可能通过MCP来连接外部服务。但skill本身关注的是如何把完成一个具体任务所需的所有要素打包在一起让Agent能够以最小的认知负担来使用这个能力。用一句话总结Function Calling是怎么调MCP是调什么skills是什么时候调、按什么顺序调、调完了怎么处理。3. 开发一个可用的Skill从需求拆解到落地验证3.1 需求拆解先想清楚这个skill到底要解决什么开发skill最容易犯的错误就是贪大求全。我见过不少人一上来就想做一个万能助手skill结果写了几千字的指令测试的时候发现Agent根本执行不了因为步骤太多、依赖太多、分支太多。正确的做法是从最小可用单元开始。一个skill只解决一个具体的问题而且这个问题应该是边界清晰、输入输出明确、执行步骤可控的。我通常会用下面这几个问题来检验一个skill的需求是否足够聚焦检验维度合格标准不合格的表现任务边界能用一句话说清楚这个skill做什么需要一段话才能描述清楚输入定义输入类型和格式是确定的输入可能是文本、可能是文件、可能是URL输出定义输出格式是固定的输出格式取决于具体情况步骤数量核心步骤在5步以内步骤超过10步且有多个分支依赖数量依赖的外部工具不超过3个依赖大量外部API或服务举个例子假设你想做一个从网页提取结构化数据的skill。这个需求就太大了因为网页的格式千差万别提取规则也各不相同。更好的做法是把它拆成多个skill一个专门处理电商产品页的、一个专门处理新闻文章的、一个专门处理表格数据的。每个skill的输入输出都很明确执行步骤也相对固定。3.2 指令编写用流程图思维代替散文思维写skill指令的时候很多人习惯用自然语言描述像写说明书一样。比如首先你需要分析用户提供的文件然后提取其中的关键信息接着对信息进行分类整理最后按照指定格式输出。这种写法的问题在于歧义太多。分析文件是什么意思关键信息包括哪些分类整理按什么标准Agent在执行的时候会根据自己的理解来填补这些空白结果就是每次执行的结果都不一致。我的做法是用流程图思维来写指令。具体来说就是把每个步骤都写成输入-处理-输出的形式并且明确每一步的判断条件和异常处理。步骤1接收输入 - 输入用户提供的文件路径 - 验证文件是否存在、格式是否支持 - 异常如果文件不存在返回错误信息并终止 步骤2解析文件内容 - 输入文件路径 - 处理根据文件扩展名选择解析器.pdf用PDF解析器.xlsx用Excel解析器 - 输出原始文本内容 - 异常如果解析失败返回错误信息并建议用户检查文件格式 步骤3提取关键信息 - 输入原始文本内容 - 处理按照预设的字段列表逐项提取 - 输出结构化的键值对 - 异常如果某个字段无法提取标记为未找到并继续这种写法看起来比较繁琐但实际测试下来执行的一致性和可靠性会提升非常多。因为Agent不需要去猜你的意图每一步都有明确的输入输出定义。3.3 工具绑定的粒度控制一个skill可以绑定多个工具但绑定的粒度需要仔细考虑。绑得太少skill的能力就受限很多操作需要用户手动完成。绑得太多skill的复杂度就上去了测试和维护的成本也会增加。我的经验是只绑定那些缺了它这个skill就跑不通的工具。其他辅助性的工具可以通过Agent的通用能力来解决不需要写进skill里。举个例子假设你要做一个自动生成周报的skill。核心工具可能包括读取日历事件的API、读取任务管理工具中已完成任务的API、以及一个文本生成工具。这三个是必须绑定的因为没有它们skill就无法获取数据、无法生成内容。但像发送邮件这种操作就不一定要绑定在skill里。因为发送邮件是一个通用的动作Agent本身可能已经具备这个能力。你可以在skill的输出中说明生成完毕请确认后发送把发送动作交给Agent的通用能力来处理。3.4 测试策略从单元测试到对抗性测试Skill开发完之后测试是必不可少的环节。我通常会把测试分成三个层次第一层单元测试。针对skill中的每个步骤单独测试确保每个步骤在正常输入下都能产生预期的输出。这一步主要是验证指令的准确性。第二层集成测试。把整个skill跑一遍用真实的输入数据检查端到端的执行结果是否符合预期。这一步主要是验证步骤之间的衔接是否顺畅上下文传递是否正确。第三层对抗性测试。故意给skill一些刁钻的输入比如格式错误的文件、缺失字段的数据、超出预期范围的参数看看skill能不能正确处理这些异常情况。这一步是最容易被忽略的但也是最能暴露问题的。我在对抗性测试中遇到过几个典型问题输入文件是加密的PDF解析器直接报错但skill没有处理这个异常导致整个流程卡死。输入数据中某个字段的值是空字符串skill在后续步骤中试图对这个空字符串做处理产生了错误的结果。用户输入的参数超出了预设的范围skill没有做范围校验直接把非法参数传给了下游工具。这些问题在正常测试中很难发现但实际使用中出现的概率并不低。所以我的建议是对抗性测试的用例数量至少要和正常测试用例一样多。4. 实测中踩过的坑Skills开发与使用的常见问题4.1 描述文本写得太虚导致路由失败这是最常见的问题没有之一。很多人写skill描述的时候喜欢用一些大而空的词比如智能分析、高效处理、全面支持。这些词听起来很厉害但对Agent的路由决策没有任何帮助。我做过一个对比测试同一个skill分别用两种描述文本注册然后让Agent在100个不同的请求中判断是否应该调用这个skill。描述文本路由准确率智能分析用户提供的文档提取关键信息62%当用户提供PDF或Word文档并要求提取其中的表格数据时使用。不适用于图片文件或纯文本文件91%差距非常明显。好的描述文本应该包含三个要素触发条件什么时候用、输入类型处理什么、排除条件什么时候不用。4.2 步骤之间的上下文丢失Skill执行多个步骤时步骤之间的上下文传递是一个容易出问题的地方。特别是在涉及多轮交互的场景中如果上下文管理没做好就会出现前面步骤的输出在后续步骤中找不到了的情况。我遇到过一个典型的案例一个skill需要先让用户确认一些参数然后再执行后续操作。但在用户确认之后skill重新开始执行之前已经解析好的数据全部丢失了导致需要重新解析一遍。解决这个问题的关键是在skill的指令中明确指定上下文的存储和读取方式。比如步骤1解析输入数据 - 将解析结果存储在上下文变量 parsed_data 中 步骤2请求用户确认 - 从上下文变量 parsed_data 中读取数据展示给用户 - 等待用户确认 步骤3执行处理 - 从上下文变量 parsed_data 中读取数据 - 执行处理逻辑这样写清楚之后Agent就知道每一步应该从哪里读取数据、往哪里写入数据不会出现上下文丢失的问题。4.3 异常处理被忽略很多skill在开发的时候只考虑了一切顺利的情况没有考虑异常处理。结果就是一旦出现意外整个skill就崩溃了用户得到的只有一个模糊的错误信息。我的做法是为每个步骤都定义异常处理逻辑。具体来说就是问自己三个问题这一步可能出什么错出错了应该怎么办重试、跳过、终止、还是请求用户介入出错信息应该怎么呈现给用户把这三个问题的答案写进skill的指令里就能大大提升skill的健壮性。4.4 工具调用的参数格式不匹配这个问题在使用外部API的时候特别常见。不同的API对参数的格式要求不一样有的要求JSON有的要求表单有的要求特定的日期格式。如果skill在调用工具的时候没有按照要求传递参数就会调用失败。我的建议是在skill的指令中明确写出每个工具调用的参数示例。不要只写调用XX API获取数据而要写调用XX API参数格式为 {date: 2024-01-01, type: daily}。这样Agent在生成调用请求的时候就有明确的参考。5. 典型应用场景拆解从写论文到自动挖洞5.1 学术写作场景Codex写论文的skills设计思路从热词来看codex写论文的skills是一个关注度很高的方向。这个场景的需求很明确帮助研究者完成论文写作中的各个环节包括文献整理、大纲生成、段落撰写、引用格式化等。我设计过一个类似的skill核心思路是把论文写作拆成多个独立的子skill每个子skill负责一个具体的环节文献提取skill输入是一批PDF文献输出是结构化的文献信息标题、作者、年份、摘要、关键结论。大纲生成skill输入是研究主题和文献信息输出是论文大纲。段落撰写skill输入是大纲中的某个小节和相关的文献信息输出是该小节的初稿。引用格式化skill输入是正文中的引用标记输出是符合指定格式的参考文献列表。每个子skill都可以独立使用也可以组合起来完成整篇论文的写作。这种设计的好处是灵活性和可复用性都很高。用户可以根据自己的需要选择使用哪些子skill也可以把子skill组合成不同的工作流。在实际测试中我发现最关键的是文献提取skill的准确性。如果提取的信息有误后续的大纲和段落都会受到影响。所以这个skill需要特别仔细地设计提取规则和验证逻辑。5.2 安全测试场景自动挖洞skills的边界与风险自动挖洞skills是另一个热门方向。这类skill通常用于辅助安全测试比如自动扫描Web应用中的常见漏洞、分析网络流量中的异常模式等。从技术角度来说这类skill的设计难度比较高因为它涉及到动态的、不确定的环境。目标系统的响应可能千变万化skill需要能够适应不同的情况。我了解到的一些实践是把挖洞过程拆成信息收集、漏洞探测、结果验证三个阶段每个阶段对应一个skill。信息收集skill负责扫描目标的基本信息开放端口、服务版本、目录结构等漏洞探测skill根据收集到的信息尝试常见的漏洞利用方式结果验证skill对探测到的漏洞进行确认排除误报。需要特别注意的是这类skill的使用必须严格遵守法律法规和道德规范只能在获得明确授权的环境中使用。skill的设计者也应该在指令中加入必要的合规检查和风险提示。5.3 前端开发场景用skills提升开发效率前端开发skills这个方向最近也很火。前端开发的很多工作是有固定模式的比如组件创建、样式编写、接口对接、单元测试编写等。这些工作很适合用skill来封装。我试过做一个React组件生成的skill输入是组件的名称、props定义和基本功能描述输出是一个完整的组件文件包括组件代码、样式文件和测试文件。这个skill的核心在于模板的维护。你需要预先定义好组件的代码模板然后在skill中根据输入参数填充模板。实测下来这个skill能节省大约60%的重复性工作时间。但需要注意的是生成的代码仍然需要人工审查特别是涉及到业务逻辑的部分不能完全依赖自动生成。6. Skills的安装、分发与生态现状6.1 安装方式与平台差异目前skills的安装方式主要有三种第一种是手动安装。把skill文件放到指定的目录下然后在配置文件中注册。这种方式最灵活但需要用户对系统结构有一定了解。第二种是通过包管理器安装。类似于npm或pip通过命令行工具从远程仓库拉取skill包并自动安装。这种方式最方便但需要有一个成熟的包管理生态。第三种是通过市场安装。在图形界面中浏览、搜索、一键安装。这种方式门槛最低但目前可用的市场还比较少。不同平台对skills的支持程度也不一样。有的平台只支持特定格式的skill文件有的平台对skill的数量和大小有限制。在选择平台的时候需要根据自己的实际需求来权衡。6.2 分发渠道与版本管理Skills的分发和版本管理是一个容易被忽视但很重要的问题。当你开发了一个skill并分享给别人使用之后如果后续做了更新怎么让用户获取到新版本目前比较常见的做法是用Git仓库来管理skill的版本。每个skill对应一个仓库通过tag来标记版本号。用户可以通过指定版本号来安装特定版本的skill也可以选择自动更新到最新版本。这种方式的优点是透明、可控用户可以清楚地看到每个版本的变化。缺点是需要用户有一定的Git使用经验。另一个问题是依赖管理。如果一个skill依赖于某个外部工具或库那么在使用这个skill之前需要先确保这些依赖已经安装。目前大多数平台还没有成熟的依赖自动解析机制需要skill开发者在文档中明确说明依赖项。6.3 社区生态与质量参差不齐的问题随着skills概念的流行社区中涌现了大量的skill分享。但质量参差不齐的问题也很突出。有的skill设计精良、文档完善、测试充分有的skill则只是把一段prompt包装了一下就发布出来了。我在筛选skill的时候通常会看几个指标描述是否清晰能不能用一两句话说清楚这个skill做什么、什么时候用。文档是否完整有没有使用说明、参数说明、示例和注意事项。是否有测试用例有没有提供测试数据或测试方法让用户可以验证skill的效果。更新频率最近一次更新是什么时候是否还在维护。用户反馈其他用户的使用评价和问题反馈。这几个指标综合起来基本能判断一个skill是否值得使用。7. 我对Skills未来演进的一些观察从目前的发展趋势来看skills正在从个人工具向团队协作资产演变。早期大家开发skill主要是为了解决自己的问题现在越来越多的团队开始把skill作为团队知识沉淀的载体。把团队的最佳实践、标准流程、常用操作封装成skill新成员加入之后直接加载这些skill就能快速上手。另一个趋势是skill的组合与编排。单个skill的能力是有限的但多个skill组合起来就能完成复杂的任务。现在已经有一些平台开始支持skill的编排功能用户可以定义skill之间的调用关系和数据流转方式形成更复杂的工作流。还有一个值得关注的方向是skill的自动生成。随着模型能力的提升未来可能不需要人工编写skill的指令而是让模型根据任务描述自动生成skill的框架人工只需要做审核和微调。这会大大降低skill开发的门槛。我在实际使用中的一个体会是不要为了用skills而用skills。有些任务用简单的prompt就能解决没必要非得封装成skill。Skills的价值在于复用和标准化如果一个任务只需要执行一次或者每次执行的差异很大那么封装成skill的收益就很有限。选择什么时候用skill、什么时候用prompt我的判断标准是如果这个任务你需要重复执行三次以上而且每次的执行流程基本一致那就值得封装成skill。否则直接用prompt更省事。最后分享一个我在调试skill时常用的小技巧在skill的每个关键步骤后面加上日志输出。这样当执行结果不符合预期时你可以通过日志快速定位到是哪一步出了问题。虽然这会增加一些输出内容但对调试效率的提升是非常明显的。

相关新闻

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/7 12:40:40 阅读更多 →
孩子不愿意跟你说话?90%的家长都忽略了这件事——用AI记录工具重新连接亲子关系

孩子不愿意跟你说话?90%的家长都忽略了这件事——用AI记录工具重新连接亲子关系

你有没有过这样的瞬间?忙了一天回到家,看到孩子坐在沙发上刷手机,你开口问:“今天学校怎么样?”对方头也不抬回一句“还行”,然后就没有然后了。你试图多问两句,孩子要么敷衍要么直接戴上耳机。…

2026/10/7 12:40:40 阅读更多 →
Claude Code营销技能库marketingskills:SEO与CRO自动化实战

Claude Code营销技能库marketingskills:SEO与CRO自动化实战

1. 从"marketingskills"说起:一个被低估的AI营销技能库第一次看到"marketingskills"这个词,是在翻Claude Code相关项目的时候。当时我的第一反应是:这不就是把营销话术塞给AI让它写文案吗?但真正把仓库拉下来…

2026/10/7 12:40:40 阅读更多 →

最新新闻

Agent技能系统实战:从工具堆叠到编排设计的完整指南

Agent技能系统实战:从工具堆叠到编排设计的完整指南

1. 为什么 Agent 需要一套"技能系统"而不是单纯堆 Prompt还记得我第一次给内部知识库助手加工具函数的时候,系统里一共只有 3 个工具:查文档、查联系人、建工单。模型选得又快又准,几乎零失误。我心里想,这不挺简单的嘛…

2026/10/7 13:11:13 阅读更多 →
Java工程师转型AI Agent:能力栈结构性升级指南

Java工程师转型AI Agent:能力栈结构性升级指南

1. 这不是转行,是能力栈的“结构性升级”:一个Java老兵的真实认知切换我干Java开发八年,从写Servlet、配Tomcat、手撸SSH框架,到后来Spring Boot自动装配、MyBatis动态SQL写得飞起,再到K8s上跑微服务、用Arthas在线诊断…

2026/10/7 13:11:13 阅读更多 →
Agent-Reach:智能体触达层的设计与实践,打通工具调用的最后一公里

Agent-Reach:智能体触达层的设计与实践,打通工具调用的最后一公里

做Agent应用这两年多,我最大的感受是:demo里人人都是天才,生产环境里天天都在补锅。模型幻觉、工具参数传错、上下文被撑爆、权限没人管——这些问题几乎都集中在同一个环节:智能体对外部世界的“触达”。Agent-Reach这个名字&…

2026/10/7 13:11:13 阅读更多 →
JFET栅极电场传感:用2N3819捕获50Hz工频信号

JFET栅极电场传感:用2N3819捕获50Hz工频信号

1. 为什么50Hz工频信号总在“偷偷摸摸”干扰你?——从JFET栅极的物理本质说起 你有没有试过,在调试一个高增益音频放大器时,示波器上突然冒出一根稳稳当当、纹丝不动的50Hz正弦波?不是噪声,不是毛刺,就是一…

2026/10/7 13:11:13 阅读更多 →
claude-mem:用Git为Claude Code打造跨会话长期记忆

claude-mem:用Git为Claude Code打造跨会话长期记忆

1. 这个项目到底在解决什么 说实话,我第一次看到 claude-mem 这个名字的时候,脑子里蹦出来的是“又一个数据库驱动的 AI 记忆插件”。但真正跑起来之后才发现,它和我见过的所有记忆方案都不太一样——它把“记忆”这件事做成了一门极其务实的…

2026/10/7 13:11:12 阅读更多 →
新手小白一句话生成漫剧用什么平台?知漫剧一站式攻略

新手小白一句话生成漫剧用什么平台?知漫剧一站式攻略

Meta描述: 新手小白一句话生成漫剧用什么平台?本文从角色库持久化、场景数据复用、配音绑定、批量队列四个条件出发,对比知漫剧、即梦、可灵、小云雀、豆包、LibTV,附两个差异化对比表格与常见问题。 开篇首段 新手小白想用一句…

2026/10/7 13:10:12 阅读更多 →

日新闻

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

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

2026/10/7 1:01:58 阅读更多 →
用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

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

2026/10/7 1:02:00 阅读更多 →
芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

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

2026/10/7 1:02:00 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

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

2026/10/6 7:15:40 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

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

2026/10/6 5:29:09 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

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

2026/10/7 9:29:10 阅读更多 →

月新闻

我发现了一个新思路:用 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/6 8:21:32 阅读更多 →
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/7 11:43:46 阅读更多 →
黑夜航拍船只数据集训练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/6 1:18:13 阅读更多 →