AI智能体技能库:模块化设计与实战集成指南

news2026/5/16 18:01:41
1. 项目概述一个面向AI智能体的技能库最近在折腾AI智能体Agent的开发发现一个挺有意思的现象很多开发者包括我自己在内在构建一个能处理复杂任务的智能体时常常会陷入“重复造轮子”的困境。比如想让智能体去读取网页内容、处理一份PDF文档、或者调用某个特定的API我们往往需要从头开始编写这些基础但必要的功能模块。这不仅效率低下而且代码质量也参差不齐。正是在这种背景下我注意到了buiducnhat/agent-skills这个项目。从名字就能看出来这是一个关于“Agent Skills”智能体技能的仓库。它本质上是一个开源的、模块化的技能Skills集合旨在为开发者构建功能强大的AI智能体提供一套即插即用的“工具箱”。你可以把它想象成一个为智能体准备的“瑞士军刀”里面集成了各种常用的工具比如网络搜索、文件解析、代码执行、数据查询等等。有了它你就不用再为“如何让智能体看懂一张图片”或者“如何让智能体从数据库中提取数据”这类基础问题而烦恼可以直接调用现成的、经过验证的技能模块从而把精力集中在智能体本身的业务逻辑和决策流程上。这个项目特别适合两类人一是正在学习或研究AI智能体开发的初学者可以通过研究这些现成的技能来理解智能体如何与外部世界交互二是需要快速搭建智能体原型或产品的开发者它能显著降低开发门槛加速迭代过程。接下来我就结合自己的使用和探索经验对这个项目的设计思路、核心技能以及如何将其集成到你的智能体中做一个深入的拆解。2. 项目核心架构与设计哲学2.1 模块化与可组合性技能即插件agent-skills项目最核心的设计思想就是模块化。它没有试图打造一个庞大、臃肿、功能固定的智能体框架而是将各种独立的功能封装成一个个细粒度的“技能”Skill。每个技能都是一个自包含的单元有明确的输入和输出接口以及独立的功能实现。这种设计带来了巨大的灵活性。比如你的智能体可能需要先“搜索网页”SearchWebSkill获取信息然后“总结内容”SummarizeSkill最后“发送邮件”SendEmailSkill。在agent-skills的体系下这三个步骤对应三个独立的技能模块。你可以像搭积木一样根据任务需求自由地组合和串联这些技能。智能体的“大脑”通常是大型语言模型LLM负责规划和调用这些技能而技能库则负责可靠地执行具体操作。注意这种“大脑”与“手脚”分离的架构是当前主流智能体框架如 LangChain、AutoGen、CrewAI的共识。agent-skills可以很好地与这些框架集成作为其技能Tools的补充或替代。2.2 技能的统一接口规范为了实现模块化所有技能都必须遵循统一的接口规范。虽然项目可能没有强制使用某个特定的抽象基类但通行的最佳实践是定义一个BaseSkill类其中至少包含name: 技能的唯一标识符。description: 对技能功能的自然语言描述。这部分至关重要因为LLM需要根据描述来决定在什么情况下调用这个技能。input_schema: 定义技能所需的输入参数及其类型例如query: str表示需要一个字符串类型的查询词。execute或run方法技能的核心执行逻辑接收输入参数并返回执行结果。一个典型的技能定义看起来是这样的以伪代码示意class SearchWebSkill(BaseSkill): name “web_search” description “Searches the web for relevant information based on a query.” input_schema { “query”: {“type”: “string”, “description”: “The search query.”} } async def execute(self, query: str) - str: # 调用搜索引擎API如Serper、Google Custom Search results await call_search_api(query) # 将结果格式化为LLM易于理解的文本 formatted_results format_search_results(results) return formatted_results这种标准化使得技能的注册、发现和调用变得非常规整。智能体框架可以自动收集所有可用技能的描述供LLM在规划时参考。2.3 依赖管理与环境隔离技能往往依赖外部的库或服务。例如一个处理Excel文件的技能需要pandas和openpyxl一个图像识别技能可能需要Pillow和某些AI模型。agent-skills项目通常通过两种方式管理这些依赖轻量级核心按需安装项目核心只包含最基本的接口定义和工具类。每个技能在独立的目录或文件中并在其文档或requirements.txt中声明自己的依赖。用户可以根据需要选择性地安装某些技能所需的包。容器化/沙箱化执行对于执行不确定代码如Python代码执行技能或访问敏感资源如数据库的技能项目可能会建议或提供在沙箱环境中运行的能力以保障主程序的安全。在实际使用中我建议为你的智能体项目创建一个独立的虚拟环境然后根据你选用的技能逐一安装其依赖。这能有效避免包版本冲突。3. 核心技能类别深度解析根据我的梳理agent-skills项目中的技能大致可以分为以下几类每一类都解决了智能体与特定领域交互的关键问题。3.1 信息获取与检索类技能这是智能体的“眼睛和耳朵”负责从外部世界采集信息。网络搜索技能这是最常用的技能之一。它封装了对搜索引擎API如Serper、Bing Search、Google Programmable Search的调用。关键在于如何处理API返回的复杂JSON数据并将其提炼成简洁、信息丰富的文本摘要供LLM消化。一个优秀的搜索技能还会处理分页、去重和结果可信度排序。网页抓取与解析技能比搜索更近一步直接获取指定URL的HTML内容并提取正文。这里会用到BeautifulSoup或lxml等库。难点在于应对各种反爬机制、处理JavaScript渲染的页面可能需要集成无头浏览器如playwright以及从杂乱HTML中精准提取核心文本常用readability类算法。RSS/API数据获取技能用于从固定的数据源如新闻网站RSS、公开API获取结构化信息。实现相对简单重点是处理网络请求异常、解析XML/JSON格式以及数据缓存避免频繁请求。实操心得网络信息获取技能最怕遇到“超时”和“反爬”。务必为所有网络请求设置合理的超时时间如10-15秒并考虑实现简单的重试逻辑最多2-3次。对于重要项目可以考虑使用付费的、更稳定的API服务或者搭建自己的代理IP池。3.2 文件处理与内容理解类技能智能体需要能“阅读”各种格式的文档。文本文件处理支持.txt,.md,.csv等。对于CSV技能应能解析表头并允许LLM进行简单的查询如“找出第二列大于10的所有行”。PDF文档解析这是难点。简单的技能使用PyPDF2或pdfplumber提取文字但对付扫描版PDF图片就无能为力。高级的技能会集成OCR功能如pytesseract或OCR服务API并能解析文档结构标题、段落、表格。Office文档解析处理.docx,.xlsx,.pptx。python-docx和openpyxl是标准选择。对于Excel技能应能读取指定工作表、单元格范围并理解简单的公式或数据透视表可能需要将数据加载到pandas DataFrame中供LLM分析。图像内容理解这不是简单的元数据读取而是需要集成多模态LLM如GPT-4V、Claude-3的API或本地的视觉模型来回答关于图片内容的问题。输入是图片路径或URL输出是描述性文本。3.3 代码与计算类技能让智能体拥有“动手”执行计算或操作的能力。Python代码执行技能一个强大但也危险的技能。它允许智能体编写并执行Python代码片段来解决复杂计算、数据处理或绘图任务。安全是重中之重。必须在严格的沙箱中运行代码禁用危险模块如os,sys,subprocess限制资源使用CPU时间、内存。通常做法是使用Docker容器或在受限的exec环境中执行。计算器技能相对安全用于执行数学表达式计算如eval(“3 5 * 2”)。即使这样也需要对表达式进行安全检查防止注入攻击。Shell命令执行技能更危险仅在高度受控的环境如为智能体专门创建的容器内中考虑使用并严格限制命令白名单。3.4 系统交互与自动化类技能让智能体能与操作系统或其他软件交互。文件系统操作技能允许智能体在指定安全目录内创建、读取、写入、列出、删除文件。必须实施严格的路径检查和权限控制防止越权访问。电子邮件技能集成SMTP协议发送邮件或IMAP/POP3协议读取邮件。需要处理身份验证、附件、HTML邮件等内容。日历与日程管理技能通过Google Calendar API或Microsoft Graph API等为智能体添加创建事件、查询日程的能力。数据库查询技能封装SQL查询允许智能体用自然语言描述需求技能将其转换为安全的SQL语句或通过LLM转换并执行。必须使用参数化查询防止SQL注入并且最好只有只读权限。3.5 专业领域技能这类技能更具针对性体现了智能体的“专业性”。金融数据获取技能集成yfinance或财经API获取股票价格、公司财报数据。法律文档分析技能集成特定的法律文本解析模型提取当事人、条款、日期等关键信息。科学计算与可视化技能集成numpy,scipy,matplotlib进行数据分析和图表生成。4. 集成与实战将技能库融入你的智能体拥有技能库只是第一步如何让它在你自己的智能体项目中活起来才是关键。这里我以集成到基于OpenAI API和简单编排逻辑的智能体为例分享具体步骤。4.1 环境搭建与技能导入首先克隆或下载agent-skills项目或者通过包管理器安装如果项目提供了PyPI包。git clone https://github.com/buiducnhat/agent-skills.git cd agent-skills创建一个新的虚拟环境并安装核心依赖。查看项目根目录的requirements.txt或pyproject.toml。python -m venv .venv source .venv/bin/activate # Linux/Mac # .venv\Scripts\activate # Windows pip install -r requirements.txt然后根据你需要使用的技能安装额外的依赖。例如你要用网页搜索和PDF解析pip install beautifulsoup4 httpx pdfplumber # 假设这些是技能所需的包4.2 技能实例化与注册在你的智能体主程序中导入并实例化所需的技能。通常项目会提供一个技能加载器或注册中心。# 假设项目结构提供了清晰的导入方式 from skills.web_search import SearchWebSkill from skills.pdf_reader import PDFReadSkill from skills.calculator import CalculatorSkill # 实例化技能可能需要传入配置如API密钥 search_skill SearchWebSkill(api_key“your_serper_api_key”) pdf_skill PDFReadSkill() calc_skill CalculatorSkill() # 将技能注册到一个字典或专门的注册表中供智能体调用 skill_registry { “search_web”: search_skill, “read_pdf”: pdf_skill, “calculate”: calc_skill, }4.3 构建智能体调用逻辑智能体的核心是一个循环理解用户请求 - 规划技能调用序列 - 执行技能 - 整合结果 - 回复用户。这里展示一个简化的执行器。import openai import json class SimpleAgent: def __init__(self, skill_registry): self.skills skill_registry self.client openai.OpenAI(api_key“your_openai_key”) def get_available_skills_description(self): 生成所有可用技能的描述用于提示LLM。 descriptions [] for name, skill in self.skills.items(): # 假设每个技能都有 description 和 input_schema 属性 desc f“- {name}: {skill.description} Inputs: {json.dumps(skill.input_schema)}” descriptions.append(desc) return “\n”.join(descriptions) async def execute_task(self, user_query: str): # 步骤1让LLM根据用户查询和可用技能决定调用哪个技能及参数 system_prompt f“””你是一个AI助手可以调用以下工具技能 {self.get_available_skills_description()} 请根据用户问题决定是否需要调用技能以及调用哪个技能。你的响应必须是JSON格式 {{“skill_to_use”: “skill_name”, “input_arguments”: {{“arg1”: “value1”}}}} 如果不需要调用任何技能直接回答则返回 {{“skill_to_use”: null}}。 “”” response self.client.chat.completions.create( model“gpt-4”, messages[ {“role”: “system”, “content”: system_prompt}, {“role”: “user”, “content”: user_query} ], temperature0, ) decision json.loads(response.choices[0].message.content) # 步骤2执行技能 if decision[“skill_to_use”]: skill_name decision[“skill_to_use”] args decision[“input_arguments”] if skill_name in self.skills: skill self.skills[skill_name] try: # 假设技能有异步execute方法 result await skill.execute(**args) # 步骤3将技能执行结果和原始问题一起让LLM生成最终回答 final_prompt f“””用户原问题{user_query} 你调用了技能 {skill_name}得到结果如下 {result} 请根据以上信息生成对用户的最终回复。“”” final_response self.client.chat.completions.create( model“gpt-4”, messages[{“role”: “user”, “content”: final_prompt}], temperature0.7, ) return final_response.choices[0].message.content except Exception as e: return f“调用技能 {skill_name} 时出错{str(e)}” else: return f“未知技能{skill_name}” else: # LLM认为无需调用技能直接使用其初始回复 return response.choices[0].message.content # 使用示例 agent SimpleAgent(skill_registry) answer await agent.execute_task(“请搜索一下OpenAI最新发布的模型并总结其主要特点。”) print(answer)这个例子非常简化真实的框架如LangChain会处理更复杂的规划、工具调用循环和状态管理。4.4 配置管理与安全性加固在实际部署中配置尤其是API密钥不应硬编码在代码里。使用环境变量或配置文件。import os from dotenv import load_dotenv load_dotenv() # 从 .env 文件加载环境变量 search_skill SearchWebSkill(api_keyos.getenv(“SERPER_API_KEY”))对于执行代码的技能必须实施沙箱。一个简单的方法是使用docker容器来运行不可信的代码。你可以预先准备一个只安装了基础Python和允许库的Docker镜像然后通过Docker SDK在容器内执行用户代码并限制其运行时间和资源。5. 常见问题、调试技巧与性能优化在实际集成和使用agent-skills的过程中你肯定会遇到各种问题。下面是我踩过的一些坑和总结的应对方法。5.1 技能调用失败排查清单问题现象可能原因排查步骤与解决方案LLM不调用技能总是直接回答。1. 技能描述不够清晰。2. 系统提示词设计不佳。3. LLM温度temperature参数过高导致决策不稳定。1. 检查并优化技能的description确保它准确、简洁地说明了技能的功能和适用场景。2. 强化系统提示词明确要求LLM在特定情况下必须使用工具。例如“如果你需要实时信息、计算或操作文件你必须调用相应的技能。”3. 在决策阶段选择技能时将temperature设为0或接近0确保决策的确定性。LLM调用了错误的技能或参数格式不对。1. 技能输入模式input_schema定义模糊。2. LLM对参数的理解有偏差。1. 在input_schema中为每个参数提供更详细的description和type。例如{“url”: {“type”: “string”, “description”: “The full HTTP/HTTPS URL of the webpage to fetch.”}}。2. 在系统提示词中提供1-2个调用示例Few-shot prompting展示正确的JSON格式。技能执行时报错如网络超时、解析失败。1. 外部服务不稳定或不可用。2. 输入数据不符合预期如无效URL、损坏的PDF。3. 技能代码有Bug。1. 在技能代码内部实现重试机制和优雅降级如返回错误信息而非抛出异常。2. 在执行前增加输入验证逻辑。例如检查URL格式尝试预读PDF文件头。3. 查看技能的具体实现在本地用相同输入测试定位问题。智能体响应速度慢。1. 某些技能本身耗时如网络请求、大文件解析。2. 串行调用多个技能总耗时为各技能之和。3. LLM生成速度慢。1. 为耗时技能设置合理的超时时间并考虑缓存结果例如对相同的搜索查询缓存一段时间。2. 分析任务如果技能间无依赖尝试用asyncio.gather并行执行。3. 考虑使用更快的LLM如GPT-3.5-Turbo处理技能调用决策或用流式响应改善用户体验。5.2 性能优化实践技能结果缓存对于纯函数式、输入相同则输出必然相同的技能如计算器、对静态API的查询可以实现一个简单的内存缓存如使用functools.lru_cache或分布式缓存如Redis有效减少重复计算和外部调用。异步化改造绝大多数涉及I/O操作的技能网络请求、文件读写、数据库查询都应该使用异步编程async/await。这能极大提升智能体在等待外部响应时的并发能力。确保你的技能执行方法和智能体的主循环都支持异步。技能选择性加载如果你的智能体功能模块很多不要在启动时就加载所有技能的依赖。可以实现一个懒加载机制或者根据配置文件动态导入所需的技能模块加快启动速度。LLM上下文管理技能执行的结果可能很长如一篇抓取的文章。直接将其塞入LLM上下文会消耗大量Token可能导致超出限制或增加成本。需要设计摘要Summarization技能或者让技能本身具备提取关键信息的能力只将精华部分传递给LLM。5.3 扩展与自定义技能agent-skills项目提供的技能是通用的起点。要让它真正为你的业务服务自定义技能是必经之路。创建自定义技能的步骤确定接口参考项目中其他技能的基类定义你的技能类实现name,description,input_schema和execute方法。实现功能在execute方法中编写核心逻辑。处理好错误异常返回格式化的字符串结果。测试编写单元测试模拟各种输入确保技能行为符合预期。集成将你的技能类像其他技能一样注册到智能体的技能注册表中。例如你需要一个“查询内部知识库”的技能from skills.base import BaseSkill import your_internal_kb_client # 假设的内部知识库客户端 class QueryInternalKBSkill(BaseSkill): name “query_internal_kb” description “Searches the company‘s internal knowledge base for documents related to a question. Use this when you need to find internal procedures, project docs, or technical specifications.” input_schema { “question”: {“type”: “string”, “description”: “A natural language question about internal knowledge.”} } def __init__(self, kb_endpoint, api_key): self.client your_internal_kb_client.Client(endpointkb_endpoint, api_keyapi_key) async def execute(self, question: str) - str: try: search_results await self.client.search(question, top_k3) if not search_results: return “No relevant documents found in the internal knowledge base.” formatted “Here are the most relevant documents from the internal knowledge base:\n” for i, doc in enumerate(search_results, 1): formatted f“{i}. **{doc[’title’]}** (Relevance: {doc[’score’]:.2f})\n” formatted f“ Snippet: {doc[’snippet’][:200]}...\n” formatted f“ Link: {doc[’url’]}\n\n” return formatted except Exception as e: return f“Failed to query the knowledge base due to an error: {str(e)}”将这个技能加入你的技能库你的智能体就立刻拥有了查询内部资料的能力这比让LLM基于过时的训练数据“幻想”要可靠得多。6. 项目演进与社区生态展望像buiducnhat/agent-skills这样的开源技能库其价值不仅在于当前提供的工具集更在于其倡导的标准化和可复用的理念。随着AI智能体开发的普及我们可能会看到以下趋势技能市场的形成开发者可以将自己开发的高质量、专业化的技能如“股票技术分析”、“法律合同风险点扫描”打包发布供他人付费或免费使用形成一个围绕智能体技能的生态。技能描述与发现的标准化可能会出现一种更机器可读的技能描述语言超越自然语言的description使得智能体能更自动、更精准地理解和组合技能。技能的组合与编排语言当前技能组合依赖LLM的规划这可能不稳定。未来可能会有一种专门的、声明式的语言或框架用于描述复杂任务中技能的执行流程、条件分支和错误处理使智能体的行为更可控、可预测。安全与审计的强化随着技能能力越来越强对技能执行过程的沙箱隔离、输入输出审计、伦理审查会变得至关重要。技能库可能会集成更强大的安全模块。对于个人开发者而言我的建议是不要只做技能的使用者尝试成为贡献者。当你为解决某个特定问题而编写了一个实用的技能时不妨思考一下它的通用性。如果它可能对其他人也有用就以清晰的结构、完善的文档和测试用例向原项目提交一个Pull Request或者在自己的仓库中开源出来。正是在这种共享和协作中整个智能体开发的生态才会变得更加繁荣和高效。毕竟让每个智能体都从识别图片、读取PDF这种基础活开始干起实在是太浪费了。我们需要的是让它们站在“技能巨人”的肩膀上去解决更前沿、更有挑战性的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2594113.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;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…