个人助理的很多任务,不需要重新发明推理过程。
“写博客”“记一条知识”“查服务器状态”“生成月度复盘”“整理配置”这些任务都有明确流程。如果每次都让 Agent 从零思考,很容易出现不稳定输出和错误工具调用。
Skill 路由的思路是:先识别任务场景,再进入对应流程。
ReAct 的问题
ReAct 循环适合开放探索,但个人助理的大多数任务不是开放探索。
无约束循环可能带来几个问题:
- 过度思考简单任务。
- 选择不相关工具。
- 重复尝试已经失败的动作。
- 在缺少信息时硬编下一步。
- 难以复盘为什么走到某个结果。
对个人助理来说,可控性往往比“看起来聪明”更重要。
Skill 的价值
Skill 把任务流程显式化。
一个好的 Skill 至少说明:
- 什么时候触发。
- 需要哪些输入。
- 可以调用哪些工具。
- 输出应该是什么格式。
- 失败时如何降级。
- 哪些动作需要人工确认。
这会显著减少不确定性。
命名要贴近场景
Skill 名称应该让人一眼知道它处理什么任务。
例如:
hugo-blog:写博客、编辑文章、构建部署。qpc:记录和检索个人知识。ssh-git-vps-deploy:处理 VPS 上的 Git 部署。x-ui-and-new-api-security-posture:处理特定安全加固场景。
名称越具体,路由越稳定。
触发词要具体
触发词不应该太宽。
“工具”“处理”“帮我看看”这类词太泛,容易误触发。更好的触发词是和场景强相关的词,例如“写博客”“QPC”“部署到 VPS”“检查 x-ui 安全”。
个人助理可以允许多个触发词,但每个触发词都应该指向明确任务。
输入输出边界
每个 Skill 应该定义输入和输出。
例如博客 Skill 的输入可以是主题、标题、目标读者、已有素材;输出是文章文件、构建结果、提交状态。
QPC Skill 的输入可以是一段知识或检索问题;输出是结构化记录或匹配结果。
输入输出清楚,Agent 就更少临时发挥。
失败时要降级
Skill 还应该说明失败时怎么办。
例如:
- 找不到文件:先搜索仓库,不要编路径。
- 构建失败:报告错误,不要推送。
- 权限不足:停止并说明需要人工操作。
- 信息不足:提出缺失字段,而不是生成假答案。
降级策略是个人助理可靠性的关键。
一个 Skill 设计模板
名称:
触发场景:
必要输入:
允许工具:
输出格式:
失败处理:
人工确认条件:
这个模板不复杂,但能让个人助理从“会聊天”变成“会按流程办事”。