第 6 章 进阶功能


文档摘要

第 6 章 进阶功能 学完本章,你将掌握 GA 的五种进阶能力——自主行动、定时任务、反射模式、子代理和 Plan 模式。 学习目标 学会让 GA 在你离开时自主执行任务,回来看报告 掌握定时任务的创建与管理 理解反射模式的三要素,能让 GA 创建自定义反射脚本 学会用子代理并行处理独立任务 知道 Plan 模式何时触发,能审查和跟踪执行计划 6.1 自主行动模式(Autonomous) 睡前给 GA 留一张任务清单,醒来报告就写好了——这就是自主行动模式。 三步上手 第一步:写任务清单 直接用自然语言告诉 GA: GA 会把任务写入 。你可以一次添加多条,但 GA 每次只做一条,按顺序从上往下取第一条未完成的。 任务描述写得越具体越好。

第 6 章 进阶功能

学完本章,你将掌握 GA 的五种进阶能力——自主行动、定时任务、反射模式、子代理和 Plan 模式。

学习目标

  1. 学会让 GA 在你离开时自主执行任务,回来看报告
  2. 掌握定时任务的创建与管理
  3. 理解反射模式的三要素,能让 GA 创建自定义反射脚本
  4. 学会用子代理并行处理独立任务
  5. 知道 Plan 模式何时触发,能审查和跟踪执行计划

6.1 自主行动模式(Autonomous)

睡前给 GA 留一张任务清单,醒来报告就写好了——这就是自主行动模式。

三步上手

第一步:写任务清单

直接用自然语言告诉 GA:

你:帮我在自主行动的 TODO 里添加一条:整理桌面上所有的 PDF 文件,按年份分到不同文件夹。

GA 会把任务写入 temp/TODO.txt。你可以一次添加多条,但 GA 每次只做一条,按顺序从上往下取第一条未完成的。

任务描述写得越具体越好。"整理文件"太模糊,"把桌面 PDF 按年份分到 ~/Documents/PDF/2024、2025 子文件夹"才够清晰。

TODO.txt 长什么样
- [ ] 整理桌面上所有的 PDF 文件,按年份分到不同文件夹 - [ ] 把 Downloads 里超过 30 天的文件归档到 Archive - [x] 清理 temp 目录下的过期缓存文件

第二步:离开电脑

不需要额外操作。GA 检测到超过 30 分钟没收到你的消息,就会自动从 TODO 取任务开始执行。

第三步:回来看报告

回来后直接问 GA "你刚才做了什么",或者去 temp/autonomous_reports/ 看报告文件。报告自动编号,比如 R3_整理PDF文件.md,包含执行摘要、操作详情和遇到的问题。

权限边界

可以自主做 写在报告里等你确认 绝对不会做
读取分析文件 修改 GA 的记忆和 SOP 读取密钥文件
在临时目录写文件、跑脚本 安装新软件 修改 GA 核心代码
调用已有的 Skill 调用外部 API 不可逆的危险操作
写执行报告 删除非临时文件

遇到拿不准的事,GA 会记在报告里等你回来决定,不会擅自做主

6.2 定时任务(Scheduled Task)

每天早上 8 点自动抓新闻、每周五整理文件——设好时间,GA 准时开干。

创建一个定时任务

直接用自然语言告诉 GA:

帮我创建一个定时任务,每天早上 9 点整理 Downloads 文件夹里的新文件,按类型分类。

GA 会在 sche_tasks/ 目录下生成一个 JSON 配置文件。

配置文件长什么样
{ "schedule": "09:00", "repeat": "daily", "enabled": true, "prompt": "整理 Downloads 文件夹里的新文件,按文件类型分到对应子文件夹里", "max_delay_hours": 3 }

每个字段的含义:

字段 说明 示例
schedule 每天几点触发 "09:00"
repeat 重复方式 见下方表格
enabled 是否启用 true / false
prompt GA 要执行的指令 你想让它做什么,写清楚
max_delay_hours 最大延迟窗口 默认 6,超过这个时间没开机就跳过

repeat 支持以下几种写法:

含义
"daily" 每天
"weekday" 仅工作日(周一到周五)
"weekly" 每周
"monthly" 每月
"once" 只执行一次
"every_3h" 每 3 小时
"every_30m" 每 30 分钟
"every_2d" 每 2 天

max_delay_hours:任务定在 8 点但你 12 点才开机,设了 3 就会跳过,避免执行过时任务。

管理定时任务

问 GA "我的定时任务都什么情况?" 可以查看所有任务状态。

告诉 GA "暂停整理文件那个定时任务" 即可暂停,GA 会把 JSON 里的 enabled 改为 false。恢复、删除同理,直接说就行。

查看执行报告

每次定时任务执行完,报告会自动保存在 sche_tasks/done/ 目录下,文件名格式:

sche_tasks/done/2026-04-17_0900_整理文件.md

报告里包含本次执行了什么、结果如何。你可以直接去这个目录翻看,也可以问 GA "上次定时任务的报告呢?"

注意事项

  1. GA 必须在运行:关了 GA 或电脑关机,定时任务不会执行
  2. 多窗口不冲突:开了多个 GA 窗口也只有一个调度器在工作
  3. 任务 JSON 在 sche_tasks/,报告在 sche_tasks/done/,不要和 temp/autonomous_reports/ 搞混

6.3 反射模式(Reflect)

条件满足时自动触发任务,不用你盯着——这就是反射模式。

反射脚本的三个要素

所有反射脚本放在 reflect/ 文件夹下,每个都是一个 Python 文件。打开最简单的 reflect/autonomous.py

# reflect/autonomous.py INTERVAL = 1800 # 每 1800 秒(30 分钟)检查一次 ONCE = False # 持续检查,不是只查一次 def check(): return "[AUTO] 用户已经离开超过30分钟,作为自主智能体,请阅读自动化sop,执行自动任务。"
要素 作用 示例值
INTERVAL 多久检查一次(秒) 1800 = 30 分钟,600 = 10 分钟
ONCE True = 触发一次就停,False = 持续监测 False
check() 返回字符串 → 触发任务;返回 None → 本轮跳过 见上方代码

前面学的自主行动(6.1)和定时任务(6.2)本质上都是反射脚本——autonomous.pyscheduler.py 就在 reflect/ 目录里。你可以用 ls reflect/ 查看所有现有脚本。

创建自定义反射脚本

直接告诉 GA 你想监测什么:

你:帮我写一个反射脚本,每 10 分钟检查桌面有没有新的 .csv 文件,有的话自动做数据分析,然后启动它。

GA 会自动完成创建和启动,你不需要自己写代码或敲命令。脚本支持热更新:修改后不用重启,下次检查时自动加载新版本。

6.4 子代理模式(Subagent)

把任务分给独立的"分身"去做,主 GA 只管分配和收结果。

启动一个子代理

最简单的方式——直接告诉 GA:

你:帮我用子代理分析 ~/Documents/report.pdf,提取关键结论写成摘要。

GA 会自动创建工作目录、写入任务描述、启动子代理。你不需要手动操作。

GA 底层实际执行了什么
python3 agentmain.py --task analyze_report --input "分析 report.pdf,提取关键结论" --bg
参数 作用
--task 名称 指定任务名,同时决定工作目录 temp/analyze_report/
--input "描述" 任务描述(短文本直接传,长文本先写 input.txt
--bg 后台运行,主 GA 不用等它做完
--llm_no N 指定用第几个模型配置(可选)

查看进度和干预

直接问 GA 就能查看子代理的进度,比如 "分析报告那个子代理做完了吗?"

如果需要干预,也可以告诉 GA,比如 "让分析报告的子代理停下来""告诉那个子代理重点关注第三章"

子代理的工作目录结构

子代理的所有文件都在 temp/{任务名}/ 目录下:

temp/analyze_report/ ├── input.txt # 任务描述(GA 自动生成) ├── output.txt # 执行日志和结果(看到 [ROUND END] 表示完成) ├── context.json # 文件路径清单(可选,用于复杂任务) └── reply.txt # 你可以写追加指令,子代理会继续执行

GA 通过在工作目录下创建特殊文件来干预子代理:

文件 效果
_stop 当前轮结束后停止
_keyinfo 写入重要信息,子代理下轮会读到
_intervene 写入新指令,子代理会调整方向

并行限制

多个子代理可以同时运行,但有一条硬约束:

  • 纯文件处理(分析、生成、转换)→ 放心并行
  • 需要浏览器或键鼠→ 必须排队,一个做完再做下一个
写好子代理输入的技巧

好的输入只需要四样东西:

  1. 做什么:任务目标和产出物
  2. 约束:格式要求、工具限制等
  3. 输入文件:用绝对路径
  4. 输出位置:结果写到哪

不要写执行步骤——子代理和主 GA 一样聪明,会自己规划怎么做。

6.5 Plan 模式(复杂任务规划)

步骤多、有依赖、要并行——GA 会先写计划给你确认,再按步骤逐个执行。

什么时候会触发

你不需要手动开启 Plan 模式。当任务足够复杂时,GA 会自动进入。比如:

你:帮我把项目里所有 JavaScript 文件迁移到 TypeScript,保持功能不变,更新所有 import 路径。

这种任务涉及多文件、有依赖关系,GA 会自动走 Plan 模式。一般来说,满足以下任一条件就会触发:

  • 步骤超过 3 个,且步骤之间有先后依赖
  • 需要同时读取或修改多个文件
  • 包含条件分支("如果 X 就做 Y,否则做 Z")

简单的 1-2 步任务,GA 会直接做,不走 Plan 模式。

Plan 模式的五个阶段

探索 → 规划 → 你确认 → 执行 → 验证

① 探索:GA 派一个子代理去摸底——有什么文件、缺什么条件、有什么风险。子代理只看不改,把结论写成一份探索报告。

② 规划:基于探索报告,GA 写出 plan.md,列出每一步做什么、用什么 SOP、依赖哪一步。

③ 你确认:GA 把计划展示给你,等你说"可以"才开始执行。你可以要求修改步骤、调整顺序、补充遗漏。

④ 执行:逐步执行,每完成一步打 [✓] 标记。搬砖量大的步骤会自动委托给子代理。

⑤ 验证:全部执行完后,GA 启动一个独立的验证子代理来"挑毛病"。验证通过才算完成;失败则自动修复后重新验证。

审查计划时看什么

GA 给你展示 plan.md 后,重点关注三件事:

  1. 有没有遗漏? 你想做的事是否都覆盖了
  2. 顺序对不对? 有依赖关系的步骤是否排在前面
  3. 风险步骤有没有标出? 不可逆操作是否有保护措施

觉得哪里不对,直接告诉 GA 你的想法:

你:第 3 步应该在第 2 步之前,而且缺少备份这一步。

GA 会修改计划后再次让你确认。

跟踪执行进度

执行过程中 GA 不会主动停下来汇报。想知道做到哪了,随时问:

你:现在执行到哪一步了?

GA 会读取 plan.md,告诉你哪些步骤已经打了 [✓]、当前在做哪一步。

plan.md 里的步骤标记含义
标记 含义
[ ] 待执行
[D] 委托给子代理执行(搬砖量大的步骤)
[P] 并行执行(同时启动多个子代理)
[?] 条件分支(根据结果选路径)
[✓] 已完成
[✗] 已失败并跳过
[SKIP] 因依赖步骤失败而跳过
[FIX] 验证失败后追加的修复步骤
[VERIFY] 强制验证步骤,不可跳过
验证失败后会怎样

验证子代理会给出三种判定之一:

  • PASS:结果可用,任务完成
  • FAIL:有问题。GA 会把修复步骤追加到 plan.md(标记 [FIX]),只修复失败项,修完后重新验证。最多重复 2 轮,仍然失败则请你介入
  • PARTIAL:部分通过。GA 会告诉你哪些没过,由你决定是否可接受
相关文件速查
内容 路径
自主行动
任务清单 temp/TODO.txt
执行报告 temp/autonomous_reports/R1_xxx.md
行动 SOP memory/autonomous_operation_sop.md
定时任务
任务配置 sche_tasks/任务名.json
执行报告 sche_tasks/done/2026-04-17_0900_任务名.md
调度日志 sche_tasks/scheduler.log
任务 SOP memory/scheduled_task_sop.md
反射模式
反射脚本目录 reflect/
执行日志 temp/reflect_logs/
子代理
任务描述 temp/{任务名}/input.txt
执行日志和结果 temp/{任务名}/output.txt
干预文件 temp/{任务名}/ 下的 _stop / _keyinfo / _intervene
子代理 SOP memory/subagent.md
Plan 模式
执行计划 plan_XXX/plan.md(XXX 为任务英文短名)
探索报告 plan_XXX/exploration_findings.md
验证上下文 plan_XXX/verify_context.json
Plan 模式 SOP memory/plan_sop.md

小结

  • 自主行动:写 TODO → 离开 30 分钟 → GA 自动干活 → 回来看报告
  • 定时任务:一句话创建,JSON 配置,sche_tasks/done/ 看报告
  • 反射模式:三要素(INTERVAL + ONCE + check()),自主行动和定时任务的底层机制
  • 子代理:独立"分身"并行处理,纯文件任务可同时跑,浏览器任务要排队
  • Plan 模式:复杂任务自动触发,探索 → 规划 → 确认 → 执行 → 验证

上一章:第 5 章 聊天平台接入


作者与出处
原作者: Datawhale
来源:Datawhale
许可证:CC BY-NC-SA 4.0
整理: 灏天文库整理
由灏天文库结构化整理,提供目录导航、全文检索与在线阅读,便于系统化学习
发布者: 作者: Datawhale 转发
评论区 (0)
U