一文搞懂 AI Agent 核心支柱:从 Tools 到 MCP,从 Skills 到 Loop

发布时间:2026/9/21 17:41:54

一文搞懂 AI Agent 核心支柱:从 Tools 到 MCP,从 Skills 到 Loop 一文搞懂 AI Agent 核心支柱从 Tools 到 MCP从 Skills 到 Loop摘要2025 年是 AI Agent 的爆发年但很多开发者分不清 Function Call、MCP、Skills 和 Loop 的区别。本文将从“手”、“接口”、“手艺”和“大脑运行”四个维度结合 Python 代码与实践架构彻底拆解这四大核心概念并手把手教你如何将它们串联成一个可用的 Agent 系统。前言为什么你的 AI 总在“一本正经地胡说八道”传统的 LLM大语言模型像是一个博学的“植物人”——脑子里有无穷知识但无法触碰现实世界。它不会查实时天气不会操作数据库更不会自己写代码并运行。为了让 AI “活” 过来业界在短短两年内构建了一套完整的技术栈。这套技术栈的四个基石就是Tools工具、MCP协议、Skills技能和Loop循环。很多新手容易把它们混为一谈其实它们的职责边界非常清晰Tools解决“能干啥”原子能力MCP解决“怎么接进来”统一接口Skills解决“怎么干好”流程编排Loop解决“怎么干完”自主迭代下面我们逐一深入。一、Tools工具LLM 的“手脚”——最底层的原子能力1.1 什么是 Tools在 OpenAI 提出 Function Calling 之前想让 LLM 调用外部函数你得用繁琐的提示词工程如 ReAct 风格的文本解析。现在Tools通过标准的 JSON Schema 描述函数签名让 LLM 能够“感知”外部世界。说白了Tools 就是一个个封装好的函数Function比如get_weather(city)、search_web(query)、execute_python(code)。1.2 代码实战标准 Tools 定义Python在最新的 OpenAI SDK 或 LangChain 中Tool 的定义长这样fromtypingimportLiteralfrompydanticimportBaseModel# 1. 定义输入参数的 SchemaclassWeatherInput(BaseModel):city:strunit:Literal[celsius,fahrenheit]celsius# 2. 定义工具的具体执行逻辑defget_weather(params:WeatherInput)-str:# 模拟真实 API 调用returnf{params.city}当前气温 22°天气晴朗。# 3. 生成 Tool 描述传给 LLM 的 JSONtool_definition{type:function,function:{name:get_weather,description:获取指定城市的实时天气信息,parameters:WeatherInput.model_json_schema(),}}关键点Tools 必须是**无状态Stateless且原子性Atomic**的一个 Tool 只专注做一件事。二、MCP模型上下文协议AI 界的“USB-C 万能接口”2.1 Tools 的痛点碎片化严重假设你给 ChatGPT 写了一套基于openai格式的 Tools想迁移到 Claude 或本地开源的 Llama 上发现它们的 Tool Calling 格式完全不同有的要求 XML有的要求特定 JSON。每接一个新模型就要重写所有工具适配层——极其痛苦。2.2 MCP 的诞生MCPModel Context Protocol由 Anthropic 在 2024 年底开源。它定义了一套标准化的 Client-Server 架构MCP Server暴露工具、资源Resource和提示词Prompt比如一个“本地文件系统 Server”或“GitHub Server”。MCP ClientAI 应用如 Claude Desktop、Cursor、VS Code 插件。只要 Client 和 Server 都遵循 MCP 协议基于 JSON-RPC 2.0AI 就能动态发现并即插即用所有工具。2.3 MCP 通信流程精简版// Client 发送初始化请求发现可用工具{jsonrpc:2.0,id:1,method:tools/list,params:{}}// Server 返回可用工具列表{jsonrpc:2.0,id:1,result:{tools:[{name:read_file,description:读取本地文件,inputSchema:{type:object,properties:{path:{type:string}}}}]}}CSDN 划重点MCP 让 AI 应用从“单机写死工具”进化到了“动态插拔生态”。未来MCP Server 会像 npm 包一样丰富开发者只需要维护一个 MCP Client就能调用全世界的工具生态。三、Skills技能把“工具”变成“手艺”有了 Tools锤子、钉子和 MCP能够到任何工具箱AI 就能干好活了吗不能。因为干好一项复杂任务需要的是流程而不是孤立的 API。3.1 Tools vs SkillsTools“打开文件”、“写入代码”、“执行终端命令”。Skills“创建一个 Spring Boot 博客系统” —— 它内部封装了检查环境 - 创建项目结构 - 写入依赖文件 - 生成 Entity/Controller - 编译运行 - 若报错则修复这一整套工作流。3.2 Skills 的核心特征渐进式披露Progressive DisclosureSkills 和 Tools 最大的工程区别在于上下文占用。Tools 的定义必须始终塞进 System Prompt占满上下文窗口Context Window。Skills 采用按需加载。系统先给 LLM 一个极简的 Skill 列表只包含名称和一句话描述。当 LLM 决定调用某个 Skill 时系统才把该 Skill 的详细指令Prompt和依赖的子工具注入上下文。Skills 文件结构示例参考开源项目 anthropic/skillsmy-blog-generator/ ├── SKILL.md # 主指令定义角色、流程、约束条件 ├── scripts/ # 关联的 Python/Shell 脚本 ├── references/ # 参考文档如 API 文档、架构图 └── assets/ # 模板文件如 HTML 模板四、Loop反馈循环Agent 的“永动机”LLM 是一次性推理InferenceAgent 是循环推理Iterative Reasoning。Loop 就是 Agent 的灵魂。它模拟了人类的思考模式思考Think→ 行动Act→ 观察Observe→ 再思考Re-think。这就是著名的ReActReason Act范式。4.1 一个极简的 Agent Loop 核心代码importjsonfromtypingimportList,DictclassSimpleAgent:def__init__(self,llm,tools:List[Dict]):self.llmllm self.toolstools self.messages[]self.max_iterations10defrun(self,user_goal:str):self.messages.append({role:user,content:user_goal})forstepinrange(self.max_iterations):# 1. 思考调用 LLM 获取下一步动作responseself.llm.chat(messagesself.messages,toolsself.tools,# 传入可用工具tool_choiceauto)# 2. 判断LLM 是否想调用工具ifresponse.tool_calls:fortool_callinresponse.tool_calls:# 3. 行动执行工具tool_nametool_call.function.name tool_argsjson.loads(tool_call.function.arguments)resultself._execute_tool(tool_name,tool_args)# 4. 观察将结果喂回给 LLMself.messages.append({role:tool,tool_call_id:tool_call.id,content:result})print(f[Step{step}] 调用{tool_name}返回:{result[:50]}...)else:# 如果没有工具调用说明任务完成返回最终答案returnresponse.contentreturn达到最大迭代次数任务终止。4.2 工业级 Loop 的“六块积木”一个能上生产环境的 Loop远不止上面几行代码。它需要Automations触发器支持定时或 Webhook 自动唤醒 Loop。Worktrees隔离环境每一次新任务运行在独立的 Git Worktree 或 Docker 容器中互不污染。Sub-agents多智能体协作分解任务比如“代码编写员”负责写代码“代码审查员”负责挑错由主 Loop 协调。Memory记忆系统使用向量数据库如 Milvus或 Redis将长期记忆存储在模型外部支持跨会话回忆。五、一图流四大概念的协作关系CSDN 读者最爱为了方便大家记忆我将它们整理为一张逻辑拓扑图文字版用户输入“帮我部署一个个人网站” │ ▼ ┌───────────────────────────────────────┐ │ Agent Core (大脑运行机制 - Loop) │ ← 在这里进行 Plan→Execute→Observe └───────────────────────────────────────┘ │ 拆解任务 ▼ ┌───────────────────────────────────────┐ │ 技能层 (Skills - 流程封装) │ │ “部署网站 Skill” │ ← 渐进式加载节省 Token └───────────────────────────────────────┘ │ 调用底层基础能力 ▼ ┌───────────────────────────────────────┐ │ 协议层 (MCP - 统一接口) │ ← USB-C 接口连接万物的桥梁 └───────────────────────────────────────┘ │ │ │ │ ▼ ▼ ▼ ▼ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ 文件工具 │ │ 终端工具 │ │ 云端API │ ← 原子能力 (Tools) └──────────┘ └──────────┘ └──────────┘六、总结与最佳实践建议干货如果你是初学者请按以下顺序学习先死磕Tools熟练使用 OpenAI / DashScope 的 Function Calling这是地基。再理解MCP试着跑通 Claude Desktop 的本地 MCP Server比如 Filesystem感受“即插即用”的魅力。接着模仿Loop自己用 Python 写一个 50 行的while循环 ReAct Agent你会有茅塞顿开的感觉。最后封装Skills把你经常做的一套流程比如“周报生成器”、“代码单元测试生成器”封装成 Skill 目录结构沉淀为自己的数字资产。最后一句忠告不要把所有的逻辑都塞进 System Prompt善用 Tools 抽离计算逻辑善用 MCP 解耦外部依赖善用 Skills 管理复杂流程善用 Loop 处理不确定性。这四者配合才是未来 AI 应用开发的正确范式。 欢迎在评论区留言讨论你在接入 MCP 或封装 Skills 时遇到的坑如果本文对你有帮助请点赞收藏后续我会出一期《手写一个支持 MCP 协议的轻量级 Agent 框架》
延伸阅读

更多相关文章

2026/9/19 4:59:51

Unitree ROS仿真框架:实现机器人分布式实时控制的突破性方案

Unitree ROS仿真框架:实现机器人分布式实时控制的突破性方案 【免费下载链接】unitree_ros 项目地址: https://gitcode.com/gh_mirrors/un/unitree_ros 项目定位与技术愿景 Unitree ROS仿真框架是专为Unitree四足和人形机器人设计的分布式实时控制仿真平台…

2026/9/20 4:29:29

单片机毕设项目:基于实时时钟的定时启停智能加热系统实现 基于水位水温双传感器的智能管控终端研发(016701)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/9/21 17:39:16

android 11正式发布后实战项目避坑指南

android 11正式发布后实战项目避坑指南 刚把网上抄的 Android 11 适配代码粘进工程,编译报错,运行闪退。那种“复制来的代码跑不通不知道怎么调”的绝望感,每个做安卓的老兵都经历过。别慌,这不是你的错,是 Android…

2026/9/21 17:39:16

生产制造管理系统避坑:搞定电子证书与年审的5个高频面试题

生产制造管理系统避坑:搞定电子证书与年审的5个高频面试题 官方文档厚达三百页,翻半天找不到证书查询接口在哪?别慌,这不仅是文档的问题,更是很多后端开发在构建 生产制造管理系统 时最容易踩的深坑。我见过太多项目上线后,因为没处理好 电子证书…

2026/9/21 17:39:16

2026最新ladyboy69版本升级API全变?3招搞定底层逻辑

2026最新ladyboy69版本升级API全变?3招搞定底层逻辑 昨晚还在跑通顺的脚本,今早一启动,满屏的 AttributeError 。那种感觉就像你熟练地掏出一把旧钥匙,却发现门锁已经被厂家偷偷换成了指纹锁。这就是 版本升级后…

2026/9/21 17:39:16

点线面构成图性能优化:新手避坑指南,告别卡顿

点线面构成图性能优化:新手避坑指南,告别卡顿 配置环境就卡半天,代码一跑就崩,这是很多刚接触图形渲染或地理信息开发的新手最真实的写照。在公路工程或测绘项目中,处理【点线面构成图】时,数据量稍大,浏览器或客户端直接卡死,内存飙升,用户体验极差…

2026/9/21 17:39:16

3分钟搞定孩子身高预测工具:保姆级教程

3分钟搞定孩子身高预测工具:保姆级教程 是不是刚把GitHub上的项目复制下来,双击运行就报错?或者在本地跑通了,换个电脑又炸了?这种“复制来的代码跑不通不知道怎么调”的噩梦,每个初学者都经历过。别急,今天这篇保姆级教程,不讲虚的,直接带你…

2026/9/21 3:28:31

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/21 3:33:19

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/21 0:02:23

OpenResearch:构建可复现的开放式研究工作流

第一次看到“OpenResearch”这个名字,我脑子里冒出的不是某个具体软件,而更像一种研究方式的宣言:开放、可复现、可验证。这三件事放在一起,其实比大多数人想象中难得多。过去几年我一直在折腾自己的研究工作流,从纯纸…

2026/9/20 4:54:47

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/20 5:01:23

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/21 10:29:02

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码