メインコンテンツへスキップ
AI運用Claude Code2026.06.23約12分で読める

AIエージェントの業務運用設計

役割・権限・監査・停止条件をどう決めるか

Netsujo株式会社は、京都を拠点とする少人数のスタートアップです。私たちは、AIエージェント(Claude Code)と自動化、そして「事実を仕組みで担保する」品質ゲートを組み合わせることで、少人数でも安定した品質を保つ運用を組んでいます。その運用の中身を実装に即して公開します。

派手なAI活用論より、日々の業務をどう回しているかの実際を重視しています。判断を人間が握り、実装と検証をAIに任せ、誤りは仕組みで止める——この3つを軸にした「運用OS」を、隠さずにお見せします。

この記事の要点

  • Netsujoは少人数で、判断は人間・実装と検証はAIエージェント(Claude Code)という役割分担で複数の事業とサイト運用を回しています。
  • 品質は「気をつける」ではなく仕組みで担保します。第三者AIによるファクトチェック(運用ルール)、事実誤りを機械的に弾くCI(本番前に自動で強制)、出典必須のProof検証という3つの仕組みで検証します。
  • SEO監査・Core Web Vitals・導線分析・独自性監査などを毎週月曜の朝に実行するよう設定しています。実行結果はGitHub Actionsのログと成果物で確認します。
  • ポジショニング・公開判断・実績の一次裏取り・倫理の線引きは、人間が握り続けます。

— 01

なぜ「運用OS」が必要だったのか

Netsujoは2023年6月に設立した、京都拠点の少人数スタートアップです。Web3・AIといった先端領域で、コンサルティングだけでなく実装まで踏み込む「実装型BizDev」を掲げています。少人数で複数の事業とサイト運用を抱えると、確認すべきことは指数的に増えていきます。

人の注意力だけでこれを支えようとすると、必ずどこかで漏れます。実際に私たちも、役職の誤表記や日付の取り違えといった誤りを経験しました。そこで方針を変え、「人ががんばって気をつける」のではなく、「誤りが起きない・起きても止まる仕組み」を運用そのものに組み込むことにしました。

その仕組みの集合体を、私たちは社内で「運用OS」と呼んでいます。AIエージェントに実装と検証を任せ、品質は自動化されたゲートで担保し、判断と責任は人間が握る。本記事は、その運用OSの中身を公開するものです。

運用を支える主な道具

Claude Codecodex(GPT)GitHub ActionsGA4 / Search ConsoleDiscordTypeScript / Python

従来の運用と、運用OSの違い

観点従来の運用運用OS
品質の担保担当者が「気をつける」CI・検証スクリプト・第三者AIで仕組み化
事実誤りの検知レビューで人が気づくまで残る禁止パターンに一致するとCIが失敗
SEO/サイトの監視問題が起きてから対処週次監査を登録し、実行・通知は記録で確認
作業の記録個人の頭の中・チャットに散在マークダウン/台帳に残し後から検証可能
実装スピード人手の作業量に比例反復・定型作業をAIと自動化に委譲

— 02

運用の3原則

運用OSは、3つのシンプルな原則の上に成り立っています。

01

判断は人、実装はAI

ポジショニング・公開可否・倫理の判断は人間が握り、調査・コード修正・分析・定型作業はAIエージェントに任せます。役割を明確に分けることで、スピードと責任の所在を両立します。

02

事実は「気をつける」ではなく仕組みで担保する

人の注意力に頼ると誤りは必ず漏れます。出典の必須化、禁止表現の自動検査、第三者AIによるファクトチェックといった仕組みに落とし込み、誤りを機械的に止めます。

03

全部、記録に残す

決定事項・作業結果・監査結果はマークダウンやDiscordに残し、後から検証できる状態にします。属人化を避け、次の判断の土台にします。

— 03

品質を担保する3層ゲート

AIが書いたものをそのまま世に出すことはありません。成果物は、性質の異なる3つの仕組みで検証します。1つは本番前に自動で強制されるCI、ほかは運用ルールと検証スクリプトです。強制力の異なる層を重ねることで、誤りを見つけやすくしています。

運用ルール

codexによる第三者ファクトチェック

書いた当人とは別のAIに読ませて、誤り・誇張・検証できない断定を洗い出します。呼ぶ時点は成果物の種別で分けています。リポジトリ内の差分は、lint・型・テスト・buildの機械検査がPASSしたあとに1回。機械検査では真偽を判定できない成果物(調査・提案・外部公開記事の本文など)は、完了報告の前に1回です。レビュー担当には読み取りだけを許可し、実装・自動修正・commit・pushはさせません。

自動CI

事実誤りを機械的に弾くCI

役職の誤表記・虚偽の経歴・改名前のサービス名・誤った日付など、過去に実際に起きた誤りを禁止パターンとしてCIに登録しています。該当する記述がコードに混じると、本番へ進む前にCIのチェックが自動で失敗します。この層はCIが自動で落とすため、通過を人の判断で省略できません。

検証スクリプト

出典を必須にしたProof検証

登壇・受賞・メディア掲載などの実績は、検証可能な出典URLと裏取り日をセットで登録する決まりにし、どちらかが欠けていれば検証スクリプトがエラーで止まります。出典の中身そのものは人間が一次裏取りし、スクリプトは「出典と裏取り日が必ず添えられているか」を担保します。

具体例:誤りが本番前に止まる

たとえば、ある人物の肩書きを実際と違う役職で書いてしまったとします。従来ならレビューで誰かが気づくまで残りますが、その事実ズレは「事実誤りを弾くCI」の禁止パターンに一致し、本番反映の前にCIのチェックが止まります。過去に一度起きた誤りを禁止パターンとして登録しておくことで、同じ誤りは本番前に自動で検知できます。学びを仕組みに変える——これが、私たちが誠実さを保つやり方です。

なぜ「別のAI」に検証させるのか

書いた本人(人でもAIでも)は、自分の思い込みに気づきにくいものです。だからこそ、書いた当人とは別のAIに、リポジトリの実装と突き合わせて検証させます。AIの嘘や誇張をゼロにはできませんが、独立した視点を一段挟むことで、明らかな誤りや検証できない断定を大きく減らせます。

— 04

週次監査の設定と実行確認

品質は一度きりの確認では保てません。Netsujoでは、毎週月曜の朝に複数の監査が動くようGitHub Actionsへ登録し、結果を通知するステップもワークフローへ設定しています。「問題があるか聞かれてから見る」のを避けるための仕組みです。ただし、スケジュール登録、起動、処理の完了、結果、通知はそれぞれ別の状態です。実行記録と通知記録を確認せずに「毎週回っている」「通知済み」とは報告しません。

GSC週次フル監査

Search ConsoleとGA4を統合し、サイトマップ・インデックス状況・CTR低迷・canonical不一致を網羅チェック

Core Web Vitals監査

PageSpeed Insightsでモバイル/デスクトップの表示速度を計測

効果測定(導線分析)

自治体導線・関西Web3まわりの流入と成果をGA4とGSCで分析

IndexNow Ping

主要URLをBing IndexNowへ自動通知し、クロールを促進

llms.txt整合性チェック

AI検索向けに提供しているllms.txtのURL整合性を検査

独自性監査

記事コンテンツの独自性を採点し、薄いコンテンツを検出

「監査が回っている」と言う前に、5つの状態を分けて確認する

状態確認できることこれだけでは言えないこと
登録スケジュールの定義がリポジトリに存在する起動したこと
起動対象の時刻に実行が開始された記録がある最後まで処理が進んだこと
処理の完了途中で失敗せず終了した記録がある中身の判定が正しかったこと
結果判定内容と対象範囲が読み取れる担当者へ届いたこと
通知結果が受け取り先へ送られた記録がある受け取った人が対応したこと

上から順に確認します。1つ上が成立していないのに下を報告しない、という順序が要点です。実行記録を見ずに「毎週回っている」と書かないのも、この表の使い方に含まれます。

これらに加えて、コードを本番へ反映する前には「事実誤りを弾くCI」と「コンフリクトの取り残し検査」が自動で走ります。検出された重大な問題はその場で修正し、軽微なものは記録して次のサイクルで対応します。検知から修正までの流れも、できるだけ仕組みに乗せています。

— 05

読み取りだけの担当と、変更する担当を分ける

エージェントを増やすと、次に問題になるのは能力ではなく状態管理です。誰がいま何をしてよいのか、止まっているものをどう再開するのかが決まっていないと、進捗の確認そのものが人間の作業として増えていきます。当社では役割ごとに、権限・停止時に残る操作・再開条件を先に書いています。以下はその設計例です。

状態できることできないこと再開の条件
実行中割り当てられた作業単位の中でファイルを変更し、branchへcommit・pushする作業単位の外へ変更を広げる。本番反映の判断を行う
読み取りのみ渡された差分と既存の記録を読み、指摘を返すファイルの変更、自動修正、commit、push
停止中既に作られた記録・成果物を読むセッション開始、実行、自動レビュー、再実行、代理呼び出し既定は拒否。承認の識別子・対象範囲・対象commit・上限・期限がすべて揃ったときだけ成立する

設計上の要点は3つあります。1つ目は、実装した担当が、その実装の独立レビューを兼ねないことです。実装担当が自分の変更を読み、原因を調べ、テストを書くのは必要な作業なので、そこを止めるわけではありません。分けるのは、その確認を独立したレビューとして数えないという一点です。実装の前提が誤っていた場合、同じ担当の確認だけでは、その前提のまま検証が通ります。

2つ目は、停止を能力の剥奪と同一視しないことです。停止は一時的な状態であり、レビュー担当としての資格は保持したままにします。状態と資格を同じ欄で管理すると、止めたあとに元へ戻せなくなります。

3つ目は、再開の既定を拒否にすることです。当社の例では、承認の識別子・対象範囲・対象のcommit・上限・期限がすべて同時に揃ったときだけ再開を成立させ、どれか1つでも欠けていれば再開しません。観測できない値を推測で埋めることもしません。予算が見えないことと、予算が十分にあることは別だからです。なお、この5項目という組み合わせは外部サービスの利用上限に達しうる構成を前提にした当社の設定であり、すべてのAI運用に必要な前提ではありません。

この整理が狙っているのは、人間の判断を減らすことではなく、中継を減らすことです。状態と再開条件が読み取れる形になっていれば、止まっている理由を人が聞いて回らずに済みます。中継がどれだけ減ったかは計測していないため、効果としては報告しません。

ここに書いたのは、当社で使っている状態区分と再開条件の設計例です。どの制約がランタイム側で強制されていて、どこまでが運用上の取り決めかは役割ごとに違います。設計したことと、実際に機械が拒否できることは別に記録しています。組織の規模、扱うデータ、停止したときのコストによって必要な区分は変わるため、この形をそのまま持ち込む前提では書いていません。

— 06

人間が握り続けること

AIに任せるほど、人間が握るべきことが明確になります。次の判断は、仕組みに渡さず人間が責任を持ちます。

ポジショニング・メッセージの決定

公開してよいかの最終判断

事実かどうかの一次裏取り(固有名詞・実績)

倫理・誠実さの線引き

次に何を作るか・何をやめるかの意思決定

この運用OSが目指すのは「人間を減らすこと」ではありません。人間が、判断という最も価値の高い仕事に集中できる状態をつくることです。実装と検証の負荷をAIと仕組みに預けるほど、私たちは「何を作り、誰に届け、どう誠実であるか」に時間を使えます。

— 07

AIに任せて分かったこと(手応えと限界)

AI活用を美化するつもりはありません。実際に運用してみて分かった手応えと、超えられない限界の両方を、正直に書きます。

手応え

  • 反復作業(一括修正・監査・申請)をAIと自動化へ委譲できる。ただし削減幅は計測しておらず、工数削減率としては報告しない
  • 仕組みに落とした品質チェックは、人の体調や繁忙に左右されない
  • 記録が残るため、過去の判断を後から検証・再利用できる

限界・注意

  • AIも誇張や思い込みで誤る。第三者チェックと出典の裏取りは外せない
  • 「何を作るか」「公開してよいか」は仕組みに渡せず、人間の判断が要る
  • 仕組みづくり自体に初期コストがかかる。小さく始めて育てるのが現実的

— 08

よくある質問(FAQ)

AIエージェントによる運用について、よく寄せられる質問をまとめました。

Q1

AIエージェントで会社を回すとは、具体的にどういう状態ですか?

判断を人間が握り、調査・コード修正・分析・定型作業・監査をAIエージェント(Claude Code)と自動化スクリプトに任せている状態です。少人数でも、確認や品質チェックを仕組み化することで、見落としを減らし安定した品質を保てます。

Q2

AIが書いたものに誤りが混じらないのですか?

AIも人も誤ります。だからこそNetsujoは、書いた当人とは別のAI(codex/GPT)による第三者ファクトチェック(運用ルール)、事実誤りを機械的に弾くCI、出典必須のProof検証という3つの仕組みで検証します。とくに事実誤りを弾くCIは、本番反映の前に自動で走り、該当する記述があればCIのチェックが失敗します。仕組みで誤りを止めることを前提にしています。

Q3

codexによるファクトチェックとは何ですか?

OpenAIのcodex CLI(GPT)に、成果物とリポジトリの実装を突き合わせて検証させる工程です。定量的な主張がコードと一致するか、検証できないのに断定していないか、誇張がないかを点検し、指摘を取り込んでから完了とします。

Q4

事実誤りを弾くCIとは、どんな仕組みですか?

過去に実際に起きた誤り(役職の誤表記・虚偽の経歴・改名前のサービス名・誤った日付など)を禁止パターンとして登録した静的検査です。該当する記述がコードに含まれると、本番反映の前にCIのチェックが失敗し、誤りが世に出るのを防ぎます。

Q5

どんな週次監査を設定しているのですか?

SEO/アクセスのフル監査、Core Web Vitals計測、導線の効果測定、IndexNow通知、llms.txt整合性チェック、コンテンツ独自性監査などを、毎週月曜の朝に実行するスケジュールとしてGitHub Actionsへ登録しています。ただし、登録・起動・完了・結果は別の状態です。実行記録を確認せずに「毎週成功している」とは扱いません。

Q6

すべてAIに任せて、人間は何をしているのですか?

ポジショニングの決定、公開可否の最終判断、固有名詞や実績の一次裏取り、倫理の線引き、次に何を作るかの意思決定は人間の仕事です。AIは実装と検証を担い、人間は方向と責任を担う、という役割分担です。

Q7

AIに任せられない領域はどこですか?

価値観や責任が問われる判断はAIに任せません。具体的には、ブランドのポジショニング、誇張と事実の線引き、外部に公開してよいかの最終判断、そして「何を作り、何をやめるか」という事業の意思決定です。AIは選択肢の整理や実装を高速化しますが、最終的に責任を負うのは人間です。

Q8

導入にコストや専門知識は必要ですか?

仕組みづくりには相応の初期コストがかかります。ただし一度に全部を作る必要はありません。たとえば「事実誤りを弾くCI」のように、過去に起きた失敗を1つずつ禁止パターンとして足していけば、運用しながら少しずつ堅牢にできます。小さく始めて育てるのが現実的です。

Q9

同じ仕組みは他社でも再現できますか?

同種の仕組みは、一般的なツール(Claude Code・GitHub Actionsなど)の組み合わせで構成できます。本記事で挙げた要素は、第三者AIによるチェック、禁止パターンのCI、出典必須のデータ構造、定期監査の登録です。ただし他社環境での再現は検証していないため、同じ効果が出ると約束するものではありません。重要なのはツールそのものより、「品質を人の注意力に頼らず、仕組みで担保する」という設計思想です。

まとめ

AIエージェントで会社を回すというのは、人間を仕組みに置き換えることではありません。判断を人間が握り、実装と検証をAIに任せ、誤りは仕組みで止める——この役割分担を徹底することです。

少人数のスタートアップでも、品質を仕組みに落とし込めば、確認漏れの少ない安定した運用は実現できます。Netsujoはその運用OSを、自社サイトという実物で日々検証しています。自分たちで使う道具を自分たちで作り、誠実さを仕組みで担保する。その積み重ねが、私たちが提供する開発・分析の品質に直結すると考えています。

この記事の著者

飯田 友広

飯田 友広

代表取締役

Netsujo株式会社 代表取締役。京都発のWeb3・AI実装スタートアップを2023年6月に創業。Webサイトを営業基盤として捉え、経営・営業・検索・生成AI・コンバージョン・計測を横断して課題と改善優先順位を整理する「Netsujo SIGNAL」を設計・運営。さらに、ChatGPT・Codex・Claude Codeを状態再構築、競合回避、独立QC、Exact-head検証、停止、復旧まで含む制御ループで運用する社内AI開発基盤「Netsujo Agent OS」を設計・実運転。Netsujoとして京都ビッグデータ活用プラットフォームに参画(小規模企業会員(ベンチャー))し、同プラットフォーム発のワーキンググループ「Chain Up KYOTO」にも参画(2026年3月10日〜)。IVS2026サイドイベント「なぜ京都でWeb3.0ビジネスなのか」はNetsujoとして京都府庁旧議場で主催・企画・登壇・運営(2026年7月2日/京都府 総合政策環境部 デジタル政策推進課は共催)。京都美術工芸大学・龍谷大学での講義に加え、京都高度技術研究所(ASTEM)、旅館業界、就労支援施設、Open Source Conference等で登壇実績。ITコミュニティ「みやこでIT」(connpassメンバー638名・イベント175件・2019年2月から運営)運営。NPO法人NEMTUS理事、BAR KRYPTO運営。Netsujoはソーシャル企業認証制度「S認証」の認証企業(2026年2月認証・2026年4月公表)。技術領域はWeb3/ブロックチェーン/DID/NFT/生成AI/コミュニティ運営。

プロフィールを見る

この記事が向いている方

  • 少人数チームでAIを業務に組み込みたい経営者・担当者

  • AIの出力品質をどう担保するか悩んでいる方

  • Claude Codeの実務運用に関心のあるエンジニア

構想段階でもお気軽に

無料相談を申し込む

この記事のテーマに関するご相談を受け付けています。要件が固まっていない段階でも構いません。

連載補章

GitHub Actionsを減らしたら、品質が落ちると思っていた。実際には逆だった

Evidence Ledgerがない現場では、CIは増えるほど嘘をつく

Check数ではなくClaimとexact Artifactに結び付いたEvidenceで完了を判定し、重複CI、hidden failure、stale reviewを減らすEvidence Ledger設計をまとめます。

Incident Card

品質を上げるには検査を増やせばよい。私はそう考えていました。lint、typecheck、unit test、integration test、content check、policy check、scope audit、visual verification、production smoke。事故が起きるたびにGitHub Actions WorkflowとGateを追加しました。

ところがWorkflowが増えるほど、どのcheckが正本なのか、このPASSは現在HEADに対するものか、このFAILは変更由来か基盤側か、後続checkがskipされていないか、どの結果がmerge判断に必要なのかを人間が調べる時間が増えました。

Incident Card
項目発生したこと
symptomCheckは多いが最終判断の根拠が分からない
direct impactActions時間、再実行、横断確認が増えた
hidden impact最初のFailureが後続Failureを隠した
wrong premiseWorkflow数と品質判断の信頼性は比例する

GitHub Actionsは大量に動いていました。しかし何を根拠に完了と判断したのかが分からなくなっていました。

CIが嘘をつくとは何か

GitHub Actionsが意図的に誤った結果を返すわけではありません。問題は結果が示す範囲を超えて意味付けしてしまうことです。

Green Checkが証明するのは、特定Commitに対して、特定Workflow Versionで、特定Environmentから、特定Procedureを実行し、そのProcedureがPASSしたという事実です。

HEADが変われば現在Artifactを証明しません。Workflowが途中Failureで後続Stepをskipしていれば未実行項目について何も証明しません。testがPASSしてもScope外変更がないことは証明しません。Deployが成功しても利用者経路が正常であることは証明しません。

CI結果が嘘なのではありません。人間がCI結果へ広すぎる意味を与えていました。

最初のFailureが後ろのFailureを隠していた

あるPull RequestではTest StepでJobが失敗し、後続検査がすべてskipされました。Testを修正した後に後続検査を動かすと、content link不足、primary CTA欠落、English title length違反など別Failureが見つかりました。

最初のFailureを直したからといって残りの品質条件を満たしたわけではありません。しかし直列Workflowでは最初のFailureより後ろの問題は観測されません。

独立した検査は並列化し、一度のrunでFailure集合を観測できる方が収束は速くなります。fail fastが常にcycle timeを短くするわけではありません。

Checkを増やす前にClaimを定義する

Evidence Ledgerでは各検査が何を証明するのかを明示します。

たとえばTypecheck EvidenceのClaimは「current PR HEADはTypeScript型検査を通過している」です。Subjectにはrepository、Pull Request、exact head SHAを持たせ、Procedureにはcommand、workflow、config version、Environmentを持たせます。ResultにはPASSやFAIL、ValidityにはVALIDやSTALEを持たせます。

重要なのはCheck名ではなくClaimです。TestというJobがあっても何を含むか分からなければCompletion Gateへ使えません。検査を追加する前に、この検査はどのClaimを証明するのかを決めます。答えられない検査は意思決定へ寄与しません。

ResultとValidityを分ける

EvidenceにはResultとValidityという二つの状態があります。

ResultはPASS、FAIL、INCONCLUSIVEなど、Procedureを実行した結果です。Validityは現在の判断に利用できるかで、VALID、STALE、SUPERSEDED、REVOKED、UNKNOWNなどを取ります。

ResultがPASSでもValidityがSTALEならCompletion Gateには使えません。

HEAD変更時は旧HEADのCIとReviewをSTALEにします。required check Policyが変われば以前のEvidence Bundleを再評価します。検査Scriptに欠陥が見つかれば、そのProducerから生成されたEvidenceをREVOKEDにします。

Green Checkを永続的な品質属性として扱わず、特定Artifactへ結び付いた証明として扱います。

exact HEADを揃える

Pull RequestをREADYへ進めるには少なくともCURRENT_HEAD、VERIFIED_HEAD、REVIEWED_HEAD、AUTHORIZED_HEADを一致させます。

CIがcurrent HEADでGreenでも、ReviewとAuthorizationが一つ前のSHAならNOT_READYです。Review本文にPASSとだけ書いて対象SHAがなければEvidenceとして不完全です。

HEADが変わった時点で旧ReviewとAuthorizationを自動STALEへ変更する。人間がGitHub画面を目視して新しいか確認する運用へ依存しません。

WorkflowではなくEvidence Bundleで完了を決める

一つの巨大Workflowがすべての検査を担当すると、Workflowの成否とTaskのCompletion Decisionが混ざります。

代わりにREADYに必要なEvidence RequirementsをBundleとして定義します。たとえばexact-head identity、lint、typecheck、unit test、content links、scope audit、independent review、merge authorizationです。

各検査は独立してEvidenceを生成します。ControllerはBundleを評価し、必要なClaimに対するVALID Evidenceが揃い、blocking counter-evidenceがない場合だけREADYへ進めます。

Workflow自体に「このPull Requestは安全」と言わせる必要はありません。

GitHub Actionsを減らす基準

減らすべきなのは品質Coverageではありません。重複、無関係、再利用不能な実行です。

同じClaimを証明するWorkflowを統合する

複数Workflowが同じlint、typecheck、unit testを同じArtifactへ実行するなら、一つを正本Evidence Producerへ寄せます。

変更と無関係な検査を毎回実行しない

docs-only変更でPostgres integrationを毎回起動する必要はありません。ただしpathだけでなくdependency impactとriskも評価します。

独立した検査は並列化する

最初のFailureで後続Failureを隠さないようにします。

有効なEvidenceを再利用する

同じArtifact、同じProcedure、同じEnvironmentに対するVALID Evidenceがあるなら無条件に再実行しません。

merge判断に使わないCheckをblockingにしない

analyticsや参考品質指標はCompletion Gateから分離します。

Check数ではなく意思決定への寄与を測る

GitHub Actionsの価値は実行回数では決まりません。

Check数ではなく意思決定への寄与を測る
指標意味
Decision LatencyHEAD更新からREADY判定までの時間
Evidence Reuse Rate再実行せず利用できたEvidence割合
Hidden Failure Count直列停止で未観測だったFailure数
Human Verification Count人間が手作業で結果を突合した回数
Redundant Run Rate同じClaimを重複検証した割合
False Block Rate変更と無関係なFailureで停止した割合
Stale Evidence Use失効Evidenceを判断に使った件数

CI時間が短くても人間が結果を30分確認していれば効率的ではありません。目標は必要なClaimを少ない重複で証明し、判断までの時間を短くすることです。

DeploymentとProduction Observationを分ける

Deploy Workflowが成功しても本番利用者が操作できるとは限りません。未ログインの外形監視は正常でも認証済み画面だけ500になるような障害があります。

Deployment Evidenceは、特定Commitが特定Environmentへ反映されたことを証明します。Production Observation Evidenceは、Contractで要求された利用者シナリオが実際のproductionで正常だったことを証明します。

DONEへ進むには、必要な本番経路に対するObservationが必要です。Deploy成功だけでIncident Resolvedとは判定しません。

DONE、HUMAN_REQUIRED、BLOCKED

内部にはPLANNED、EXECUTING、VERIFYING、REVIEWING、READY、MERGING、PRODUCTION_VERIFYING、BLOCKEDなど詳細Stateを持てます。しかし人間へ返す最終結果は収束させます。

DONEはAcceptance Criteriaに対応するEvidenceが揃い、必要なDeliveryまで完了した状態です。HUMAN_REQUIREDはGoal変更、権限承認、Risk Acceptanceなど人間だけが判断できる事項が残る状態です。BLOCKEDは外部条件待ちの内部状態で、Owner、解除条件、再評価時刻を必須にします。

利用者へCI待ち、確認中、別Agent待ちという中間報告を送り続けるだけでは委任は完了しません。最終的にはDONEか、具体的Decision Packetを伴うHUMAN_REQUIREDへ収束させます。

Rule

CIの数ではなく、現在Artifactに対して有効なEvidenceが揃っているかで状態を判定する。各Checkは証明するClaimを持ち、ResultとValidityを分離する。

Guardrail

  • 各CI Checkに証明対象Claimを定義する
  • Evidenceをexact HEADへ結び付ける
  • ResultとValidityを分離する
  • HEAD変更時に旧EvidenceをSTALEへ変更する
  • ReviewとAuthorizationへ対象SHAを記録する
  • 独立した検査は並列に実行する
  • 同じClaimを検査するWorkflowを統合する
  • pathとdependency impactに応じて検査範囲を変える
  • DeploymentとProduction Verificationを分離する
  • CompletionはEvidence Bundleで判定する

Evidence

Evidence Ledger自体が機能していることは次で確認できます。

  • HEAD変更後に旧CIとReviewが自動失効する
  • 一つのFailureが他の独立検査をskipさせない
  • READY判定に使われたEvidence IDを追跡できる
  • 同じClaimを複数Workflowが重複検証していない
  • Deployment成功だけでDONEへ進まない
  • optional CheckのFailureが不必要にmergeを止めない
  • 検査Script欠陥時に関連EvidenceをREVOKEできる
  • 人間がGitHub画面を横断せず現在状態を判断できる
  • BLOCKEDにOwner、解除条件、再評価時刻がある
  • TaskがDONEまたは具体的HUMAN_REQUIREDへ収束する

Remaining Risk

Evidence Ledgerを導入しても、検査内容が不十分なら欠陥を見逃します。unit testがPASSしても含まれていないケースは検出できません。Reviewerも見落とします。Production Observationが一経路だけなら別経路が壊れている可能性があります。

Evidence Requirementsを増やしすぎれば以前と同じGate過剰になります。新しいEvidenceを必須にする前に、どのFailure Modeを防ぐのか、既存Evidenceではなぜ不足するのか、blockingにする必要があるか、低リスク変更にも必要か、取得コストはいくらかを問います。

Evidence Ledgerは証拠を増やす仕組みではありません。必要な証拠と不要な実行を区別する仕組みです。

シリーズの結論

この連載で扱った中心原則は、AgentをstatefulにせずSystemをstatefulにすることです。

Human IntentをTask Contractへ変換する。PlannerとExecutorを分離する。Current Stateを外部Storeへ持つ。Evidenceをexact Artifactへ結び付ける。ControllerがState Transitionを管理する。繰り返す注意をRuleとGuardrailへ変える。並列化、CI、Review、Productionを有限手順で収束させる。

AIエージェントを増やすこと自体が競争力になるのではありません。人間の注意力に依存せず、GoalからDeliveryまで再現可能に完了できる実行基盤が競争力になります。

Netsujoに相談する