メインコンテンツへスキップ
見出し画像

DAY63|AIと人間の役割を分ける――WorkflowのRetry上限とHuman Intervention

    DAY62では、Workflow Engineに自動Retryを追加しました。

    一時的なネットワークエラーやタイムアウトなどでTaskが失敗しても、Workflow EngineがRetry Policyに従って自動的に再実行する。

    これで、ちょっとしたエラーなら人間が操作しなくても仕事を続けられるようになりました。

    しかし、ここで一つ問題が出てきます。

    「Retryを何回まで続けるのか?」

    そして、

    「それでも失敗したら、誰が判断するのか?」

    DAY63では、この問題を扱います。


    1.Retryしても成功しない

    DAY62では、Taskが失敗するとWorkflow Engineが自動でRetryしました。

    例えば、

    Task 04
       ↓
    FAILED
       ↓
    Retry 1
       ↓
    FAILED
       ↓
    Retry 2
       ↓
    FAILED
       ↓
    Retry 3
       ↓
    FAILED

    という状態です。

    一時的なエラーであれば、Retryによって復旧する可能性があります。

    しかし、何度Retryしても失敗する場合があります。

    今回のTask 04でも、3回Retryしても成功しませんでした。

    ここで、

    「もっとRetryすれば成功するかもしれない」

    と考えて、無限にRetryを続けることはできません。


    2.Retryには上限が必要

    そこでWorkflow EngineにRetry上限を設定します。

    今回の設定は、

    Maximum Retry : 3
    Current Retry : 3
    Status        : FAILED

    です。

    3回失敗した時点で、自動Retryを停止します。

    これは単純な回数制限ではありません。

    AIが自動的に処理を続ける範囲を決めるためのルールです。

    自動化では、

    「どこまで自動で実行するのか」

    だけでなく、

    「どこで自動化を止めるのか」

    も重要になります。


    3.Workflowを一時停止する

    Retry上限に達すると、Workflow EngineはWorkflowを一時停止します。

    Task 01   COMPLETED
    Task 02   COMPLETED
    Task 03   COMPLETED
    Task 04   FAILED
    Task 05   PENDING
    Task 06   PENDING
    
    Workflow
       ↓
    PAUSED

    Task 04が失敗している状態で、そのままTask 05へ進めることはできません。

    そこでWorkflow全体を一旦止めます。

    これによって、

    「何が問題なのか分からないまま、次の処理へ進んでしまう」

    ことを防ぎます。


    4.AIがエラーを整理する

    Workflowが停止したからといって、AIが何もしなくなるわけではありません。

    ここでAI Coreがエラー情報を整理します。

    例えば、

    Task ID       : TSK-04
    Task          : 報告書作成
    担当          : AI社員B
    Status        : FAILED
    Error         : TIMEOUT
    Retry         : 3 / 3

    さらに実行ログを確認し、

    Knowledge Base server
    Network
    Vector DB
    Search query
    External service

    など、考えられる原因を整理します。

    重要なのは、

    AIが最終判断するのではなく、人間が判断できる材料を整理する

    ということです。


    5.人間に判断を戻す

    ここでCompany AI OSの重要な考え方が出てきます。

    Human Intervention

    つまり、

    人間による介入・判断

    です。

    AIは、

    • エラーを検知する

    • エラーを分析する

    • Retryする

    • ログを整理する

    • 原因の候補を提示する

    ところまで自動で行えます。

    しかし、Retry上限に達したあと、

    Retryする
    Taskを修正する
    Workflowを停止する

    のどれを選択するかは、人間が判断します。


    6.HiroがTaskを確認する

    そこでHiroがTask 04を確認します。

    確認するのは、

    • Taskの内容

    • 担当AI社員

    • エラー内容

    • Retry回数

    • 実行履歴

    • 関連ログ

    • 考えられる原因

    です。

    今回のケースでは、同じTIMEOUTが3回連続して発生しています。

    単純な一時的エラーではない可能性があります。

    そこで、原因を確認したうえで次の対応を決めます。


    7.人間の判断でWorkflowを再開する

    原因を確認した結果、必要な修正を行えば再実行できると判断しました。

    そこでHiroがWorkflowの再開を指示します。

    FAILED
       ↓
    Human Judgment
       ↓
    Task修正
       ↓
    PENDING
       ↓
    RUNNING

    Workflow Engineは、その判断を受け取ってWorkflowを再開します。

    ここで重要なのは、

    AIが勝手に判断してWorkflowを再開したわけではない

    ということです。

    AIは再開するための情報を整理し、

    最後の判断を人間が行っています。


    8.AIと人間が役割を分担する

    今回のDAY63で、AIと人間の役割がより明確になりました。

    AIが担当すること

    エラー検知
    ↓
    エラー分析
    ↓
    自動Retry
    ↓
    ログ整理
    ↓
    原因候補の提示
    ↓
    Workflow状態管理

    人間が担当すること

    例外の判断
    ↓
    原因の確認
    ↓
    Taskの修正判断
    ↓
    Retry / Stopの判断
    ↓
    Workflow再開の判断

    つまり、

    AIに任せられることはAIに任せる。
    人間が判断すべきことは人間が判断する。

    という構造です。


    9.自動化には「止める設計」も必要

    AIシステムを作っていると、

    「できるだけ自動化したい」

    と考えがちです。

    しかし、実際には、

    自動化することだけが重要なのではありません。

    重要なのは、

    どこまで自動化し、どこで人間に戻すのか

    を最初から設計しておくことです。

    今回のDAY63では、

    AI
     ↓
    自動処理
     ↓
    エラー検知
     ↓
    自動Retry
     ↓
    Retry上限
     ↓
    Workflow停止
     ↓
    AIが情報整理
     ↓
    人間が判断
     ↓
    Workflow再開

    という流れを作りました。

    これは、これからCompany AI OSをより自律的に動かしていく上でも重要な考え方になります。


    DAY53〜DAY63

    ここまでの流れを整理すると、

    DAY53
    Knowledge Base
    
        ↓
    
    DAY54
    RAG Search
    
        ↓
    
    DAY55
    RAG Answer
    
        ↓
    
    DAY56
    AI Employee × RAG
    
        ↓
    
    DAY57
    AI Agent
    
        ↓
    
    DAY58
    Workflow
    
        ↓
    
    DAY59
    複数AI社員の連携
    
        ↓
    
    DAY60
    Workflow State
    
        ↓
    
    DAY61
    Error Recovery
    
        ↓
    
    DAY62
    Automatic Retry
    
        ↓
    
    DAY63
    Human Intervention

    少しずつですが、

    「AIが知識を使う」

    から、

    「AIが仕事を実行する」

    そして、

    「AIが仕事を自動で継続する」

    ところまで進んできました。

    そしてDAY63では、その自動化に人間の判断を組み込むところまで来ました。


    次のステップ

    DAY63で、

    AIが自動で仕事を進め、問題が発生したときには人間に判断を戻す

    という仕組みが見えてきました。

    ここから先は、

    • 人間への通知

    • 承認

    • Workflowの再開

    • Human-in-the-Loop

    • AI社員へのTask割り当て

    • Workflow全体の監視

    などへ発展させることができます。

    Company AI OSは、

    「人間の代わりに全部やるAI」

    を作ることが目的ではありません。

    AIが得意な仕事をAIに任せながら、

    人間が判断すべきところでは、人間が判断できる会社の仕組みを作る。

    DAY63では、その境界線をWorkflowの中に組み込みました。


    Company AI OS

    A Better Workplace with AI

    DAY63
    AIと人間の役割分担

    GitHubでDAY63の実装内容とコードを公開しています。
    https://github.com/hoshino122-alt/Company-AI-OS/blob/main/README.md

    #CompanyAIOS #AI #生成AI #AIエージェント #Workflow #RAG #AI社員 #AI自動化 #HumanInTheLoop #100日開発

    あなたへのおすすめ