一文了解AI Agent、Skills和MCP基本概念和关系

一文搞懂MCP、Agent、Skills:AI时代三大核心概念深度对比,搞懂了少走3年弯路 阅读详情

人工智能的发展已从单纯的模型能力竞赛,全面转向以人工智能体(AI Agent)为核心的应用落地新范式。这其中涌现出了一系列关键概念:智能体平台、模型上下文协议(MCP)、AI Agent本身、技能(Skills)、Harness以及OpenClaw。但是,这些概念之间的界限、相互关系以及如何协同工作,尚存在模糊之处。本文简要介绍这几个核心概念的内涵与外延,深入剖析它们之间的区别与内在联系,并通过架构图与流程图的形式直观展现其协作机制。


1、基本概念解析
1.1 AI Agent(智能体)

一个能够感知环境、自主决策、执行动作以完成目标的软件实体。它通常集成了大语言模型(LLM)、记忆、规划和工具调用能力。AI Agent具备自主性、反应性、主动性和社会能力。

  • 感知(Perception)‍:Agent能够通过各种传感器或API接口接收来自外部世界的信息,如用户输入的自然语言、系统日志、数据库状态、网页内容等。
  • 规划(Planning)‍:这是Agent的“思考”过程。接收到任务后,Agent会基于其世界知识和可用工具,制定一个或多个行动计划。这可能是一个简单的线性步骤,也可能是一个复杂的、带条件分支的动态任务树。
  • 行动(Action)‍:根据规划,Agent会调用内部能力(Skills)或外部工具(通过MCP)来执行具体操作,例如执行一段代码、调用一个API、查询数据库或与其他系统交互。
  • 记忆(Memory)‍:为了处理长期、多轮的任务,Agent需要具备记忆能力。这包括短期记忆(如当前对话上下文)和长期记忆(如用户偏好、历史交互记录),这些记忆有助于Agent做出更符合上下文和个性化的决策。
  • 自主性(Autonomy)‍:高级的Agent能够在没有人为干预的情况下,根据环境变化动态调整其计划和行动,以确保最终目标的达成

在这里插入图片描述

在整个智能体系统中,AI Agent是“总指挥官”或“大脑” 。它负责“想明白要做什么”和“决定谁来做”,是连接用户意图与具体执行之间的桥梁。

1.2 Skills(技能)

Skills是Agent可能调用的原子能力或功能模块,每个Skill实现特定的操作,比如查数据库、发送邮件、读写文件、调用API等。它们是Agent与外部世界交互的标准化的、可复用的能力单元,封装了为完成特定子任务所需的一系列确定性操作、逻辑流程和参数规范。

在这里插入图片描述

Skill通常包含以下元素:

  • 名称与描述:供Agent理解该Skill的用途。
  • 输入参数:明确执行该Skill需要哪些信息。
  • 执行逻辑:通常是一段代码(如Python函数),定义了具体的操作步骤,包括如何调用工具、数据处理逻辑等。
  • 输出结果:定义了Skill执行完毕后返回的数据格式。

例如以下查询数据库性能的Skills

\# 技能名称:database-performance-query

\## 适用场景

当用户询问任何数据库的性能数据、监控指标、运行状态时,应激活此技能。

\## 工作流程

1\. \*\*意图解析\*\*:从用户输入中提取目标 \`db\_type\`、\`instance\_name\`、\`metric\_names\` 和 \`time\_range\`。

   \- 如果用户未指定具体指标,默认查询所有关键指标(QPS、活跃连接数、慢查询数、复制延迟等)。

   \- 如果用户只问“负载高吗”,应转化为查询连接数、QPS、CPU 相关指标。

2\. \*\*获取能力清单\*\*:首先调用 MCP 工具 \`list\_available\_metrics(db\_type)\` 确认可查指标。

3\. \*\*执行查询\*\*:调用 \`query\_metrics\` 工具获取实际数据。

4\. \*\*结果解读与输出\*\*:

   \- 以表格形式展示数据。

   \- 对异常指标给出简要诊断(例如:连接数超过阈值 80% 时,提示风险)。

   \- 如果查询了多个指标,可附加一个简单的雷达图或折线图描述(交给平台渲染)。

Skills是 “业务逻辑层” ,它们将Agent的宏观规划转化为微观的、精确的执行动作,让Agent的能力从“泛泛而谈”变得“专精可靠”。

1.3 MCP(模型上下文协议)

由Anthropic推出的开放协议,定义了AI模型与外部工具、数据源之间的标准化接口。MCP协议旨在为AI Agent提供一个统一、安全、可靠的接口,用以访问和调用外部的工具、数据源和系统。它采用客户端‑服务器架构:

  • MCP Server:暴露具体的工具、资源、提示。
  • MCP Client:运行在Agent或智能体平台侧,用来发现并调用服务器上的能力。

在没有MCP的场景下,Agent每需要接入一个新的工具(如一个新的数据库、一个API),就需要进行一次定制化的开发和集成,导致连接呈“N×M”的网状复杂度,管理困难、安全性差。MCP通过提供一个通用接口,让所有工具都以标准化的方式接入,而Agent也只需学会与MCP这一个标准接口通信即可。

  • 标准化:提供统一的API规范、通信协议(如HTTP, gRPC)和数据格式,简化了工具的接入和调用 。
  • 安全性:MCP作为一道关口,可以集中实现认证、授权、审计、数据脱敏等安全策略,防止Agent滥用工具或泄露敏感数据 。
  • 可发现性:MCP可以提供工具的注册与发现机制,让Agent能够动态地了解当前有哪些可用的工具及其功能。
  • 可靠性:负责处理网络通信、重试、熔断等工程问题,保证Agent与外部工具交互的稳定性。

MCP构成了系统的“集成层”或“基础设施”,为上层的Skills和Agent提供了无限扩展外部能力的可能。

在这里插入图片描述

1.4 智能体平台(Agent Platform)

智能体平台整合了构建、运行和管理一个或多个AI Agent所需的核心组件和服务,包括开发工具、运行环境、通信机制、管理界面以及对Skills和MCP的集成支持。例如 Dify、Coze、LangGraph、CrewAI、AutoGen等。

智能体平台将Agent、Skills、MCP等零散的组件有机地组织在一起,提供了一个标准化、工程化、可扩展的环境,使得开发者可以专注于业务逻辑的创新,而不是重复“造轮子”,从而实现AI Agent的规模化生产与应用。

1.5 Harness(工程化基础设施)

Harness在AI Agent的语境下,不是一个具体的软件名称,而是一个关键的架构概念或设计范式。它指的是Agent系统中,位于核心智能(如LLM)之外的、负责任务执行、过程控制、环境交互和系统治理的执行层。Harness的价值是为Agent提供可靠性、安全性与工程化约束(如多模型回退、安全护栏、长时任务管理、Token消耗控制)。

在这里插入图片描述

  • 任务编排与状态管理:对于需要多步骤完成的复杂任务,Harness负责对任务进行编排、跟踪执行状态、管理中间结果,并确保任务在中断后可以恢复。
  • 工具集成与执行环境:Harness为工具的调用提供一个受控的执行环境(如沙箱),管理工具的认证、权限,并捕获其输出和错误。它确保工具的使用是安全的。
  • 反馈循环与反思:Harness负责捕获Agent执行动作后环境的反馈,并将这些反馈(无论是成功、失败还是错误信息)提供给Agent的核心智能,以便其进行反思、调整计划并进行下一轮行动。
  • 流程治理与风险控制:在企业环境中,Harness扮演着“监管者”的角色。它负责执行预设的规则、策略和权限,对Agent的行为进行限制(例如,禁止执行高风险操作),进行成本控制,并在出现问题时进行故障隔离和止损。
  • 可观测性:Harness层需要提供详尽的日志、追踪(Tracing)和监控(Metrics)数据,使得开发者和运维人员可以清晰地了解Agent的每一个决策和行动,便于调试、审计和优化 。

LLM在Agent负责思考和规划,Harness则负责在Agent中将意图转化为精确、协调、受控的动作,并处理各种意外情况。

1.6 OpenClaw(个人AI Agent网关)

OpenClaw将自己定位为一个“本地优先”的AI智能体框架 ,目的是成为一个连接用户、多渠道通信、大型模型和各种工具的“AI操作系统内核”或“个人AI助手网关”。 OpenClaw强调在用户的本地设备或私有云上运行,使用户能够完全控制自己的数据、模型和Agent行为,解决了许多用户对云端AI服务的隐私和安全顾虑。

与Harness等更偏向方法论的概念不同,OpenClaw是一个包含完整代码、可以下载和运行的具体软件实现 ,让开发者和爱好者能够快速上手体验和构建自己的AI Agent。

2、AI Agent分层模型

将以上所有概念置于一个统一的框架中,可以构建一个清晰的分层模型,从下至上,抽象层次逐渐降低,角色分工愈发明确:

  1. 基础层-大模型:即LLM,提供底层的语言理解、推理和生成能力。
  2. 协议层-MCP:位于基础层之上,连接模型与外部世界,定义了标准的通信语言,使得工具和数据源可以被统一、安全地接入。
  3. 执行与治理层-Harness:保障Agent稳定运行的内核,它包裹着MCP和工具调用过程,负责任务调度、状态管理、安全沙箱、风险控制和日志审计,确保上层应用的可靠执行。
  4. 平台与框架层-OpenClaw&智能体平台: Agent的“开发和运行环境”。其中OpenClaw整合了Harness层的理念(提供了执行环境),并提供了多渠道网关、Agent编排、Skills管理等平台级功能。更广义的“智能体平台”则泛指所有提供此类功能的商业或开源系统。
  5. 能力层-Skills:Agent的“应用软件层”。Skills作为可插拔的能力单元,运行在平台/框架之上。它们封装了具体的业务逻辑和工作流,通过调用底层Harness和MCP提供的能力来完成任务。
  6. 实体层-AI Agent:最终呈现给用户或任务的“智能实体”。一个Agent实例被创建在平台上,通过配置和组合一系列Skills来获得其独特的能力,并由其内部的LLM大脑来驱动和编排这些能力。

在这里插入图片描述

2.1 MCP和Skills关系

智能体平台内的AI Agent通过内置的MCP Client与协议层通信。MCP协议层 负责发现和调用各个MCP Server。Skills作为MCP Server的实现,将具体功能暴露为标准化工具。Agent只看到一套统一的工具接口,无需关心Skill的实现细节。

在这里插入图片描述

  1. 构建/获得 Skill:开发人员将不同数据库的性能查询功能封装成独立的 MCP Server(每个 Server 实现一个或多个工具)。
  2. 在平台中接入:智能体平台通过MCP Client连接到这些Server,自动发现可用工具列表。
  3. 定义Agent:在平台上创建Agent,赋予其调用这些工具的能力,编写系统提示词,说明何时使用哪类工具。
  4. 用户交互:用户以自然语言提出需求 → Agent经LLM规划 → 决定调用哪些工具 → MCP Client向对应MCP Server发起调用 → 获得结构化结果 → Agent综合后回复用户。
  5. 扩展性:增加新数据库类型只需新增一个 MCP Server,平台和 Agent 无需改动。
2.2 分层架构模型

下图展示AI Agent、智能体平台、MCP、Skills、OpenClaw和Harness之间的关系。

在这里插入图片描述

上图分层架构中从上到下、从左到右对应你文中的层次:

  • L0网关:OpenClaw的渠道适配器,把不同的用户入口统一成标准请求。
  • L5实体层:AI Agent作为大脑,负责意图理解、规划,选择并编排Skills。
  • L4能力层:Skills是真正能执行的原子能力,可由技能市场(ClawHub)动态发现和安装。
  • L3治理层:所有Skill执行都要经过Harness,它提供安全的运行容器、错误处理、日志和策略管控。
  • L2协议层:Harness内置或调用MCP Client,以标准协议与外部世界的MCP Server集群通信,完全屏蔽底层工具(CRM、数据库、邮件)的实现细节。

交互数字1–14完整描绘了一个闭环:

  1. 用户从多渠道发出请求
  2. 网关标准化并路由
  3. 任务交给Agent实例
  4. Agent决策后从技能库中选择Skill
  5. Skill被提交到Harness安全执行
  6. Harness通过MCP Client发起调用
  7. MCP Client按协议定位到某个MCP Server
  8. Server操作真正的底层工具
  9. 9–10. 结果经过MCP层返回
  10. 11–12. 结果经Harness校验后返回给Skill
  11. 13–14. Agent汇总所有Skill结果,形成最终回复,通过网关反馈给用户

用户请求通过网关进入,Agent进行决策,选择Skill,Skill在Harness的监管下执行,Harness通过MCP客户端调用外部MCP服务器封装的工具,结果层层返回,最终由Agent综合后通过网关响应用户。


本文简要介绍了AI Agent、智能体平台、MCP、Skills、OpenClaw和Harness这六个基本概念。这些概念并非孤立存在,而是共同构成了一个功能完备、层次清晰的智能体技术栈,包括大模型LLM、协议层MCP、执行与治理层Harness、平台与框架层OpenClaw&智能体平台、能力层Skills和实体层AI Agent。


参考资料:

  1. OpenClaw架构原理解析
MCP 和 Agent的区别是什么? • Agent 是自动化流水线,能根据订单需求自动选取零件并生产成品两者结合可构建既能灵活扩展(MCP),又能自主运作(Agent)的智能系统。 阅读详情

相关推荐

大模型——MCP全解析,一步步教你借助第三方MCP Server开发Agent

现在一起来完成一个真正的Agent,这个Agent会使用第三方MCP Server中的工具来扩展自身能力,为了方便,这里借助LlamaIndex的FunctionCallingAgent来快速实现这个Agent(LangGraph请使用create_react_agent)。比如你的应用是一个Chatbot,可以从MCP Server中取出这些模板,让使用者选择使用。**快速的适应变化:**想象下,如果一个外部资源的接口发生变化,只需要访问它的MCP Server做修改,所有的LLM应用就可无缝适应。

1092

终于有人讲清楚MCP、 RAG、 Agent之间的关系和概念了!

RAG 像一个认真的学生: 设想学生准备学术报告时,遇到模糊概念绝不空想,而是登录知网调阅文献,筛选出核心期刊的权威论文,再引用规范的实验数据来佐证观点。RAG就是AI的"文献溯源"能力。但随着技术的发展和在线资源的丰富,零基础的小白也有很好的机会逐步学习和掌握。如果 AI 只能思考决策(Agent),但没有可靠的信息来源(RAG):它可能会做出一些基于假设的决策,但这些决策可能不准确。如果 AI 只有 RAG 能力(只会查资料),但不会思考和使用工具:它可以回答一些基于事实的问题,但无法完成复杂的任务。

javatiange的博客 1458

PWM与光耦的完美联姻:低成本4-20mA转换方案揭秘

本文揭秘了PWM与光耦结合的低成本4-20mA转换方案,适用于工业自动化领域。通过PWM信号控制输出电流,光耦实现电气隔离,该方案成本低廉、电路简单且隔离可靠。文章详细介绍了两种经典电路实现方案,包括四光耦线性模式方案和PWM控制LM317方案,并提供了实战技巧与优化策略,帮助中小企业和电子DIY爱好者构建经济高效的4-20mA转换系统。

weixin_29229055的博客 534

agent skills 和MCP的关系

agent skills 和MCP的关系

weixin_45428910的博客 790

时间序列分析:ARCH、GARCH、TGARCH与DCC-GARCH波动率模型(含代码)

关注TGARCH模型和DCC-GARCH的应用,通过在沪深300和中证500指数上应用TGARCH和DCC-GARCH模型,揭示这两个指数之间的条件异方差及动态相关性的变化规律。

celiaweiwei的博客 1万+

基于qiime2的16S数据分析全流程:从导入数据到下游分析一条龙

基于qiime2的16s测序数据分析分析激活qiime环境我已经把上面这句代码放在了.bashrc里面,因此激活qiime2环境只需要运行activate_qiime即可/bin/bash# 设置目录路径# 输出表头 echo -e "sample-id\tforward-absolute-filepath\treverse-absolute-filepath"# 遍历_R1和_R2文件do # 检查R1文件是否存在then# 获取样本ID(去掉_R1.fastq.gz)

2301_76771985的博客 5515

实操干货!MCP 全解析,手把手教你基于 MCP 开发 Agent

随着 Manus 推动 Agent 应用的火爆,MCP(模型上下文协议)成为众多社区热议的焦点。今天,我们将深入解析 MCP 并提供实操应用指南。相信读完这篇文章,你就能立刻上手 MCP。

EnjoyEDU的博客 1万+

基于CNN的表情识别(FER)pytorch实现

Report for FER Jian Tang Abstract 我们使用卷积神经网络(CNN)实现了baby的面部表情识别(FER)。 数据上,我们获取了开源FER数据集FER2013[1],besides我们使用爬虫获取了baby相关的人脸图片,进行了手工分类标注以形成一个全新的baby FER数据集。 模型上,我们首先复现了Luan[2]的工作,即参考Kuo[3]在CVPR 2018上的工作并实现一个轻量的CNN网络,在FER2013上进行训练并得到了XXXX%的平均分类准确率(avg a

qq_20241587的博客 3683

借助MCP尝试创建自己的Agent(三)

本文介绍了如何将已有工具融合到claude客户端中,结合之前的内容基本涵盖了LLMs扩展server的所有方法,可以按照这个思路来构建适合自己的agent。

m0_47211450的博客 1922

MTK PE+2.0介绍

  PE+2.0介绍:   1.      PE+2.0的状态机: 2.      升压波形协议及编码规则: PE+2.0软件设计:   在充电器类型为标充且底层电量SOC在1%—95%之间时,开始PE+2.0升压充电器的检测:首先将VBUSreset至5V,之后发送8.5的current pattern再获取此时VBUS电压和8.5V比较,若其与8.5的差值绝对值在0.5之...

raydom07的博客 1万+

AIPex:AI + 自然语言驱动的浏览器自动化扩展

AIPex是一款革命性的Chrome扩展,通过AI技术实现自然语言驱动的浏览器自动化。它支持30多种自动化工具,包括智能标签页管理(分组、切换、批量操作)、页面内容提取(文本、链接、元数据)、交互元素操作(点击、滚动)以及表单智能填写等功能。用户只需用自然语言下达指令,即可快速完成复杂的浏览器操作,大幅提升工作效率。AIPex特别适合需要处理大量重复性网页操作的用户,如数据分析师、产品经理等。

blues_C的博客 1122

一文了解AI Agent、Skills和MCP基本概念

本文简要介绍了AI Agent、智能体平台、MCP、Skills、OpenClaw和Harness这六个基本概念。这些概念并非孤立存在,而是共同构成了一个功能完备、层次清晰的智能体技术栈,包括大模型LLM、协议层MCP、执行与治理层Harness、平台与框架层OpenClaw&智能体平台、能力层Skills和实体层AI Agent。人工智能的发展已从单纯的模型能力竞赛,全面转向以人工智能体(AI Agent)为核心的应用落地新范式。

2601_95075126的博客 293

HyperLynx(十四)高级分析技术

如果没有查找到该模型,可使用菜单命令“Setup”→“Options”→“Directories”,打开“Set Directories”对话框,单击“Edit”按钮,在“Select Directories for IC-Model Files”对话框中将路径“…在“Assign Models”对话框中的“Port”栏找到“OUTM”端口,在其对应的“Circuit Connection”栏中选择“txout”项。将端口R75连接到“Gnd”。同样,将“EMP”连接到“V”,完成预加重设置。...

小幽余生不加糖 4948

Agent Skills、Rules、Prompt、MCP,一文把它们理清楚了

"Agent Skills、Rules、Prompt、MCP到底有什么区别?我也想用AI,但每次看到这些词就头大。说实话,我理解这种困惑。这就好比你去一家餐厅,菜单上写着"前菜"、"主菜"、"配菜"、"佐料",但没人告诉你它们到底是什么关系。今天,我们就把这些概念彻底掰开揉碎了讲清楚。

m0_64363449的博客 1012

《AI编程实战:深度学习模型改进与系统部署》,改进专栏目录和介绍

专深度学习相关项目都写在本专栏,《一次订阅解锁全部,都有源码,永久观看》,包括车牌识别、股票预测、人脸识别、风格迁移、图像修复、图像超分辨重建、图像分割等任务,Web/PyQt系统实现。引入Transformer、Swin Transformer、DenseNet、ViT、ConvNeXt等算法实战,提供卷积改进,魔改对比实验,模型剪枝,模型蒸馏,模型量化,全网独家整合改进专栏,为不同领域的同学发表论文提供了大力支持。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 3262

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Function Calling、MCP 与 Agent Skills 关系详解

Function Calling(函数调用)是大型语言模型(LLM)的原生能力,允许模型在生成回复时识别需要调用的外部函数,并生成符合函数签名的参数。MCP(Model Context Protocol,模型上下文协议)是由Anthropic推出的开放协议标准,用于标准化AI模型与外部工具、数据源之间的连接方式。Agent Skills(代理技能)是预构建的、高层次的工具模块,封装了完成特定复杂任务所需的全部逻辑、提示词、工具调用链和错误处理。是 AI 模型的"本能",让它能够使用工具MCP。

qq_74421990的博客 993

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

什么是 Agent Skills 和 MCP,Tool Calling 什么关系 & 上手体验

至于 MCP 和 Skills 的关系,目前不太好判断,我认为两者是互补关系。

yuluo的博客 1260

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

一文讲清 Skills、MCP、Agent 的本质关系:从底层逻辑到工业级 Java 落地

摘要:本文系统阐述LLM Agent生态中Skills、MCP、Agent三大核心概念的权威定义与工业级实践。基于OpenAI和DeepMind官方规范,明确指出:Agent是具备自主决策闭环的智能系统(大脑),Skills是原子化能力单元(手脚),MCP则是标准化通信协议(桥梁)。

果酱 の 博客 1099

【Agent】Skills与MCP的核心区别:一文读懂AI Agent的能力内核与连接协议

Skills与MCP的核心区别,这一篇确实不一样

商务合作 | 面试培训 | 职场规划 ==>主页扫码 1299

一篇文章读懂AI-Agent-MCP-Skills

AI Agent、MCP与Skills:下一代AI的三大支柱技术 本文系统介绍了推动AI从"能说"到"能干"的三大核心技术: AI Agent:赋予AI实际行为能力,使其成为能规划、记忆、执行任务的"数字员工",而不仅是对话机器人。通过LLM大脑、记忆系统、工具箱和规划器的协同工作,AI Agent能自主完成复杂任务链。 MCP(模型上下文协议):建立AI与工具间的通用通信标准,解决不同AI系统与工具间接口不统一的问题,实现"一次开发,到

Violet1231_的博客 1277

Skills vs MCP:竞合关系还是互补?深入解析Function Calling、MCP和Skills的本质差异

Function Calling是AI Agent调用工具的基础能力,MCP和Skills都基于它构建。本文深入解析三者的本质差异:MCP解决工具集成问题,Skills解决任务流程定义问题。通过Lynxe框架的实践,我们发现MCP和Skills实际上是竞争关系大于互补关系,并提出了"一切都是函数,函数才是第一公民"的设计理念。

whisperzzza的博客 1266

3分钟看懂_Agent、Skills、MCP

Claude 前不久刚推出 MCP,还没消化完,又冒出来 Skills。再加上之前的 Agent,三个概念搅在一起。 到底有什么区别?为什么要搞这么多概念? 其实背后是两种设计思路。

weixin_58753619的博客 1105

Agent、LLM、RAG、MCP、Skills一文搞懂

五大组件的技术协同:LLM提供推理算力,RAG提供数据支撑,MCP解决接口壁垒,Skills实现任务落地,Agent整合四大组件,形成自主闭环的智能系统。

AAI666666的博客 1207

MCP与Skills终极辨析:AI Agent时代,该用协议还是用应用?

回到文章开头的那个问题:MCP是不是已经过时了?现在应该全用Skills吗?我的答案是:MCP没有过时,Skills也不是万能的,二者是不同层次的工具,适配不同的场景。但如果让我给普通开发者、职场人一个建议,优先学习和使用Skills,才是更高效、更实用的选择。对于大多数人来说,日常工作中遇到的AI Agent使用场景,几乎都是本地场景:优化自己的工作流、处理本地文件、完成专业领域的任务、搭建团队内部的工具等。

小程故事多的博客 1419
上一篇: 一文了解OpenClaw架构原理解析
下一篇: 国内外大模型产品一览
solihawk
博客等级 码龄17年 7995粉丝 184原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值