构建可复用AI Agent技能库:从工程化思维到实战应用

news2026/5/4 14:42:01
1. 项目概述构建可复用的AI Agent技能库如果你和我一样在过去的两年里深度使用过各种AI Agent平台从早期的AutoGPT到后来的LangChain再到现在的OpenClaw和Claude你一定会遇到一个共同的痛点那些在某个特定对话中灵光一现、完美解决了一个复杂任务的“工作流”往往在对话结束后就消失了。下次遇到类似的问题你不得不从头开始回忆、重新组装提示词、重新调试脚本效率极低。这就像每次做饭都要重新发明菜谱一样既浪费时间又难以保证质量。agent-skills这个项目正是为了解决这个核心痛点而生的。它是一个双语中英文的、面向OpenClaw、Claude等主流Agent运行时的可复用技能仓库。但请注意这里说的“技能”不是指那些花里胡哨的、只能跑通一次的“玩具提示词”。恰恰相反这个仓库致力于沉淀那些在真实工作场景中经过反复验证、能够稳定交付价值的工作流、脚本、参考资料和实战经验。你可以把它理解为一个由社区共同维护的、面向AI Agent的“标准作业程序”库或“最佳实践”工具箱。这个项目的核心价值在于“一次沉淀多处复用”。当你花费数小时甚至数天成功让一个Agent完成了一项复杂的视频字幕处理或PDF报告生成任务后你可以将整个工作流——包括触发条件、执行步骤、依赖脚本、常见陷阱——打包成一个结构化的“Skill”。之后无论是你自己在其他项目中复用还是分享给团队或社区的其他成员都能实现“开箱即用”极大地提升自动化任务的可靠性和效率。2. 核心设计理念与架构解析2.1 从“一次性魔法”到“可复用工程”很多AI工作流失败的原因在于它们被设计成了“一次性魔法”。它们依赖于一次性的、高度情境化的提示词缺乏清晰的输入输出定义、错误处理机制和可维护的代码。agent-skills的设计哲学是反其道而行之它倡导将AI能力“工程化”。一个合格的Skill其结构必须是清晰、自包含且可审计的。这不仅仅是把提示词存成一个文本文件那么简单。它要求我们将一个复杂任务分解为可管理的步骤将稳定的逻辑封装成脚本将踩过的坑和解决方案整理成文档。这种工程化思维是确保技能能够跨项目、跨团队、跨时间复用的基础。2.2 Skill的标准化结构SKILL.md、scripts与references为了实现上述目标agent-skills为每个Skill定义了一个标准化的目录结构。理解这个结构是理解整个项目运作方式的关键。SKILL.md技能的“使用说明书”这是每个Skill的入口和核心文档。它必须简洁、清晰地说明三件事这个技能是干什么的(What it does)用一两句话概括核心功能。在什么情况下使用它(When to use)明确触发条件和使用场景。如何使用它(How to use)提供最简化的调用示例或命令。SKILL.md要保持“轻量”只包含必要信息。复杂的实现细节、背景知识、排错指南都应该放到references/目录下。这符合“渐进式披露”原则让用户能快速上手再根据需要深入。scripts/技能的“自动化工具集”这里是存放可执行脚本的地方。任何可以、也应该被自动化的步骤都应该被编写成脚本。例如检查双语字幕SRT文件格式、调用ffmpeg进行视频硬字幕压制、使用WeasyPrint渲染包含中文字体的PDF等。注意脚本的语言选择Python、Bash等应优先考虑目标运行环境的兼容性和社区接受度。脚本应有清晰的参数说明和基本的错误处理避免“静默失败”。references/技能的“知识库与避坑指南”这是技能的“大脑”和“经验库”。所有无法或不便写入脚本的隐性知识都放在这里。典型内容应包括workflow.md: 详细的工作流程图和步骤说明解释每个环节的意图和上下游依赖。troubleshooting.md: 记录已知的常见错误、原因分析和解决方案。这是最有价值的部分之一。领域特定的参考资料例如在视频处理Skill中可能会有ffmpeg_subtitle_filters_notes.md在PDF生成Skill中可能会有font_embedding_guide.md。2.3 两种分发格式源码目录与.skill包为了适应不同的使用场景agent-skills支持两种技能格式源码目录即上述的标准化文件夹结构。这是最灵活、最透明的方式适合开发、调试和深度定制。你可以直接复制整个文件夹到你的技能工作区。.skill包这是一个压缩包格式的分发产物本质上就是将整个技能目录排除.git等版本控制文件打包成一个.skill文件。它便于分享、发布和在一些支持直接导入包格式的Agent运行时如某些配置下的OpenClaw中一键安装。对于大多数用户尤其是刚开始接触的开发者我强烈建议直接使用源码目录。这种方式没有任何“黑盒”你可以看到所有文件方便学习和修改。.skill包更适合于最终的分发和部署阶段。3. 实战技能深度解析以双语视频字幕为例让我们以仓库中目前最完整的技能video-bilingual-subtitle-delivery为例深入拆解一个“经得起实战检验”的技能是如何构建和运作的。这个技能解决了中英双语视频字幕制作中的一系列典型痛点时间轴对齐、语言层同步、软硬字幕交付、环境兼容性等。3.1 核心工作流与设计决策该技能的工作流并非凭空设计而是源于真实的交付需求。其核心流程可以概括为“先英后中软硬兼备审计兜底”。英文时间轴优先首先确保英文字幕的时间轴与视频人声完美匹配。这是基础因为英文语音识别ASR或原始英文字幕的时间精度通常更高。先锁定一个准确的时间骨架。中文对齐挂载在英文时间轴的基础上将对应的中文字幕文本挂载到同一个“字幕事件”下。这意味着一条字幕记录里同时包含英文和中文它们共享相同的时间入点和出点。这避免了中英文字幕交替出现造成的观看割裂感。软字幕交付首选的交付物是软字幕文件如.srt或.ass。这给了最终用户最大的灵活性可以开关字幕、选择样式。技能中会包含生成标准双语SRT格式的脚本。硬字幕备用方案当播放环境不支持软字幕或需要生成“烧录”了字幕的最终成片时启用硬字幕方案。这里技能考虑到了一个关键陷阱并非所有ffmpeg编译版本都包含了字幕滤镜如subtitles滤镜。因此技能提供了fallback方案。最终审计在交付前运行一个审计脚本检查常见问题如中文字幕行是否缺失、时间轴是否有重叠、格式是否符合规范等。实操心得这个“先软后硬审计先行”的流程是我们从多次交付失败中总结出来的。曾经我们直接生成硬字幕一旦发现错误如中文漏行就需要重新渲染整个视频耗时极长。现在先输出软字幕并审计修正成本几乎为零确认无误后再进行硬字幕压制可靠性大幅提升。3.2 关键脚本实现与避坑要点技能目录下的scripts/包含了实现上述流程的关键自动化脚本。audit_bilingual_srt.py双语SRT审计器这个脚本的职责是质量检查。它会解析SRT文件检查格式合规性序号是否连续时间格式是否为HH:MM:SS,mmm。双语完整性每条字幕是否都包含英文和中文部分通常通过检测字符集或分隔符判断。时间轴逻辑检查是否有时间重叠上一句的结束时间晚于下一句的开始时间。空行与空白检查是否有空字幕或纯空格的字幕。 脚本的输出是一份清晰的报告指明问题所在的行号和具体原因而不是一个简单的“通过/失败”。这对于快速定位和修复问题至关重要。hardcode_bilingual_srt.py硬字幕压制脚本这是技能的技术核心也是坑最多的地方。一个健壮的硬字幕脚本必须处理以下问题滤镜检测与fallback脚本首先会检查本地ffmpeg是否支持libass或subtitles滤镜。如果不支持则自动切换到fallback方案。一种常见的fallback方案是使用drawtext滤镜动态绘制文本但这需要自己处理文本换行、样式和位置复杂得多。该技能在references/中提供了两种方案的实现笔记。字体文件路径硬字幕需要指定字体文件以确保中文正确显示。脚本不能写死字体路径而应通过配置文件或参数传入并检查路径有效性。编码与性能硬字幕压制是计算密集型任务。脚本应提供合理的编码参数预设如使用硬件加速-hwaccel cuda如果可用并在references/troubleshooting.md中记录不同机器上的性能数据和优化参数。# 一个简化版的脚本调用示例展示了参数传递 python scripts/hardcode_bilingual_srt.py \ --input video.mp4 \ --subtitle bilingual.srt \ --output video_with_hardsub.mp4 \ --font-path /System/Library/Fonts/PingFang.ttc \ --fallback-mode drawtext3.3 参考资料从失败中学习的宝贵资产references/目录下的文件是这个技能的“灵魂”。以lessons-from-terafab.md为例假设这是一个从真实项目“TeraFab”中总结的文档它可能记录了如下血泪教训教训1云服务器缺字体。在AWS EC2上压制字幕时发现中文全部显示为方框。原因是基础Linux镜像没有中文字体。解决方案脚本增加字体检查环节如果缺失则自动从资源库下载或提示用户安装。教训2FFmpeg版本差异。在macOS上用Homebrew安装的ffmpeg支持subtitles滤镜但在某台Ubuntu服务器上通过apt安装的ffmpeg却不支持。解决方案工作流的第一步从“检测环境”开始并明确在文档中列出经过验证的ffmpeg构建版本。教训3长视频内存溢出。处理一个2小时的视频时硬字幕压制进程被系统杀死。解决方案将references/workflow.md中的步骤修改为“先切割视频为小段分别压制字幕最后再合并”并提供了相应的辅助脚本片段。这些文档不是事后补充而是在技能开发过程中同步记录的。它们使得技能不再是脆弱的“黑盒”而是一个带有历史记忆和防御性设计的健壮工具。4. 另一个核心技能专业中文PDF报告生成除了视频字幕技能仓库中的chinese-pdf-report技能同样解决了非常实际的问题。它的背景是在macOS或其他系统上当你尝试用HTML转PDF例如使用Puppeteer、WeasyPrint来生成包含中文的报告时经常会遇到字体渲染失败、排版错乱、字体嵌入不正确等问题。4.1 问题根源与解决方案分层这个技能没有试图用一个“万能提示词”让AI去猜如何解决而是系统地拆解了问题字体识别与回退问题CSS中指定的中文字体如“PingFang SC”在无头渲染环境中可能不可用导致回退到丑陋的默认字体。字体嵌入问题即使屏幕上预览正确生成的PDF文件可能没有嵌入中文字体。当这份PDF在另一台没有该字体的电脑上打开时中文就会乱码或显示为其他字体。HTML/CSS渲染引擎差异不同的PDF生成库wkhtmltopdf, WeasyPrint, Chrome Headless对CSS的支持程度不同尤其是对于复杂的中文排版如竖排、特殊标点挤压。该技能的scripts/render_cn_report_pdf.py脚本核心思路是“强制控制字体路径与嵌入”。本地字体托管脚本会要求或自动将特定的中文字体文件如思源黑体、霞鹜文楷放置到项目资产目录下。CSS内联与绝对路径在生成HTML时使用file://绝对路径在CSS的font-face中引用本地字体文件确保渲染引擎能准确找到。显式嵌入指令对于像WeasyPrint这样的引擎需要在命令行或API参数中显式指定--attach字体文件以确保其被嵌入PDF。多引擎备选方案在references/中提供针对Puppeteer、WeasyPrint等不同渲染引擎的配置模板和优劣对比让用户可以根据自身技术栈选择。4.2 技能的可组合性与扩展性一个优秀的技能设计应该考虑到它可能与其他技能组合使用。例如chinese-pdf-report技能可能被另一个“周报生成Agent”所调用。因此它的脚本被设计为函数化、模块化。理想的render_cn_report_pdf.py脚本应该提供一个清晰的函数接口例如def render_pdf_from_html(html_content, output_pdf_path, configNone): 将HTML内容渲染为嵌入中文字体的PDF。 参数: html_content (str): HTML字符串。 output_pdf_path (str): 输出PDF文件路径。 config (dict): 配置字典可覆盖字体路径、引擎选择等默认设置。 返回: bool: 成功为True失败为False。 # ... 实现细节这样其他Agent或技能就可以通过导入和调用这个函数轻松获得高质量的中文PDF生成能力而无需关心内部复杂的字体处理逻辑。这体现了“一次沉淀多处复用”的真正威力。5. 如何为agent-skills贡献你的技能如果你有一个觉得值得分享的自动化工作流并希望将其贡献给agent-skills社区请遵循以下路径这能极大提高你的PR被合并的几率。5.1 贡献前的自我审查清单在动手整理之前先问自己几个问题这个技能真的被验证过吗它是否成功运行过至少3次以上且是在稍微不同的上下文或数据中一次性的成功可能是运气。它的核心价值是否明确它解决的是一个普遍存在的、具体的问题还是只是一个非常个人化的小技巧它是否过于依赖特定环境如果它只能在你的个人电脑的特定配置下运行那么贡献价值就不大。尽量让技能具有可移植性。你是否能清晰地描述其输入和输出一个定义模糊的技能很难被他人使用。5.2 技能打包的标准流程创建技能目录在本地skills/目录下创建一个新的、描述性的文件夹名例如skills/email-triage-automation。编写SKILL.md这是门面。用中英文清晰说明功能、使用场景和快速入门示例。保持简洁。提炼脚本将工作流中可自动化的部分整理成脚本放入scripts/。为脚本添加注释和基本的参数解析。沉淀知识在references/下创建文档。workflow.md描述整体步骤和设计思路troubleshooting.md记录你踩过的坑和解决方案。这是技能的精华。本地测试在一个全新的、干净的目录中按照你的SKILL.md说明从头开始运行整个技能确保一个完全陌生的人也能成功复现。可选生成.skill包使用项目提供的打包脚本生成分发包。提交PR将你的技能目录和可选的.skill包提交Pull Request。在PR描述中简要介绍技能背景和价值。5.3 高质量贡献的加分项包含示例数据在技能目录下增加一个assets/examples/子目录放入一小套可以用于测试的输入文件和预期的输出文件。这能让使用者快速验证技能是否正常工作。版本兼容性说明在SKILL.md或references/中注明技能所依赖的主要工具如Python, ffmpeg, Node.js的版本范围。单元测试如果技能的核心逻辑是Python脚本可以考虑添加简单的单元测试例如使用pytest这能极大增强技能的可靠性。可以将测试文件放在scripts/tests/下。流程图在references/workflow.md中用Mermaid语法或其他方式绘制一个简单的流程图可视化工作流。6. 集成与应用将技能融入你的Agent工作流拥有技能库之后关键在于如何将其无缝集成到你日常的Agent使用中。这里以OpenClaw和Claude Desktop为例提供两种典型的集成思路。6.1 在OpenClaw中管理技能OpenClaw通常有一个集中的技能目录。最直接的方式就是将agent-skills中你需要的技能文件夹复制到OpenClaw的技能路径下。# 假设你的OpenClaw技能目录在 ~/.openclaw/skills/ # 而你把 agent-skills 克隆到了 ~/Projects/agent-skills cp -R ~/Projects/agent-skills/skills/video-bilingual-subtitle-delivery ~/.openclaw/skills/之后当你在OpenClaw中创建或配置Agent时就可以在技能列表里看到并启用video-bilingual-subtitle-delivery。Agent在运行时就能理解这个技能的描述来自SKILL.md并在需要时调用相关的脚本。高级用法技能组合与编排一个强大的Agent往往需要组合多个技能。例如你可以创建一个“视频内容本地化Agent”它依次调用以下技能一个“视频语音转录”技能可能来自其他仓库。agent-skills中的video-bilingual-subtitle-delivery技能用于生成和压制双语字幕。一个“视频元信息编辑”技能用于更新视频标题和描述。在OpenClaw中你可以通过编写一个更高层级的“协调技能”或直接在Agent的提示词中定义工作流来编排这些底层技能的调用顺序和条件。6.2 在Claude Desktop或其他Chatbot中引用技能对于Claude Desktop、Cursor等以聊天界面为主的工具直接“安装”技能的概念可能较弱。但你可以通过“知识库”或“上下文引用”的方式来利用这些技能。方法一作为参考文档将某个技能的SKILL.md和references/中的关键内容保存为一个Markdown文件。当你在Claude中处理相关任务时可以将这个文件作为上下文附件上传。然后指示Claude“请参考附件的‘双语字幕制作指南’来完成当前视频的字幕处理。” Claude就能基于这些结构化的最佳实践来操作。方法二封装成工具调用如果你使用的是支持“函数调用”或“工具使用”的Claude API你可以将技能的脚本核心功能封装成一个API端点或本地命令行工具。然后将这个工具的定义提供给Claude。当用户提出需求时Claude可以自主决定调用这个工具。例如将hardcode_bilingual_srt.py封装成一个HTTP服务Claude在需要压制字幕时会向这个服务发送请求。个人体会我发现在Claude Desktop中最有效的方式是“混合模式”。我将技能的SKILL.md摘要和最关键的命令行示例保存在一个笔记应用中。当需要时我快速复制这些命令到聊天窗口让Claude帮我解释、调整或执行它们。技能库在这里扮演了“可靠命令手册”的角色避免了每次都要重新搜索和试错。7. 常见问题与排错心法在创建和使用技能的过程中你会遇到各种问题。以下是一些高频问题的排查思路和解决心法。7.1 技能执行失败通用排查步骤无论技能多么完善环境差异总是导致失败的第一大原因。当技能运行出错时请按以下顺序排查检查依赖首先确认所有命令行工具ffmpeg, python, node等已安装且版本符合技能要求。使用--version命令验证。检查路径与权限脚本中使用的文件路径是否存在当前用户是否有读写权限特别是涉及字体文件、临时目录时。隔离测试不要一次性运行整个技能。尝试手动执行技能中的每一个独立脚本并输入最简单的测试数据看哪一步报错。查阅references/troubleshooting.md技能作者可能已经遇到过相同的问题。启用详细日志修改脚本或在命令中添加详细输出标志如bash -x script.sh或python -u script.py查看具体的执行过程。7.2 特定技能问题双语字幕与PDF生成双语字幕技能常见问题问题现象可能原因解决方案生成的字幕文件时间轴全为0字幕解析脚本未能正确匹配时间戳格式检查输入的SRT文件格式确保时间行为标准格式00:01:23,456 -- 00:01:25,789。脚本可能需要增强格式兼容性。硬字幕压制后中文不显示1. 字体文件路径错误或缺失。2. ffmpeg不支持所选字体格式或编码。1. 使用--font-path指定绝对路径并用fc-list命令确认字体在系统中可用。2. 尝试换用.ttc或.ttf格式的字体并在ffmpeg命令中尝试指定-charset UTF-8。压制过程极其缓慢未使用硬件加速或视频编码参数不合理。在ffmpeg命令中添加-hwaccel cuda(NVIDIA) 或-hwaccel videotoolbox(macOS) 尝试硬件加速。或降低输出视频的分辨率和码率。中文PDF技能常见问题问题现象可能原因解决方案PDF中中文显示为方框字体未成功嵌入或CSS字体回退失败。确保在CSS中使用font-face并通过file://引用绝对路径的字体文件。检查WeasyPrint/Puppeteer的日志看是否有字体加载错误。排版错乱换行位置奇怪渲染引擎对CSS属性如word-break,text-align的支持与浏览器不同。简化CSS布局避免使用过于复杂或最新的CSS特性。参考references/中针对特定渲染引擎的CSS兼容性列表。生成的文件巨大可能嵌入了整个字体文件而不仅仅是使用的字符子集。如果工具支持如某些PDF库启用字体子集化。或者考虑使用体积较小的开源中文字体如“霞鹜文楷”的屏幕优化版。7.3 技能设计本身的“坑”过度复杂试图在一个技能里解决所有问题。这会导致技能难以理解、维护和调试。心法一个技能应专注于解决一个核心问题。如果需要多个步骤考虑拆分成多个技能并组合使用。隐藏的假设技能脚本中隐式依赖了某个环境变量、某个特定位置的配置文件或假设用户拥有某种网络权限。心法所有依赖都应在SKILL.md开头显式声明并通过参数或配置文件传入而不是写死在代码里。缺乏错误处理脚本遇到错误就直接崩溃没有给出有意义的提示信息。心法使用try...except捕获常见异常并打印出对用户友好的错误消息指导下一步该怎么做。8. 未来展望与技能生态构建agent-skills目前只是一个开始。一个健康的技能生态远不止是一个GitHub仓库。在我看来它的未来可能围绕以下几个方向演进技能发现与版本管理像编程语言的包管理器如npm, pip一样未来可能需要一个中心化的技能注册表方便搜索、安装和更新技能并管理技能之间的依赖关系。技能测试与验证框架如何客观地评价一个技能的质量需要一个标准的测试套件包含模拟的输入和期望的输出确保技能的每次更新都不会破坏原有功能。技能组合的标准化描述如何描述技能A的输出是技能B的输入可能需要一种类似“工作流描述语言”的东西来定义多个技能如何串联、并联形成更复杂的自动化管道。领域垂直化目前的技能还比较通用。未来可能会出现专注于特定领域的技能子库例如“数据分析技能库”、“社交媒体运营技能库”、“智能客服技能库”等里面的技能会用到更多领域特定的工具和数据格式。无论技术如何变化agent-skills所倡导的“从实战中来到实战中去”、“沉淀可复用的工程化经验”这一核心理念将是构建真正强大、可靠的AI Agent应用生态的基石。它提醒我们AI的威力不仅来自于模型本身更来自于我们如何将人类的经验和智慧通过精心的设计固化到这些可重复使用的数字工具中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2578115.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…