目次
  1. 運用もAIが見ますと言われた方へ
  2. 公開されたのは工程の6段目です
  3. 従来の保守は、人待ちの構造です
  4. 検知にモデルを使いません
  5. できることが段階で変わります
  6. 出てくるのは報告書ではありません
  7. 人の仕事は、起こす役から仕分ける役へ
  8. 測り方まで書いてあります
  9. 運用の提案を受けたときに確認すること
  10. 賢さではなく、条件の置き場所を見ます

運用もAIが見ますと言われた方へ

開発だけでなく保守運用までAIエージェントに任せる、という提案を受けている方に向けて書いています。

確認すべきなのは、AIがどこまで賢いかではありません。AIが呼ばれる条件を、誰が、どこに書いてあるかです。その線の引き方の実例が、8月に公開されました。

公開されたのは工程の6段目です

Anthropicが自社のプレイブックとして、AIネイティブな開発ライフサイクルの設計を公開しました(The AI-native SDLC playbook)。計画・設計・実装・テスト・デプロイ・保守の6段階を扱っています。

前の5段階は、すでに議論が進んでいる領域です。要件をAIにまとめさせる、レビューをAIに一次通過させる、フックで承認を挟む。このあたりは提案書でもよく見かけます。

読みどころは6段目、保守運用です。ここだけ、人が起動しないという前提で書かれています。

従来の保守は、人待ちの構造です

プレイブックは従来型をこう描写しています。深夜3時にアラートが鳴っても見逃されうる。チケットは誰かが拾うまでバックログに残る。障害後の振り返りで決めた対策は、次の火事が起きればコードへ届かないまま終わる。

保守が受け身の工程になるのは、担当者の怠慢ではありません。すべての起点に人の着手が要る構造だからです。

検知にモデルを使いません

ここが本題です。

本番を見張るのは、決定的なスクリプトです。ローリング30日の平均と標準偏差を取り、Western Electricルールのような判定規則を当てて、急なスパイクだけでなく緩やかなドリフトも拾います。このスクリプト自体がバージョン管理され、単体テストが書かれています。

そして明記されています。検知は完全に決定的であり、モデルは一切関与しません

呼ばれる条件と、できることの範囲 決定的なスクリプト(モデルなし) 30日の平均と標準偏差で帯を引く ログに残すだけ エージェントは呼ばれない 読み取り専用で診断 書き込みはできない PRを開く 事前承認済み手順の実行 エージェントが書くもの intent.md(計画段と同じ形式) 人が仕分けて、通常の工程へ戻す
異常を見つける処理と、異常に対処する処理が分けてあります。分かれ目は帯で、帯は設定ファイルに書かれています。

できることが段階で変わります

エージェントが呼ばれた後も、権限は一段ずつです。

逸脱の大きさ エージェントの動作 できること
呼ばれない スクリプトがログを残すだけ
読み取り専用 原因の診断のみ。書き込みは不可
行動可 PRを開く、または事前承認済みの手順を起動する

3σでも、本番へ直接触れるわけではありません。開けるのはレビューゲートへ向かうPRか、あらかじめ承認された手順の呼び出しだけです。

この段階の境界はbands.yamlのような設定ファイルに書かれ、バージョン管理されます。権限と管理者設定の側では、本番アクセスそのものを拒否します。呼び出し・発見・仕分けの判断は、すべてタイムスタンプ付きで記録されます。

例として挙がっているのは、CIのテスト失敗率、デプロイ後の5xx率、PRのサイクルタイムです。テスト失敗率が3σを割ればフレーキーテストを隔離するか差し戻しのPRを開き、判断はレビューゲートに委ねる。デプロイ直後に5xx率が3σを割れば、既存のロールバック手順を起動する。

出てくるのは報告書ではありません

診断結果の置き場所が、この設計でいちばん効いている部分です。

エージェントが書くのは調査メモではなく、計画段と同じ形式のintent.mdです。異常の内容とその証拠、想定される成果、影響を受けるシステム、未解決の問いを含みます。つまり最初の工程が読める形で出てきます。

だから発見はそのまま設計・実装・テスト・レビューのパイプラインへ乗ります。ループが閉じる、というのはこの意味です。

人の仕事は、起こす役から仕分ける役へ

サービスのオーナーかオンコール担当が、溜まったintent.mdを仕分けます。いま直す、後で予定する、却下する。この3択です。

面白いのは却下の扱いで、却下は帯の調整に使われます。ノイズが多ければ帯を広げ、見逃しが多ければ狭める。人が「これは違う」と言った回数が、次の検知精度になります。

そして修正が出たら、そのインシデントに対応する評価項目をテストへ追加します。同じ種類の障害が二度目に起きないよう、発見が資産へ変わる導線まで設計されています。

測り方まで書いてあります

プレイブックには効果測定の指標が2つ挙がっています。

先行指標は、帯を割ってからintent.mdが仕分けの列に載るまでの時間です。比較対象は従来の「障害発生から振り返りの対策が決まるまで」。検知スクリプトのログに逸脱の時刻と段階が残るので、そのまま測れます。

遅行指標は、発見のうち実際にマージされた修正になった割合と、同じ種類の障害の再発件数です。後者は、評価項目が増えるにつれて減るはずだ、という予測とセットで書かれています。

提案を受ける側にとっては、ここが確認のしどころです。指標を先に決めていない自動化は、効いたかどうかを後から言い張れます

現場メモ

私たちが運用の相談を受けたとき、最初に決めるのは「どの数字を見るか」ではなく「その数字を何と比べるか」です。閾値を固定値で置くと、季節変動やリリース直後の揺れで必ず鳴りすぎます。鳴りすぎたアラートは、数週間で無視される側に回ります。

この設計が30日のローリング平均を基準にしているのは、そこを避けるためだと読みました。そして検知にモデルを使わない理由も同じだと思っています。判定が毎回わずかに違うと、鳴った理由を後から説明できません。説明できない警報は、結局止められます。

運用の提案を受けたときに確認すること

AIに運用を任せる提案への4つの質問

  • 異常を見つけるのは何ですか。モデルなのか、決まった計算式なのか

  • エージェントが呼ばれる条件はどこに書いてありますか。設定ファイルとしてバージョン管理されているか

  • 段階ごとにできることが分かれていますか。読むだけの段階と、手を動かせる段階が別か

  • 見つけたものは、どの形式で出てきますか。報告書か、次の工程が読める成果物か

    保守運用契約の打ち合わせ、AI運用サービスの比較検討でそのまま使えます

賢さではなく、条件の置き場所を見ます

AIに運用を任せるという話は、これまで「どこまで賢く判断できるか」で語られてきました。この設計はその問いを避けています。

賢さを問うかわりに、呼ばれる条件を外へ出して、バージョン管理下に置いた。判断の質ではなく、判断が起きる場所を設計対象にしています。

任せられる範囲は、モデルの性能ではなく、条件をどこに書いたかで決まります。


出典

このテーマで相談するAIネイティブ開発支援を見る