{
  "format": "agent-article-v0",
  "article_id": "EA-286",
  "canonical_url": "/tools/ea-286-human-queue-workbasket-for-ai-exceptions",
  "page_type": "reference",
  "claim_ids": [],
  "evidence_ids": [
    "EVD-EA-286-URL-610FBD2EE3C2",
    "EVD-EA-286-URL-361154BF10A0",
    "EVD-EA-286-URL-B57576952528",
    "EVD-EA-286-URL-FB87768384BB",
    "EA-286-CURRENT-APPROVAL",
    "EA-286-CURRENT-BODY-READBACK"
  ],
  "unknown_ids": [
    "EA-286-UNKNOWN-01"
  ],
  "operational_object_ids": [],
  "provider": [],
  "models": [],
  "plans": [],
  "surfaces": [],
  "regions": [],
  "current_status": "CURRENT",
  "observation_status": "SPEC_ONLY",
  "freshness": "CURRENT",
  "last_verified": "2026-10-22",
  "supersedes": [],
  "superseded_by": [],
  "provenance": [
    "MANUAL-EA286-DRAIN-20261022-C1",
    "SRC-EA-286-URL-610FBD2EE3C2",
    "SRC-EA-286-URL-361154BF10A0",
    "SRC-EA-286-URL-B57576952528",
    "SRC-EA-286-URL-FB87768384BB",
    "BODY-SHA256:f5a084f600a2f5688066f4641befa5c10e1e387b03be1b7861b15bd2aa055998"
  ],
  "article_sources": [
    {
      "id": "EVD-EA-286-URL-610FBD2EE3C2",
      "evidence_class": "RESEARCH",
      "title": "[S1] Amazon SQS Visibility Timeout:",
      "href": "https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-286-URL-610FBD2EE3C2"
      ],
      "supporting_locators": [
        "出典・provenance",
        "S1",
        "- [S1] Amazon SQS Visibility Timeout: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html"
      ],
      "scope": "出典・provenance",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-286-URL-361154BF10A0",
      "evidence_class": "RESEARCH",
      "title": "[S2] Camunda 8.9 User task lifecycle:",
      "href": "https://docs.camunda.io/docs/8.9/apis-tools/frontend-development/task-applications/user-task-lifecycle/",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-286-URL-361154BF10A0"
      ],
      "supporting_locators": [
        "出典・provenance",
        "S2",
        "- [S2] Camunda 8.9 User task lifecycle: https://docs.camunda.io/docs/8.9/apis-tools/frontend-development/task-applications/user-task-lifecycle/"
      ],
      "scope": "出典・provenance",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-286-URL-B57576952528",
      "evidence_class": "RESEARCH",
      "title": "[S3] Camunda 8.9 User task authorization:",
      "href": "https://docs.camunda.io/docs/8.9/components/tasklist/user-task-authorization/",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-286-URL-B57576952528"
      ],
      "supporting_locators": [
        "出典・provenance",
        "S3",
        "- [S3] Camunda 8.9 User task authorization: https://docs.camunda.io/docs/8.9/components/tasklist/user-task-authorization/"
      ],
      "scope": "出典・provenance",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-286-URL-FB87768384BB",
      "evidence_class": "RESEARCH",
      "title": "歴史的所在記録:",
      "href": "https://docs.google.com/document/d/1Vd0BP7G2UyPDRQs_-8dPvTgQ78Tk6kcVGuMJjqNdr84/edit",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-286-URL-FB87768384BB"
      ],
      "supporting_locators": [
        "出典・provenance",
        "- 歴史的所在記録: https://docs.google.com/document/d/1Vd0BP7G2UyPDRQs_-8dPvTgQ78Tk6kcVGuMJjqNdr84/edit"
      ],
      "scope": "出典・provenance",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EA-286-CURRENT-APPROVAL",
      "evidence_class": "RESEARCH",
      "title": "現行本文の監査・revision対応",
      "supports": [
        "現行台帳のAUDIT_PASSと候補・revision・本文ハッシュの対応を確認しています。"
      ],
      "limit": "監査状態と来歴の記録です。外部根拠の最新性や本文の全主張を追加保証しません。",
      "origin_class": "AUDITED_CANONICAL_RESEARCH_PACKET",
      "source_or_experiment_ids": [
        "MANUAL-EA286-DRAIN-20261022-C1"
      ],
      "supporting_locators": [
        "1KqhJtiSb2S84rWmeYVwKcT_76dBwZ_B0ZZuAWQqH0rQ/EA_REVISION_LEDGER#ea_id=EA-286&revision_id=EA-286-RESEARCH-20261022-R1&candidate_id=MANUAL-EA286-DRAIN-20261022-C1",
        "EA-286-RESEARCH-20261022-R1"
      ],
      "provenance_status": "CURRENT_CANONICAL_APPROVAL_READBACK"
    },
    {
      "id": "EA-286-CURRENT-BODY-READBACK",
      "evidence_class": "IMPL",
      "title": "現行本文の収録照合",
      "supports": [
        "公開生成入力の本文SHA-256が、監査済み候補に結び付いたハッシュと一致しています。"
      ],
      "limit": "本文の同一性の検査です。外部システムの挙動や全主張の真偽を実証したものではありません。",
      "checked_at": "2026-10-22",
      "origin_class": "IMPLEMENTATION_READBACK",
      "source_or_experiment_ids": [
        "BODY-SHA256:f5a084f600a2f5688066f4641befa5c10e1e387b03be1b7861b15bd2aa055998"
      ],
      "supporting_locators": [
        "content/staging/EA-286.md",
        "f5a084f600a2f5688066f4641befa5c10e1e387b03be1b7861b15bd2aa055998",
        "EA-286-RESEARCH-20261022-R1"
      ],
      "provenance_status": "CURRENT_APPROVED_BODY_HASH_MATCH"
    }
  ],
  "research_sections": [
    {
      "heading": "要点と前提",
      "text": "AIの例外を扱うHuman Queue／Workbasketは、人の判断や手作業が必要な案件を、担当・期限・根拠・現在状態とともに保持する作業台である。通知を一覧表示するだけではなく、受領、調査、判断、差戻し、再割当て、解決とAI側の再開を追跡する。例外を格納した時点では業務は未解決であり、キューへの投入成功を処理完了として数えない。\n\nメッセージ配送基盤と、人が数時間から数日かけて扱う案件の正本は、異なる責任を持つ。メッセージは「案件を作成する」「更新を知らせる」というイベントを運べるが、その配達保証だけでは、人が解決したか、どの版を判断したかは分からない。以下は、配送と案件状態を分ける設計提案である。"
    },
    {
      "heading": "案件の正本を作る",
      "text": "案件には、例外ID、元の実行・会話ID、テナント、分類、影響、緊急度、発生時刻、期限、担当チーム・担当者、判断待ちの操作版、根拠、実施済み操作、外部結果IDを持たせる。機密な本文や添付は必要な範囲に留め、広い一覧には出さない。添付の参照先が期限切れで読めなくなる場合もあるため、必要な証拠の保持とアクセス条件を定める。\n\n同じ例外が再配送されても新しい案件を無限に作らないよう、業務上同一と判断するキーを定める。ただし同じ質問文というだけで別利用者・別実行の案件を統合しない。再発は、既存案件への追加観測か、別の発生として扱うかを分類ごとに決める。人の判断対象が変わった場合は、その変更を版として識別する。\n\n| 状態・操作 | 保存すること | 未完了として残す条件 |\n|---|---|---|\n| 新規・振分け | 発生理由、対象、担当候補、期限 | 適格な担当経路が未確定 |\n| 受領・着手 | 受領者、着手時刻、処理対象の版 | 調査・判断の結果がない |\n| 保留・追加資料待ち | 理由、必要資料、次の確認日 | 保留条件が未解消 |\n| 再割当て・差戻し | 旧担当、新担当、理由、引継ぎ情報 | 新しい担当が受領していない |\n| 判断・作業完了 | 決定、根拠、手作業の結果、外部ID | AI側への反映や結果確認が未完了 |\n| 解決・取消し | 最終状態、責任者、利用者への結果 | なし。ただし再発は履歴と関連付ける |\n\n製品に同じ状態名を追加することが目的ではない。既存のチケットやワークフローを使う場合は、上記の意味を既存状態へ対応させ、業務上必要な証拠が欠けないようにする。"
    },
    {
      "heading": "配送基盤のロックを人の占有に使わない",
      "text": "Amazon SQSでは受信したメッセージは一時的に不可視になり、削除しないままvisibility timeoutが過ぎると再配送され得る。資料は、その間も重複配送を完全には排除できないことを説明する。[S1] したがって、人が画面を開いている間ずっとメッセージを握り続けるだけでは、案件の所有や一度だけの判断を保証できない。\n\n配送を受けた処理は、まず案件正本への冪等な作成・更新を確定し、その後に配送メッセージを確認応答する設計が考えられる。案件作成後に確認応答だけ失われた場合も、再配送で同じ例外IDを見つけられるようにする。保存前にメッセージを削除すると案件が失われ、保存成功を判定できないまま再作成すれば重複する。\n\n人の割当てには、配送基盤のvisibilityとは別に、担当者、更新版、必要なら期限付きの占有を管理する。長期保留で占有を自動解除する場合、古い画面からの完了操作が後任の作業を上書きしないようにする。単なる「ロック中」の表示ではなく、更新時の条件付き書込み等で競合を検出する。"
    },
    {
      "heading": "割当てと権限の違い",
      "text": "Camunda 8.9の資料では、割当てと作業状態を区別する。[S2] またTasklist V2の認可資料は、認可が有効な構成で、タスクの閲覧・claim・完了などの権限を扱い、認可が無効なら権限チェックを強制しないと明記する。[S3] どの製品でも、担当者の名前を設定しただけで、API上のアクセス制限まで成立したとは考えない。\n\n一覧検索、詳細取得、添付閲覧、再割当て、判断、完了のすべてに、対象テナントと操作権限を適用する。担当候補であることと、承認権限があることも別である。作成者による自己承認を禁止する案件では、割当て時だけでなく完了時にも関係を検証する。管理者の代理処理には、理由と監査記録を残す。"
    },
    {
      "heading": "例外を埋もれさせない運用",
      "text": "優先度には、影響と緊急度、期限、未受領時間を使う。AIが生成した感情的な文面や自己申告の「重要」だけで順位を決めない。高優先度の新着だけを処理すると古い案件が永久に残るため、年齢や期限を考慮し、期限超過の担当経路を用意する。\n\n一覧は、未受領、着手済み、追加資料待ち、期限超過、成否不明の外部操作を分けて確認できるようにする。全体件数だけでなく、最古案件、担当のない案件、分類別の滞留時間、再割当て回数、再開失敗を観測する。ページングや件数制限のある検索では、表示できた範囲だけから未処理0件と結論しない。検索対象の期間・状態・テナント範囲を明示し、必要な全範囲を探索する。\n\n担当チームの処理能力を超えた場合、受付を無制限に増やすだけでは遅延が広がる。自動処理の停止、機能縮退、追加要員、業務期限の調整などを責任者が判断する。キューが空いたように見せるために期限切れ案件を解決扱いにしたり、DLQへ移して完了扱いにしたりしない。"
    },
    {
      "heading": "DLQと再処理の意味",
      "text": "デッドレターキューは、繰返し配送に失敗したイベントを隔離する仕組みとして使えるが、業務例外の解決者ではない。DLQの監視、所有者、元案件との関連、再投入条件、保存期限を決める。再投入時には、元の決定や外部操作が済んでいないかを照合する。同じ通知を再配信することと、同じ業務操作を再実行することを区別する。\n\n人が手作業で発注を済ませた後、AI側の再開通知だけ失敗する場面では、案件を新規に戻してはいけない。判断と外部結果を保存し、反映だけを再試行する。AIが再開するときには、解決済みの操作IDと結果を読み、未実行として同じ発注を繰り返さないようにする。成否不明の場合は外部結果を調べる担当へ残す。"
    },
    {
      "heading": "受入れと反証",
      "text": "試験には、配送重複、保存直後の停止、通知失敗、同時claim、古い画面での完了、担当不在、再割当て、権限失効、DLQ、手作業完了後の再開失敗を含める。案件と外部操作の最終状態を照合し、状態名だけで成功を判定しない。大量の模擬案件を使い、ページをまたいだ未処理案件の検出も確認する。\n\n単純な低件数業務では、適切に設定した既存のチケット管理で十分な場合がある。専用のAIキューを新設すると正本が二つになり、逆に追跡しにくくなる。重要なのは製品数ではなく、案件ID、担当、期限、決定、実行結果が途切れず結び付くことである。"
    },
    {
      "heading": "OPEN_UNKNOWN",
      "text": "- 実利用の配送基盤・チケット管理、案件キー、担当体制、保持期限、権限、競合制御は未取得。\n- 重複配送、競合、全範囲探索、失効、DLQ、再投入、AI再開、外部結果照合の実試験はNOT_RUN。\n- 旧EA-286記録は所在調査のみ。先行完成本文は確認できず、新候補を独立監査へ渡す。"
    },
    {
      "heading": "SAFE_WORDING",
      "text": "「案件を永続化し、配送・所有・判断・結果反映を分けて追跡する人の作業台を設計する」。一方、「投入できれば解決済み」「visibility timeoutで人の作業も一度だけ」「担当名があれば認可済み」「DLQへ移せば業務完了」「先頭ページが空なら未処理0件」とはしない。"
    },
    {
      "heading": "出典・provenance",
      "text": "確認日: 2026-10-22。状態表・案件項目・競合対策・受入れ案は本稿の設計提案。\n\n- [S1] Amazon SQS Visibility Timeout: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html （不可視期間、再配送、重複の境界）\n- [S2] Camunda 8.9 User task lifecycle: https://docs.camunda.io/docs/8.9/apis-tools/frontend-development/task-applications/user-task-lifecycle/ （割当てと作業状態）\n- [S3] Camunda 8.9 User task authorization: https://docs.camunda.io/docs/8.9/components/tasklist/user-task-authorization/ （認可有効時の権限と無効時の境界。他版へ一般化しない）\n- 歴史的所在記録: https://docs.google.com/document/d/1Vd0BP7G2UyPDRQs_-8dPvTgQ78Tk6kcVGuMJjqNdr84/edit 、2026-09-18 11:20 JST RUN、EA-286見出し、台帳locator t.0:23385–25569、ARTIFACT_INDEX!262。"
    }
  ],
  "human_url": "/tools/ea-286-human-queue-workbasket-for-ai-exceptions",
  "markdown_url": "/agent/article.md?path=%2Ftools%2Fea-286-human-queue-workbasket-for-ai-exceptions",
  "json_url": "/agent/article.json?path=%2Ftools%2Fea-286-human-queue-workbasket-for-ai-exceptions"
}