什么是 Agent 技能
在开始写代码之前,先理解 Agent 技能到底是什么。
一句话定义
Agent 技能是赋予 CeeCore AI 助理新能力的一套配置包。 它不包含可执行代码,而是通过 Prompt 指令、工具声明和配置参数,告诉 Agent「在什么情况下、做什么事、怎么做」。
把它想象成给 AI 助理写的一份 详细工作说明书——你不需要编程,只需要用自然语言告诉它该做什么。
一个技能长什么样
以「天气预报助手」为例,技能包包含以下文件:
weather-reporter/
├── manifest.json # 技能元数据:名称、版本、作者
├── config.schema.json # 用户可配置的参数(如城市、推送时间)
├── prompt.md # System Prompt:告诉 Agent 它的角色和任务
├── tools.json # 工具声明:Agent 可以调用哪些外部能力
├── icon.png # 技能图标(512×512)
└── README.md # 详细说明文档
技能如何工作
用户安装技能 → 技能配置生效 → Agent 加载 System Prompt → Agent 获得新能力
- 安装:用户在技能市场点击安装,技能包写入设备
- 配置:用户填写配置参数(如城市、推送时间)
- 激活:Agent 将 prompt.md 注入 System Prompt,工具声明生效
- 运行:Agent 按照 Prompt 指令和工具定义执行任务
技能 vs 传统 App
| 传统 App | Agent 技能 |
|---|---|
| 需要写代码 | 用自然语言描述 |
| 需要编译部署 | 配置文件即部署 |
| 有独立的 UI 界面 | 通过对话和 Agent 交互 |
| 更新需要重新发布 | 修改 Prompt 即可调整行为 |
| 功能固定 | 行为和能力可动态组合 |
技能的边界
一个技能能做什么:
- ✅ 定义 Agent 的角色和行为模式(System Prompt)
- ✅ 声明 Agent 可以调用的外部工具(HTTP API、定时任务、通知等)
- ✅ 接收用户配置参数(城市、时间、偏好等)
- ✅ 响应特定触发条件(定时、关键词、事件)
一个技能不能做:
- ❌ 直接访问设备底层系统(沙箱隔离)
- ❌ 未经用户授权读取隐私数据
- ❌ 执行任意代码(技能包中不能包含可执行文件)
- ❌ 绕过权限声明访问外部服务
关键概念
| 概念 | 说明 |
|---|---|
| System Prompt | 定义 Agent 的角色、任务和行为规则 |
| 工具(Tool) | Agent 可以调用的外部能力(API、定时任务等) |
| 配置参数(Config) | 用户安装技能时可自定义的选项 |
| 权限(Permission) | 技能需要声明的能力范围(网络访问、定时任务等) |
| 清单(Manifest) | 技能的身份信息,包含名称、版本、分类等 |
理解了这些概念,就可以开始创建你的第一个技能了。