自动化与工作流
你可能遇到过这种情况
每周五下午,你都要做同样的事:
- 检查本周所有会话,看看改了哪些文件
- 跑一遍测试,确保没有回归
- 检查是否有未提交的代码
- 写周报——总结本周进展
每次都要手动提醒 AI 做这些事。有时候忘了,周一回来发现上周五的改动没提交。
💡 AI 能做事,但它不会“主动“做事。它需要你告诉它“现在该做什么“。
两件工具:Scheduler 和 Workflow
pi-scheduler — 定时任务
Scheduler(调度器)让 AI 在指定的时间做指定的事:
定时触发
│
▼
┌──────────────────┐
│ 注入预设消息 │
│ "现在是周五下午, │
│ 请执行周度检查" │
└──────────────────┘
│
▼
AI 自动执行
支持的定时类型:
| 类型 | 说明 | 示例 |
|---|---|---|
| 一次性 | 指定时间后触发一次 | “30 分钟后提醒我开会” |
| 重复 | 按固定间隔重复触发 | “每 2 小时检查一次测试” |
pi-workflow — 子代理编排
Workflow(工作流)让 AI 把复杂任务拆成多个子代理并行执行:
主代理:"研究一下 XXX 的最佳实践"
│
├──→ 子代理 1:搜索网页资料
├──→ 子代理 2:搜索 GitHub 源码
└──→ 子代理 3:搜索历史会话
│
▼
主代理:综合三个子代理的结果,给出建议
子代理是独立的执行环境:
- 有自己的上下文窗口(不会污染主会话)
- 有自己的工具集(可以限制权限)
- 执行完返回结果给主代理
实际案例:自动周报
配置每周五的自动检查
{
"action": "create",
"interval_ms": 604800000,
"recurring": true,
"prompt": "现在是周五下午。请执行以下检查:\n1. 用 session_search 查看本周所有会话\n2. 用 session_analyze summary 总结每个会话\n3. 检查 git status 是否有未提交的改动\n4. 汇总生成周报并写入 .pi/journal/weekly-summary.md\n5. 提醒用户提交未提交的代码"
}
每周五,AI 会自动:
- 搜索本周所有会话
- 逐个生成摘要
- 检查 git 状态
- 生成周报
- 提醒你提交
定时提醒的日常使用
用户:"30 分钟后提醒我看看 CI 的结果"
AI:✅ 已创建定时任务,30 分钟后提醒
... 30 分钟后 ...
AI:⏰ 提醒:该检查 CI 结果了。当前时间 15:30。
实际案例:子代理研究
场景:调研一个新技术的最佳实践
你说:“调研一下 Bun 和 Node.js 的性能差异,给我一个选型建议。”
AI 启动研究工作流:
🔬 研究工作流启动
子代理 1(搜索专家):
→ 搜索 "Bun vs Node.js performance benchmark 2026"
→ 找到 5 篇技术文章
→ 提取关键数据点
子代理 2(源码专家):
→ 搜索 Bun 的 GitHub 仓库
→ 查看 benchmark 目录
→ 查看 issue 中的性能讨论
子代理 3(历史专家):
→ 搜索本项目历史会话
→ 看看之前有没有讨论过类似选型
─────────────────────────
主代理综合报告:
📊 Bun vs Node.js 选型建议
1. 性能对比:
- HTTP 吞吐:Bun 快 3-4x
- 启动时间:Bun 快 5x
- npm 兼容性:Node.js 更好(Bun 95% 兼容)
2. 本项目建议:继续用 Node.js
- 理由:项目依赖了多个 Node.js 原生模块
- Bun 的兼容性问题可能导致额外维护成本
- 性能差异对本项目影响不大(IO 密集型)
子代理的优势
| 特性 | 单代理(普通对话) | 多代理(Workflow) |
|---|---|---|
| 上下文隔离 | 所有信息混在一起 | 每个子代理独立 |
| 并行执行 | 串行,一个一个来 | 可并行搜索 |
| 错误隔离 | 一个环节出错影响全局 | 子代理出错不影响其他 |
| Token 效率 | 所有信息都在主上下文 | 只有最终结果回到主上下文 |
Scheduler 的配置
通过 settings.json 安装:
{
"packages": ["pi-scheduler"]
}
工具提供三个操作:
| 操作 | 说明 | 参数 |
|---|---|---|
create | 创建定时任务 | interval_ms, prompt, recurring |
list | 查看所有任务 | 无 |
cancel | 取消任务 | id |
常用的时间间隔
| 间隔 | interval_ms | 用途 |
|---|---|---|
| 30 分钟 | 1,800,000 | 短期提醒 |
| 2 小时 | 7,200,000 | 定期检查 |
| 每天 | 86,400,000 | 日报/日检查 |
| 每周 | 604,800,000 | 周报/周检查 |
Workflow 的配置
通过 settings.json 安装:
{
"packages": ["pi-workflow"]
}
Workflow 提供两个核心概念:
- 因子研究(Factor Research):多轮搜索 + 评估 + 综合
- 因子优化(Factor Optimization):初筛 + 解剖 + 组合 + 迭代 + 验证
通常你不需要直接操作 Workflow——AI 会根据任务复杂度自动选择是否启用子代理。
最佳实践
✅ 好的定时任务设计
- 明确的指令:告诉 AI 具体要做什么,不要模糊的“检查一下“
- 合理的间隔:不要每 5 分钟检查一次(浪费资源)
- 有意义的触发:提醒应该是“该做 X 了“,而不是“你在吗“
✅ 好的子代理设计
- 单一职责:每个子代理只做一件事
- 明确的输出:子代理应该返回结构化的结果,不是自由文本
- 适度的并行:3-5 个子代理是甜蜜点,太多会增加综合难度
❌ 常见误区
- “定时任务可以替代所有手动操作” → 不行,复杂决策还是需要人参与
- “子代理越多越好” → 太多子代理的综合成本可能超过收益
- “Workflow 可以做任何事” → 它擅长研究和分析,不适合需要人工判断的决策
下一步
到目前为止,我们介绍了 pi-atelier 提供的所有核心工具。但如果这些工具还不够——你想做一个当前没有的功能呢?
下一章,我们来看如何自己动手开发扩展。