关于 monitor-and-review-ai-employee-work
用于查看 AI 员工任务、检查输出和日志,并记录人工批准或拒绝的技能,帮助组织成员跟踪活动并排查运行失败。
主要功能
- 01查看任务状态和输出
- 02批准或拒绝草稿
- 03读取任务事件和执行记录
- 04查看近期活动与决策
- 05查找未执行工作的员工
适用场景
- 01审核待批准的草稿
- 02排查任务失败原因
- 03检查员工近期活动
- 04跟踪等待人工处理的任务
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ dozaldevs/ dozaldevs-skills --skill monitor-and-review-ai-employee-work安装后在 Claude Code 中输入/monitor-and-review-ai-employee-work确认已加载。
详细介绍
监控并审核 AI 员工的工作
此操作会检查任务,让人工批准或拒绝员工的产出,并查看组织员工的工作情况。也可以在 Slack 中批准。两种方式都会进入同一个决策流程。
前置条件:先加载
operate-ai-employees。它会设置dozaldevsCLI 和密钥,并说明如何读取错误。你还需要task_id(运行员工时获得)。任何密钥级别都可以读取;批准或拒绝则需要 Member 或更高权限。
任何命令的参数和字段:dozaldevs <command> --help 和 ../operate-ai-employees/references/customer-api.md。以下仅说明无法从规范中直接查到的行为。
检查状态:调用一次,读取 phase_category
dozaldevs get-task "$TASK"
根据 phase_category 作出判断,并忽略原始 status:
phase_category | 含义 | 告知人工 |
|---|---|---|
working | 仍在运行 | “仍在处理中,请等一两分钟后再问我。” |
awaiting_human | 工作已完成,等待批准 | 显示产出(见下文),并询问是批准还是拒绝。 |
terminal | 已完成(Done)或已停止(Failed、Cancelled) | Done:显示产出,并说明已交付。否则说明实际情况并解释。 |
已被某人批准或拒绝的任务会显示为 working,即使其原始 status 仍为 Reviewing。awaiting_human 表示尚无人作出决定。decision 在有人作出决定前为 null,之后会注明由谁作出决定以及决定内容,因此只要该字段已设置,就绝不要再提供批准或拒绝选项。显示 output.draft;若没有草稿,则显示 output.summary。
等待:仅在人工要求等待时
默认只调用上述命令一次,然后继续操作。如果人工要求等待结果,则运行以下命令。只要任务处于 working,它就会每 10 秒重新读取一次;约 80 秒后停止,并输出最后一次读取的 phase_category:
dozaldevs get-task "$TASK" --while phase_category=working --every 10 --timeout 80 --field phase_category
当输出为 working 时,再次运行该命令。其他情况则回到表格查看。如果调用失败,命令会输出错误;请遵循其 next_step。绝不要打开流(stream-* 命令会一直保持打开状态,直到服务端关闭)。
批准或拒绝(当状态为 awaiting_human 时)
先展示草稿,再根据人工的决定采取操作。批准:
dozaldevs decide-task "$TASK" --data action=approve
拒绝时,在 $REASON 中填写人工给出的理由:
dozaldevs decide-task "$TASK" --data action=reject --data reason="$REASON"
202:已记录。批准后会进行交付(例如发布到 Slack):“已批准,正在发送。”409 TASK_NOT_AWAITING_REVIEW:重新检查状态;任务可能仍在运行,也可能已经完成。409 TASK_ALREADY_DECIDED:有人已先行作出决定。message会注明由谁作出决定以及决定内容;请告知人工。重复发送相同决定只会再次返回202。
拒绝时务必提供 reason,因为它会成为员工学习的反馈。绝不要替人工作出决定,也绝不要因为你觉得产出看起来不错就批准或拒绝。
运行出错的原因:查看运行日志
先查看失败的任务本身(get-task)。failure_reason 是对运行停止原因的说明,failure_code 是简短代码,run_headline(非 null 时)用一句简单的话概述出错情况。已知的密钥值会从原因说明中屏蔽。status_history 显示运行结束时所处的状态。要了解更多信息,可以查看客户可读的运行日志。按以下顺序查看:
-
先看事件。 其中列出了每次工具调用的输入、输出、错误标记和耗时、失败并重试的调用、已连接应用的调用、等待审批的情况、状态时间线、运行输入,以及员工在运行开始时的设置和此后所做的编辑。
dozaldevs get-task-events "$TASK" -
**然后看转录,**每次尝试对应一条记录。要完整查看某次尝试,请使用
--id传入其 ID:dozaldevs list-executions --task_id "$TASK" dozaldevs list-executions --id "$EXECUTION" -
**最后看状态日志,**了解各项操作的发生顺序:
dozaldevs get-task-status-log "$TASK"
不要使用 get-task-conversation。它只会返回临时对话,而员工运行不会有对话内容。员工收到的指令和发出的内容,记录在任务的 output、事件和执行记录中。
用通俗的话说明日志显示了什么。日志不一定总能解释失败原因。如果没有显示原因,就如实说明,不要猜测。平台原始容器日志仅供平台工作人员查看,因此不要查找它。
活动与实时状态
-
近期工作:
list-tasks(添加--limit 10)、list-deliverables --task_id "$TASK"(查看某个任务的输出)、list-recent-decisions(查看近期由谁作出了什么决定),以及list-silent-dozals(查看本应采取行动却没有行动的员工,以及各自的一条原因):dozaldevs list-tasks --limit 10 dozaldevs list-deliverables --task_id "$TASK" dozaldevs list-recent-decisions dozaldevs list-silent-dozals -
**等待某人处理:**查看任务正在等待哪项审批。
dozaldevs list-task-pending-approvals "$TASK" -
**实时进度:**没有可供追踪的流。使用上面的
--while等待,并在每轮之间告诉用户phase_category显示的内容。要了解运行当前正在做什么,请查看事件。