Agent 如何执行任务
当你把 任务 安排给 Agent 后,HiFox 会把任务上下文、Agent 配置和电脑环境组合起来,派发给 Agent 执行。
这个过程的关键点是:任务仍然是协作中心,Agent 只是执行者。需求、讨论、运行记录、阻塞和结果都会回到同一个任务里。
从任务委派开始
最常见的触发方式,是把任务负责人设置为某个 Agent 或小队。
如果任务已经在 Todo、In Progress 或其他可执行状态中,安排给 Agent 后会自动开始执行。
如果任务还在 Backlog,Agent 会保持等待,不会立刻开始。你可以先在 Backlog 中整理需求、补充上下文,等准备开始时再把任务移动到 Todo 或其他可执行状态。
HiFox 会准备哪些上下文?
任务开始执行时,HiFox 会把相关上下文交给 Agent,包括:
- 任务标题和描述;
- 当前任务状态、任务类型、优先级和负责人;
- 最近的评论和补充信息;
- 任务所属空间、项目和标签;
- Agent 的指令;
- Agent 绑定的 Skill;
- 空间或 Agent 绑定的 Git 仓库;
- Agent 运行时需要的环境变量、密钥和启动参数。
这些上下文会帮助 Agent 理解:要做什么、为什么做、在哪里做、有哪些约束,以及完成后应该如何汇报。
派发到电脑
Agent 真正执行任务时,需要一台电脑。
电脑可以是本地电脑,也可以是云端或团队共享电脑。电脑上的本地服务会与 HiFox 保持连接,接收被委派过来的任务。
执行流程大致是:
- 任务被安排给 Agent;
- HiFox 判断任务是否处于可执行状态;
- HiFox 找到 Agent 可用的电脑;
- 电脑上的本地服务接收任务;
- 本地服务准备工作目录和代码库;
- 本地服务启动对应的 AI 编程工具;
- Agent 执行任务,并把进展和结果写回 HiFox。
如果电脑离线、不可用或并发已满,任务会排队等待。
工作目录和代码库
Agent 执行代码任务时,需要进入一个工作目录。
常见模式有两种:
- 独立临时目录:每个任务单独创建临时目录,并通过 Git worktree 创建一份独立的代码工作区,适合并行执行;
- 指定已有目录:任务在指定电脑目录中运行,适合超大代码库或特殊本地环境。
默认建议使用独立临时目录。这样每个任务都有自己的 worktree,不同任务可以在同一个仓库的不同工作区里并行修改、运行测试和产出结果,不容易互相覆盖文件或污染工作区。
worktree 的作用是隔离任务改动。比如一个 Agent 在修登录问题,另一个 Agent 在补测试,它们可以分别在自己的 worktree 中工作;即使同时修改代码,也不会直接写到同一个目录里。
任务完成后,你可以 review 这个任务对应 worktree 里的改动,再决定保留、合并或丢弃。这样 Agent 可以安全并行推进多个任务,而不是所有任务都挤在同一个脏工作区里。
如果使用指定已有目录,同一个目录通常只能同时运行一个任务。没有空闲目录时,任务会等待本地目录可用。这种模式不会为每个任务创建独立 worktree,因此更适合你明确需要复用已有目录、依赖缓存或特殊本地环境的情况。
代码库来源取决于 Agent 和空间配置:
- 如果 Agent 绑定了 Git 仓库,优先使用 Agent 的仓库配置;
- 如果 Agent 没有绑定仓库,通常使用任务所在空间设置的 Git 仓库;
- 如果两边都没有配置仓库,Agent 可能能看到任务,但无法进入代码目录完成代码工作。
执行过程中会看到哪些状态?
任务详情里会显示 Agent 的执行状态。常见状态包括:
- 排队中:任务已经进入队列,等待电脑、并发或目录可用;
- 启动中:HiFox 正在把任务派发到电脑并准备运行;
- 处理中:Agent 正在执行任务;
- 等待本地目录:指定目录模式下,Agent 正在等待可用目录;
- 已完成:Agent 已完成本次运行,并写回结果;
- 失败:运行中发生错误;
- 已取消:本次运行被停止。
这些状态帮助你判断任务是在正常等待、正在执行,还是需要人工介入。
「排队中」不只会出现在执行记录里,也会在任务列表、看板、收件箱和任务详情中显示。执行开始后,Agent 工作状态会切换为「工作中」;执行记录中的运行状态显示为「处理中」。执行完成、失败或取消后,会按对应的运行结果更新。这里的 Agent 工作状态用于描述执行过程,和任务本身的生命周期状态不同。
Agent 会把什么写回任务?
Agent 执行过程中或结束后,通常会把这些内容写回任务:
- 当前进展;
- 遇到的阻塞;
- 需要人类确认的问题;
- 修改了哪些内容;
- 运行了哪些检查;
- 成功、失败或取消的结果;
- 建议的下一步。
如果 Agent 完成了一轮工作但需要你确认结果,任务可能会进入等待人工审阅。你可以在任务里 review 结果、继续评论,或让 Agent 根据反馈继续处理。
如果 Agent 缺少信息、权限或需要你做决定,任务可能会进入等待人工回复。你可以直接在任务评论中回复,Agent 会基于同一个任务上下文继续工作。
收件箱提醒
Agent 执行任务时,真正需要你处理的事项会进入收件箱。
常见情况包括:
- 等待人工回复:Agent 需要你补充信息、回答问题或确认下一步;
- 等待人工审阅:Agent 已经完成一轮工作,需要你 review 结果;
- Agent 被阻塞:Agent 遇到权限、环境、依赖或信息缺失,无法继续;
- 任务失败:Agent 的运行失败,需要你查看原因后决定重试、补充信息或改派给成员;
- Agent 已完成:Agent 完成任务后,你可能需要验收结果或继续推进下一步。
收件箱的作用是把需要你注意的任务集中起来。你不需要一直盯着每个 Agent 的运行过程;当 Agent 需要你处理、判断或追踪时,可以从收件箱进入任务详情,在同一个任务上下文里回复、review 或继续安排工作。
查看执行记录
任务详情中可以查看 Agent 的执行记录。
执行记录适合用来了解:
- Agent 是什么时候开始的;
- 任务为什么排队或等待;
- Agent 运行了多久;
- 本次运行是首次运行、评论触发、重试还是自动化触发;
- 执行过程中有哪些输出;
- 失败时错误原因是什么。
如果需要更细的过程,可以打开执行转录。转录会展示 Agent 执行过程中的事件和工具调用,帮助你判断它做了什么、卡在哪里、为什么失败。
停止和取消
如果 Agent 正在运行,但你不希望它继续,可以停止当前运行。
停止会中断当前 Agent 运行。已经完成的部分会保留,但这次运行不会继续。运行可能需要几秒钟才能完全停止。
如果仍然需要继续处理,可以在任务里补充评论后重新触发,或让 Agent 从已有上下文继续执行。
常见触发来源
除了把任务负责人设置为 Agent,Agent 运行还可能来自:
- 任务评论中提及 Agent;
- 与 Agent 的对话;
- 自动化触发;
- 重试某次失败运行;
- 快速创建任务。
不同来源的运行都会保留执行记录。对于需要团队持续跟踪和验收的工作,建议尽量落到任务中执行。
常见问题
为什么任务分配给 Agent 后没有开始?
先检查任务是否仍在 Backlog。如果任务在 Backlog,Agent 会等待,不会立即执行。然后检查电脑是否在线、并发是否已满、代码库和凭证是否配置正确。
为什么任务一直排队?
常见原因是电脑离线、电脑并发已满,或者指定工作目录暂时不可用。
Agent 执行失败后怎么办?
打开执行记录查看错误原因。根据错误类型补充任务上下文、修复电脑、配置代码库或密钥,然后再重试。
Agent 可以同时处理多个任务吗?
取决于 Agent 的最大并发运行任务数和工作目录配置。独立临时目录更适合并行;指定已有目录通常需要等待空闲目录。
Agent 的输出在哪里看?
优先在任务评论和执行记录里查看。需要细节时,再打开执行转录。