技能系统
技能是写给 Tinybot 的工作说明。它告诉 AI:遇到某类任务时,应该按什么步骤做、注意什么、输出成什么格式。
技能适合解决什么问题
如果你发现自己经常重复提醒 Tinybot 同一件事,就适合写成技能。
| 重复提醒 | 可以做成技能 |
|---|---|
| “总结会议时按负责人、截止日期输出” | 会议总结技能 |
| “代码审查先列风险,不要先夸代码” | 代码审查技能 |
| “写周报时按本周进展、风险、下周计划” | 周报技能 |
| “处理客服问题时先判断分类再给话术” | 客服处理技能 |
技能不会替代模型能力,它只是把你的偏好和流程固定下来。
默认技能
Tinybot 内置了一些技能,例如总结、定时任务、记忆管理、浏览器操作、OpenCLI 相关流程等。网页界面的技能面板可以查看当前可用技能,并启用或禁用。
技能如何触发
Tinybot 会根据技能描述自动判断是否使用。你不需要记住技能名称,但描述要写清楚。
例如技能描述是:
当用户要求总结会议记录、整理行动项、提取负责人和截止时间时使用。
用户这样说时就更容易触发:
请把这段会议记录整理成行动项。
创建自定义技能
技能通常是一个目录里的 SKILL.md 文件。基本格式:
---
name: meeting-summary
description: 当用户要求总结会议记录、整理行动项和风险时使用。
---
# 会议总结
## 工作步骤
1. 先识别会议主题和背景。
2. 提取明确的行动项。
3. 如果有负责人和截止时间,单独列出。
4. 标记没有明确负责人的事项。
## 输出格式
使用 Markdown 表格:
| 行动项 | 负责人 | 截止时间 | 风险 |
写技能时优先写清楚三件事:
| 内容 | 说明 |
|---|---|
| 什么时候使用 | 写在 description 中 |
| 怎么做 | 写步骤 |
| 输出什么 | 给格式或示例 |
好技能和差技能
好的技能:
当用户要求审查 Python 代码时,先列出明确 bug、风险和缺失测试,再给简短总结。每个问题要包含文件位置、原因和建议。
差的技能:
帮我把代码做好。
技能越具体,Tinybot 越容易稳定执行。
管理技能
网页界面
在技能面板中可以:
- 查看技能列表
- 启用或禁用技能
- 查看技能详情
- 创建或编辑工作区技能
配置文件
可以通过 skills.enabled 控制启用范围:
{
"skills": {
"enabled": ["*"]
}
}
["*"] 表示启用所有可用技能。也可以只填写指定技能名称。
技能和知识库的区别
| 能力 | 作用 |
|---|---|
| 技能 | 告诉 Tinybot 怎么工作 |
| 知识库 | 给 Tinybot 提供可检索资料 |
例如“客服处理流程”适合做成技能,“产品价格表和政策文本”适合放入知识库。
常见问题
技能没有触发
检查:
- 技能是否启用
description是否写清楚触发场景- 用户请求是否真的符合该场景
- 是否有其他技能描述过于相似
技能写得越长越好吗
不是。技能应该短而明确。把稳定规则写进去,把临时资料放进知识库或直接在对话中提供。
修改技能后需要重启吗
通常重新开始会话或刷新网页即可。如果技能列表没有更新,重启 gateway。