微信扫码
添加专属顾问
我要投稿
AI正从问答工具进化为自主代理,掌握Agent Skills、MCP与Prompt Engineering的差异,才能构建真正实用的智能体。核心内容: 1. 传统Prompt模式的局限与天花板 2. Agent Skills如何赋予AI"工具箱"与自主能力 3. MCP协议在智能体开发中的关键作用
摘要:当 AI 从"问答工具"进化为"自主代理",开发者需要掌握哪些新范式?本文深度解析 Agent Skills、MCP(Model Context Protocol)与 Prompt Engineering 的核心差异、适用场景与实战案例,带你构建真正能干活儿的智能体。
2024 年,很多开发者还在用这样的方式调用大模型:
response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "帮我写个 Python 脚本"}]
)
问题在于:每次对话都是"失忆"的。模型不知道你的项目结构、没有文件访问权限、无法执行代码。用户不得不反复粘贴上下文,AI 输出的代码可能根本跑不起来。
这就是传统 Prompt 模式的天花板——它把 AI 当成一个"聪明的实习生",每次布置任务都要重新介绍背景。
而 Agent(智能体)范式 的核心突破在于:让 AI 拥有"手脚"和"记忆"。
定义:通过精心设计的提示词,引导模型输出符合预期的内容。
核心能力:
适用场景:
局限:
案例:用 Prompt 让 AI 写一个爬虫
你是一位 Python 专家。请写一个爬取知乎热榜的脚本,
要求:1) 使用 requests 库 2) 解析 HTML 3) 保存为 CSV
输出:一段代码。但可能缺少异常处理、没有考虑反爬、无法直接运行。
定义:为智能体预定义可执行的功能模块,AI 可以自主决定何时调用哪个技能。
核心突破:
OpenClaw Agent Skills 架构:
┌─────────────────────────────────────────┐
│ 用户消息 │
│ "帮我分析这个项目的代码结构" │
└─────────────────┬───────────────────────┘
│
┌─────────────────▼───────────────────────┐
│ Agent 路由层 │
│ - 理解意图 │
│ - 规划任务步骤 │
│ - 选择技能 │
└─────────────────┬───────────────────────┘
│
┌─────────────┼─────────────┐
│ │ │
┌───▼───┐ ┌────▼────┐ ┌───▼───┐
│文件读取│ │代码分析 │ │ 生成 │
│ 技能 │ │ 技能 │ │ 报告 │
└───┬───┘ └────┬────┘ └───┬───┘
│ │ │
└─────────────┼─────────────┘
│
┌─────────────────▼───────────────────────┐
│ 最终响应 │
│ "项目共 128 个文件,核心模块在 src/..." │
└─────────────────────────────────────────┘
适用场景:
实战案例:OpenClaw 的 feishu-bitable 技能
用户说:"把上周的会议纪要整理成多维表格"
Agent 自主执行:
feishu_im_user_search_messages 搜索上周消息feishu_bitable_app_table_record 创建表格记录feishu_task_task 为每个待办创建任务关键代码结构(SKILL.md 定义):
## feishu-bitable
**当以下情况时使用此 Skill**:
(1) 需要创建或管理飞书多维表格 App
(2) 需要在多维表格中新增、查询、修改、删除记录
(3) 需要批量导入数据或批量更新多维表格
Agent 根据这个描述,自主判断何时调用该技能,无需用户显式指定。
定义:Anthropic 提出的开放协议,标准化 AI 与外部数据源/工具的连接方式。
为什么需要 MCP?
在 MCP 之前,每个 AI 应用都要自己实现:
MCP 的统一抽象:
┌──────────────┐ MCP Protocol ┌──────────────┐
│ AI 模型 │ ◄──────────────────► │ MCP Server │
│ (Claude 等) │ │ (文件系统) │
└──────────────┘ └──────────────┘
│
▼
┌──────────────┐
│ 实际资源 │
│ (磁盘文件) │
└──────────────┘
MCP 的三种资源类型:
{
"name": "code-review",
"arguments": ["file_path", "language"],
"template": "请审查 {file_path} 的 {language} 代码..."
}{
"uri": "file:///project/src/main.py",
"mimeType": "text/x-python",
"description": "项目主入口文件"
}{
"name": "execute_command",
"inputSchema": {"command": {"type": "string"}},
"description": "在终端执行命令"
}适用场景:
实战案例:用 MCP 连接本地数据库
// mcp-config.json
{
"servers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"DATABASE_URL": "postgresql://user:pass@localhost:5432/mydb"
}
}
}
}
AI 可以自然地说:"查询上个月订单总额",MCP Server 自动转换为 SQL 并返回结果。
┌─────────────────┐
│ 用户需求是什么? │
└────────┬────────┘
│
┌──────────────┼──────────────┐
│ │ │
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ 只需生成 │ │ 需要执行 │ │ 需要连接 │
│ 文本内容 │ │ 具体动作 │ │ 外部系统 │
└────┬─────┘ └────┬─────┘ └────┬─────┘
│ │ │
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Prompt │ │ Agent │ │ MCP │
│ │ │ Skills │ │ │
└──────────┘ └──────────┘ └──────────┘
快速决策表:
你是一位技术博主,需要:
纯 Prompt 方案:
你是一个技术博主。请根据今天的 GitHub Trending 写一篇关于 Rust 异步编程的文章,
要求 3000 字,包含代码示例。然后帮我生成一个封面图,最后发布到微信公众号。
结果:AI 会告诉你它做不到——无法访问实时数据、无法调用 API、无法发布。
Agent Skills 方案(基于 OpenClaw):
任务:技术文章全流程自动化
技能组合:
- web_search: 搜索 GitHub Trending
- web_fetch: 抓取技术文档
- baoyu-image-gen: 生成封面图
- baoyu-post-to-wechat: 发布到公众号
执行流程:
1. 搜索 "GitHub Trending Rust"
2. 抓取 top3 项目的 README
3. 分析技术亮点,生成大纲
4. 撰写正文(3000 字)
5. 生成封面图(Rust 主题)
6. 调用微信 API 发布
实际执行日志:
[Agent] 收到任务:写一篇 Rust 异步编程文章
[Agent] 规划步骤:搜索 → 抓取 → 分析 → 写作 → 配图 → 发布
[Step 1] 调用 web_search
Query: "GitHub Trending Rust async"
结果:tokio、async-std、embassy 进入趋势榜
[Step 2] 调用 web_fetch
URL: https://github.com/tokio-rs/tokio
提取:README 中的核心特性、使用示例
[Step 3] 撰写文章
标题:《2026 Rust 异步编程:tokio 1.40 新特性深度解析》
字数:3247 字
结构:引言 → 核心概念 → 实战案例 → 性能对比 → 总结
[Step 4] 调用 baoyu-image-gen
Prompt: "Rust 编程语言封面图,螃蟹 logo,赛博朋克风格"
输出:cover-20260317.png
[Step 5] 调用 baoyu-post-to-wechat
状态:发布成功
链接:https://mp.weixin.qq.com/s/xxxxx
// ~/.openclaw/config.json
{
"agents": {
"tech-writer": {
"skills": [
"web_search",
"web_fetch",
"baoyu-image-gen",
"baoyu-post-to-wechat"
],
"model": "qwen3.5-plus",
"workspace": "~/blog-drafts"
}
},
"channels": {
"wechat": {
"apiToken": "your-wechat-api-token",
"autoPublish": false // 发布前需人工确认
}
}
}
触发方式(微信消息):
你:写一篇关于 Rust 异步编程的文章
Agent: 收到!正在搜索最新资料...
(3 分钟后)
Agent: 文章已完成,共 3247 字,封面图已生成。
是否现在发布到公众号?[确认] [取消]
症状:
解决:将高频操作封装为 Agent Skills
// 错误做法
Prompt: "请读取 /project/src/main.py 文件,分析代码结构..."
// 正确做法
Skill: file-read
描述:读取指定路径的文件内容
参数:path (string)
Agent 自主调用:file-read("/project/src/main.py")
症状:
解决:合并高频技能,增加批量操作
// 过细的技能
- feishu-bitable-create-app
- feishu-bitable-create-table
- feishu-bitable-create-field
- feishu-bitable-create-record
// 推荐的粒度
- feishu-bitable(支持批量创建表、字段、记录)
症状:
解决:最小权限原则 + 审计日志
// mcp-config.json
{
"servers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem"],
"env": {
"ALLOWED_PATHS": "/project,/docs" // 限制访问范围
}
}
}
}
单个 Agent 能力有限,但多个 Agent 可以分工:
┌─────────────┐
│ 用户请求 │
└──────┬──────┘
│
┌──────▼──────┐
│ Planner │ ← 任务拆解
└──────┬──────┘
│
┌────┴────┬──────────┐
│ │ │
┌─▼─┐ ┌──▼──┐ ┌──▼──┐
│研究│ │ 写作 │ │ 审核 │
│Agent│ │Agent│ │Agent│
└───┘ └─────┘ └─────┘
OpenClaw 已支持多 Agent 路由,可为不同任务分配不同 Agent。
当前 Agent 的记忆局限于单次会话。未来方向:
随着模型小型化,Agent 将运行在本地设备:
| 核心能力 | |||
| 学习成本 | |||
| 灵活性 | |||
| 可扩展性 | |||
| 适用阶段 |
最佳实践:
参考资料:
欢迎在评论区交流你的 Agent 实战经验!
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-03-17
Agent/Skills/Teams 架构演进过程及技术选型之道
2026-03-17
当AI自己学会搭积木:Skills的崛起,会杀死Dify吗?
2026-03-17
如何写好一个Skill:我从Anthropic指南里总结出的6个关键点
2026-03-17
Skill菜单全是英文记不住?改一行配置就行!顺带懒人一键提示词!
2026-03-17
视频分镜提示词Skill,详细制作过程分享!
2026-03-17
麻辣小龙虾MalaClaw,我自己复刻了一套可能是“漏洞最多”但很容易DIY实践的小龙虾项目
2026-03-16
腾讯文档skill持续迭代,这次你动嘴,它动手
2026-03-16
还有人在问 Skills 是啥?感觉和 prompt 一样
2026-03-03
2026-03-04
2026-03-10
2026-03-05
2026-03-03
2026-03-04
2026-03-05
2026-03-05
2026-03-02
2026-03-02