ANTIGRAVITY LABEN
記事一覧/Agents & Manager
Agents & Manager/2026-06-27上級

自律エージェントの行動を、改ざんを検知できる監査ログに残す

Antigravity のエージェントが自律的に下した判断と実行を、後から追跡・検証できる形で残すために、ハッシュチェーンで改ざんを検知できる追記専用の監査ログを設計する方法を、実装コードとともにまとめました。

Antigravity279agent-design9audit-log2observability14operations3

プレミアム記事

エージェントが自律的に動くようになると、ある朝こう自問する瞬間が来ます。「この変更、誰がやったんだ」。答えは「エージェント」なのですが、問題はその先です。いつ、どの入力を受けて、どんな判断で、何を実行したのか。それを後から正確に辿れなければ、自律運用は安心して任せられません。

私は個人開発で複数のサイトを一人で運用していて、夜間にエージェントが記事を生成し、品質ゲートを通し、push まで自律的に進めます。便利な一方で、何かがおかしくなったとき「いつから、なぜ」を再構成できないと、原因に辿り着けません。普通のアプリログでは足りない理由が、ここにあります。

アプリログと監査ログは目的が違う

アプリログは、開発者が動作を理解するためのものです。デバッグが終われば消えてよく、フォーマットも気軽に変わります。一方で監査ログは、後から「本当にそう動いたか」を第三者の視点で検証するためのものです。

この違いは、要件に直結します。監査ログは追記専用で、過去のエントリを書き換えてはいけません。順序が保証され、欠落が検知でき、改ざんされていないことを後から確かめられる必要があります。エージェントが自分の行動を自分で記録する以上、「その記録が後から都合よく書き換えられていない」ことを技術的に担保したいのです。

ハッシュチェーンで改ざんを検知する

改ざん検知の核は、各エントリに「前のエントリのハッシュ」を織り込むことです。ブロックチェーンと同じ発想ですが、分散合意は要りません。1台のファイルで十分に機能します。

import hashlib
import json
import time
 
GENESIS = "0" * 64
 
def make_entry(prev_hash: str, payload: dict) -> dict:
    entry = {
        "ts": time.time(),
        "prev_hash": prev_hash,
        "payload": payload,
    }
    # エントリ全体(prev_hash を含む)からハッシュを計算する
    serialized = json.dumps(entry, sort_keys=True, ensure_ascii=False)
    entry["hash"] = hashlib.sha256(serialized.encode("utf-8")).hexdigest()
    return entry

prev_hash を含めてハッシュを取るのが要点です。途中のエントリを1つでも書き換えると、そのエントリのハッシュが変わり、次のエントリが持つ prev_hash と食い違います。連鎖が切れた地点を見れば、どこが改ざんされたかが分かります。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
通常のアプリログと監査ログの違いと、エージェント運用でなぜ後者が要るのかの判断軸
前のエントリのハッシュを次に織り込み、SHA-256 のハッシュチェーンで改ざん・欠落・並べ替えを検知する追記専用ログの実装
何を記録し何を記録しないか、PII とコストを抑えながら追跡可能性を保つ設計の実例
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

Agents & Manager2026-06-27
モデルを乗り換える前に、エージェントの出力をゴールデンスナップショットで固定する
Antigravity のエンジンが Gemini 3.5 Flash へ切り替わるタイミングで、エージェントの出力が静かに変わってしまう問題を、ゴールデンスナップショットによる回帰ゲートで捕まえる設計を、実際のテストコードと移行手順とともにまとめました。
Agents & Manager2026-06-27
一度きりのプロンプトを、再利用できるサブエージェントに残す
Antigravity 2.0 の dynamic sub-agents で生まれた『うまくいったプロンプト』を、会話履歴に埋もれさせず再利用可能な定義として残す方法を、実際のファイル構成と蒸留手順とともにまとめました。
Agents & Manager2026-06-27
エージェント自動運用が壊れた朝に、何分で戻せるか — 復旧の3層設計
Antigravity 2.0 でデスクトップ・CLI・SDK と運用面が増えるほど、壊れたときに戻す対象も増えます。個人開発で複数サイトを自動運用してきた立場から、認証・定義・状態の3層で復旧可能性を保つ設計と、月1回の復元訓練の手順をまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →