FC決死隊隊長|Local AI Foundry

ADR-0004: Research契約違反に有限Retryを採用する

背景(Context)

Research Agentは、同一の入力と指示に対しても、まれに必須項目の欠落や形式不一致を含む出力を返すことがある。

Contract Gateがこの違反を検出した場合、壊れたResearch成果物をそのままWritingへ渡すことはできない。一方で、偶発的な契約違反のたびに人間がWorkflowを再実行する運用は、回復性と自動化の両面で望ましくない。

この問題に対しては、Gateを弱めず、Retryの停止性と責任範囲を保ったまま回復する仕組みが必要である。

問題(Problem)

候補(Options)

  1. Retryを行わない
  2. Contract Gateの条件を緩和する
  3. 循環構造で複数回Retryする
  4. Research Stageの契約違反に限り、非循環構造で有限Retryを行う

決定(Decision)

Research Stageでは、Contract Gateが契約違反を検出した場合に限り、同一Stage内で有限回のRetryを行う。

Retry後の出力にも、初回と同一のNormalizeおよびContract Gateを適用する。再評価後も契約を満たさない場合はWorkflowを停止し、Writing以降のStageへは進めない。

Retry対象はResearch DTOの契約違反に限定する。モデル接続、timeout、Code例外、外部サービス障害などは、この契約Retryの対象に含めない。

Retry graphは循環させず、最大実行回数を構造上説明できる形とする。

採用理由(Rationale)

採用しなかった案(Rejected Options)

Retryを行わない

偶発的な契約違反のたびに、運用者による再実行が必要になる。

Contract Gateを緩和する

回復性のために契約保証を失うことになり、後続Stageへ不完全なDTOが流れる。

循環構造で複数回Retryする

実行回数の上限、状態の引き継ぎ、停止条件が複雑になり、無限化や状態混線のリスクが高まる。

影響(Consequences)

Positive(肯定的影響)

Negative(否定的影響)

適用範囲(Scope)

本ADRはResearch StageにおけるDTO契約違反の回復に適用する。

Planning、Writing、Review、Final AuditのRetry方針、ならびにインフラ障害や外部サービス障害の再試行方針は、本ADRの適用範囲外とする。

関連資料(Related)

Public Documentationへ戻る