跳到主要内容

长程任务与 Subagents

Anda Bot 面向的不是一次回答,而是需要连续性的复杂目标。长程任务会保留目标、检查进展、压缩上下文,并在需要时继续推进。

使用 /goal​

/goal 会把请求标记为长程目标:

/goal 帮我完成这个发布准备:跑测试、检查 changelog、确认安装脚本说明,并总结风险。

当主 Agent 空闲后,目标检查器会评估当前结果是否完成。如果还需要继续,它可以生成 follow-up 让主 Agent 继续工作。上下文过长时,Anda 会先压缩当前状态,再开启关联 conversation 继续同一个 session。

使用 /loop​

/loop 会重复运行一个 prompt 或 slash 命令。需要固定间隔时,直接在请求里用自然语言描述,例如 每5分钟、every 5 minutes 或 5m;模型会识别间隔,并在需要时创建 recurring agent cron job:

/loop 每5分钟 /side 检查发布队列是否阻塞,并总结结果。

如果没有描述间隔,Anda 会让模型自定节奏,在需要继续时推进循环:

/loop 持续检查迁移,直到每个验证步骤都有明确证据。

定时任务​

Cron 支持 cron 表达式、every 周期间隔和 at/once 一次性任务。调度器每五秒轮询,最多同时运行八个任务。Agent 任务会等待提交的工作实际完成,包括后台工具;Shell 任务会等待进程退出。every 从执行完成时计算下一次间隔,错过的周期不会逐次补跑。一次性时间戳会向上取整到下一秒,因此不会早于指定时间执行。

编辑已暂停任务会保留暂停状态,需要通过 manage_cron_job 的 resume 显式恢复。在 update_cron_job 中设置 origin=true,会将后续执行迁移到当前调用者和会话;已经开始的执行仍保留原回复路线。任务列表省略完整结果,并限制文本预览长度;完整内容可通过 manage_cron_job 的 get 或 list_cron_runs 获取。删除任务会保留执行历史,也不会取消已经开始的执行。

Cron 工具仅供可信用户使用。由 owner 的 CLI 创建的任务会验证并保存已注册的工作目录授权,daemon 重启或临时 CLI 注册过期后仍然有效。较早创建、尚未保存目录授权的 CLI 任务,需要在目标目录重新连接 CLI,再使用 origin=true 更新一次。请求元数据本身不能授权新目录。

使用 /side​

/side 或 /btw 会把请求放到独立的旁路子任务里。它适合:

  • 临时研究一个风险。
  • 让另一个视角审查当前结论。
  • 不打断主会话的情况下收集背景。
/side 查一下这个依赖升级是否会影响 macOS arm64 用户。

使用 /skill​

个人运行时 Skills 放在 ~/.anda/skills;随版本发布的内置 Skills 从 ~/.anda/bundled-skills 加载。当你希望特定工作流处理请求时:

/skill git-assistant 根据当前 diff 写一条 Conventional Commit message。

Subagents 的角色​

Subagents 可以承担研究、实现、审查、监督等专门角色。主会话负责保留目标和最终判断,Subagents 负责局部任务。

这种结构适合:

  • 需要读很多文件或资料的调研。
  • 需要实现和审查分离的代码任务。
  • 需要持续检查“是否真的完成”的目标。
  • 需要外部工具参与但不能丢失主线的工作。

工具和本地工作区​

Anda 的基础工具包括 memory、shell、文件读写、Skills、Cron 和 Subagents。文件和 shell 工具默认在 ~/.anda/workspace 工作。

当任务涉及当前仓库或外部工具时,请明确告诉 Anda 目标、验收条件和不能触碰的边界。

/goal 在当前仓库修复 docs 构建。不要改 Rust 代码。完成条件是 pnpm --dir docsite build 通过。

什么时候不要用 /goal 或 /loop​

简单问答、一次性解释、短命令查询不需要 /goal 或 /loop。直接发送普通消息即可。把 /goal 留给需要完成度审查的任务,把 /loop 留给定期或自节奏跟进。