仕事を進める GUILDUO
Human Relay:Agentの確認依頼・人の回答・作業再開
実機の操作感、好み、本人が決める選択など、Agentだけでは確かめられない点を人へ返します。成果物は外部の環境で確認し、回答はGuilduoへテキストで保存します。
人へ頼る前に確認する
例:「スマホ幅の自動確認は通ったが、片手でメニューを閉じやすいかは実機で判断してほしい」。通常のlintを人へ依頼する理由にはしません。
- 接続元でrequest_human_reviewとlist_human_requestsが見えることを確認します。
- 元Questとget_current_agent_contextを読み、自分が担当する登録済みAgentであることを確認します。
- 自動テストやビルドなど実行できる確認を済ませます。人が必要な理由を具体的に残します。
- list_human_requestsをsourceQuestIdとstatus=allで読み、未回答・保留中の依頼がないか確認します。
確認対象を明記して依頼する
次のJSONはrequest_human_reviewのプレビューです。questIdは元Questの実際のIDに置き換えます。requestKeyは同じ確認ラウンドで固定します。
- プレビューで依頼先と元Questを確認します。必要な成果物リンクはartifactUrlへHTTPSで付けられます。
- 最新の元QuestのupdatedAtをexpectedUpdatedAtに付け、許可された依頼をdryRun=falseで保存します。
- 人へ確認場所と回答先を案内します。外部リンクを開いただけでは確認済みや承認にしません。
json
{
"questId": "REPLACE_WITH_SOURCE_QUEST_ID",
"requestKey": "mobile-menu-review-1",
"title": "スマホのメニュー操作を確認",
"reason": "自動検証は通ったが、片手の操作感は実機確認が必要",
"checkTarget": "普段のスマホで対象画面を開き、メニューを開閉してリンクを押す",
"completionCriteria": "変更不要か、修正したい場所と理由をテキストで回答する",
"dryRun": true
}人が確認して回答を保存する
回答は対象の本人がWeb認証で行います。Agentは普通のQuest更新やscore_questで代筆・確認完了にできません。
- Web Appの自分宛て確認依頼を開き、理由・確認対象・完了条件を読みます。
- 指定の外部画面や実機で確認します。今できない場合は保留にし、後で再開します。
- 変更不要ならその結果を、修正が必要なら「閉じるボタンが押しにくいので位置を変えてほしい」など具体的なテキストを保存します。
- 確認したことを明示して回答します。既読、保留、リンクを開いたことは回答完了と別です。
回答を読んで修正・再開する
- Agentはlist_human_requestsで元Questの回答を再取得し、humanRequest.responseとoutcomeを読みます。
- changes_requestedなら元のHandoffをworkingへ戻し、保存された指摘に沿って修正・検証します。
- 再確認は新しいrequestKeyで別ラウンドを作ります。過去の回答は上書きしません。
- approvedなら承認内容を確認します。確認Quest完了、Handoff accepted、元Quest完了は、それぞれの条件に沿って別操作として扱います。
再送・競合・未回答の診断
| 状態 | 意味 | 対応 |
|---|---|---|
| pending / deferred | 未回答または保留 | 既存依頼を待つ・再開する |
| 同じrequestKeyと同じ内容 | 同じ依頼の再送 | 同じkeyを維持して既存結果を確認 |
| request_key_conflict | 同じkeyに異なる内容 | 元の依頼を確認し、次ラウンドは新key |
| human_request_pending | 未回答の依頼が既にある | 重複作成せず既存依頼を再開 |
| quest_conflict | 元Questが変わった | 再取得してexpectedUpdatedAtを更新 |
| quest_assignee_mismatch | 依頼Agentが担当と違う | リンクAgentと元Quest担当を確認 |
この記事の出典
公開GitHubの資料をもとに編集しています。仕様の詳細は原文を確認できます。
内容確認日: · 公開資料の版: 5125178