Communitygithub.com

エージェントアーキテクチャ監査

エージェントおよびLLMアプリケーション向けのフルスタック診断です。12層のエージェントスタックを監査し、ラッパー回帰、メモリ汚染、ツール規律違反、隠れた修復ループ、レンダリング破損などを検出します。重大度順に並べられた所見と、コード優先の修正を提供します。

エージェントアーキテクチャ監査 とは?

エージェントアーキテクチャ監査は、エージェントシステムに潜む障害を体系立てて診断するためのワークフロースキルです。このスキルは、システムプロンプト、セッション履歴、長期記憶、ツール実行、レンダリング層など、エージェントスタックを構成する12の層を一つずつ検査し、障害の根本原因を特定します。開発者は、エージェントが予期せぬ動作をしたとき、または新しいラッパー層を追加した後に動作が劣化したときにこの監査を実行できます。監査プロセスはスコープ定義、証拠収集、障害マッピング、修正戦略の4フェーズで構成され、最終的に重大度順にランク付けされた発見事項とコードベースの修正計画を生成します。Claude Code、Cursor、Codexなどの主要なAIエージェントプラットフォームで使用でき、特にプロダクションリリース前や、デバッグに15分以上かかっている場合に有効です。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/agent-architecture-audit

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Agent Architecture Audit (エージェントアーキテクチャ監査)

ラッパー層、古いメモリ、リトライループ、またはトランスポート/レンダリングの変更によって障害が見えにくくなっているエージェントシステム向けの診断ワークフローです。

実行タイミング

必須条件:

  • エージェントまたはLLMを利用したアプリケーションを本番環境にリリースする場合
  • ツール呼び出し、メモリ、またはマルチステップワークフローを含む機能をリリースする場合
  • ラッパー層を追加した後にエージェントの動作が劣化した場合
  • ユーザーから「エージェントが悪化している」「ツールの動作が不安定」との報告があった場合
  • 同じモデルがプレイグラウンドでは正常に動作するが、ラッパー内では異常動作する場合
  • エージェントの動作を15分以上デバッグしても根本原因が特定できない場合

特に重要な場合:

  • 新しいプロンプト層、ツール定義、またはメモリシステムを追加した場合
  • システム内の異なるエージェントの動作に一貫性がない場合
  • モデルは昨日までは問題なかったのに、今日は幻覚を起こしている場合
  • 隠れた修復/リトライループが静かに応答を変更している疑いがある場合

使用すべきでない場合:

  • 一般的なコードデバッグ — agent-introspection-debugging を使用してください
  • コードレビュー — 言語固有のレビューエージェントを使用してください
  • セキュリティスキャン — security-review または security-review/scan を使用してください
  • エージェントパフォーマンスベンチマーク — agent-eval を使用してください
  • 新機能の作成 — 適切なワークフロースキルを使用してください

12層スタック

すべてのエージェントシステムには以下の層があります。どの層でも回答を破損させる可能性があります:

#層問題の内容
1システムプロンプト矛盾する指示、指示の肥大化
2セッション履歴以前のターンからの古いコンテキストの混入
3長期記憶セッションをまたがる汚染、新しい会話への古いトピックの混入
4蒸留圧縮された成果物が疑似事実として再混入
5アクティブリコール冗長な再要約層がコンテキストを浪費
6ツール選択誤ったツールルーティング、モデルが必要なツールをスキップ
7ツール実行幻覚的な実行 — 呼び出しを主張するが実際には実行しない
8ツール解釈ツール出力の誤読または無視
9回答整形最終応答におけるフォーマット破損
10プラットフォームレンダリングトランスポート層での変更(UI、API、CLIが有効な回答を変更)
11隠れた修復ループ静かに動作するフォールバック/リトライエージェントによる2回目のLLMパス
12永続化期限切れの状態、またはライブな証拠として再利用されるキャッシュされた成果物

一般的な障害パターン

1. ラッパー回帰

ベースモデルは正しい回答を生成するが、ラッパー層がそれを悪化させる。

症状:

  • モデルはプレイグラウンドや直接API呼び出しでは正常に動作するが、エージェント内では動作しない
  • 新しいプロンプト層を追加した後、既存の動作が劣化した
  • エージェントは自信満々だが、自信を持って間違っている
  • 「前回のアップデートまでは動いていた」

2. メモリ汚染

履歴、メモリ検索、または蒸留を通じて、古いトピックが新しい会話に漏れ込む。

症状:

  • エージェントが無関係な過去のトピックを持ち出す
  • ユーザーの修正が反映されない(古いメモリが新しい情報を上書きする)
  • 同一セッションの成果物が疑似事実として再混入する
  • メモリが無制限に増加し、時間の経過とともに応答品質が低下する

3. ツール規律違反

ツールがプロンプトで宣言されているが、コードで強制されていない。モデルがツールをスキップしたり、実行を幻覚したりする。

症状:

  • プロンプトに「ツールXを必ず使用すること」とあるが、モデルがそれを呼び出さずに回答する
  • ツールの結果は正しく見えるが、実際には実行されていない
  • 異なるツールが同じ責任をめぐって競合する
  • モデルが不必要なときにツールを使用したり、必要なときにスキップしたりする

4. レンダリング/トランスポート破損

エージェントの内部回答は正しいが、プラットフォーム層が配信中にそれを変更する。

症状:

  • ログには正しい回答が記録されているが、ユーザーには壊れた出力が見える
  • マークダウンレンダリング、JSONパース、またはストリーミングフラグメントが有効な応答を破損する
  • 隠れたフォールバックエージェントが配信前に静かに回答を置き換える
  • ターミナルとUIで出力が異なる

5. 隠れたエージェント層

明示的な契約なしに、サイレント修復、リトライ、要約、またはリコールエージェントが動作する。

症状:

  • 内部生成時とユーザー配信時で出力が異なる
  • 「自動修正」ループがユーザーに知られずに2回目のLLMパスを実行する
  • 複数のエージェントが調整なしに同じ出力を変更する
  • 回答が不可視の層によって「平滑化」または「修正」される

監査ワークフロー

フェーズ1: スコープ

監査対象を定義します:

  • 対象システム — どのエージェントアプリケーションか?
  • エントリポイント — ユーザーはどのように操作するか?
  • モデルスタック — どのLLMとプロバイダーか?
  • 症状 — ユーザーは何を報告しているか?
  • 時間枠 — いつから発生しているか?
  • 監査対象層 — 12層のうちどの層が該当するか?

フェーズ2: 証拠収集

コードベースから証拠を収集します:

  • ソースコード — エージェントループ、ツールルーター、メモリアドミッション、プロンプトアセンブリ
  • ログ — 過去のセッショントレース、ツール呼び出し記録
  • 設定 — プロンプトテンプレート、ツールスキーマ、プロバイダー設定
  • メモリファイル — SOP、ナレッジベース、セッションアーカイブ

rg を使用してアンチパターンを検索します:

# ツール要件がコードではなくプロンプトテキストでのみ表現されている
rg "must.*tool|必須.*工具|required.*call" --type md

# 検証なしのツール実行
rg "tool_call|toolCall|tool_use" --type py --type ts

# メインのエージェントループ外の隠れたLLM呼び出し
rg "completion|chat\.create|messages\.create|llm\.invoke"

# ユーザー修正優先順位なしのメモリアドミッション
rg "memory.*admit|long.*term.*update|persist.*memory" --type py --type ts

# 追加のLLM呼び出しを実行するフォールバックループ
rg "fallback|retry.*llm|repair.*prompt|re-?prompt" --type py --type ts

# 静かな出力変更
rg "mutate|rewrite.*response|transform.*output|shap" --type py --type ts

フェーズ3: 障害マッピング

各発見事項について、以下を文書化します:

  • 症状 — ユーザーに何が見えるか
  • メカニズム — ラッパーがどのようにそれを引き起こすか
  • ソース層 — 12層のうちどれか
  • 根本原因 — 最も深い原因
  • 証拠 — ファイル:行 または ログ:行 の参照
  • 確信度 — 0.0 から 1.0

フェーズ4: 修正戦略

デフォルトの修正順序(プロンプト優先ではなく、コード優先):

  1. ツール要件をコードでゲートする — プロンプトテキストだけでなく、コードで強制する
  2. 隠れた修復エージェントを削除または制限する — フォールバックを明示的な契約とする
  3. コンテキストの重複を減らす — 同じ情報をプロンプト+履歴+メモリ+蒸溜で持たない
  4. メモリアドミッションを厳格化する — ユーザー修正 > エージェントの主張
  5. 蒸留トリガーを厳格化する — 圧縮すべきでないものを圧縮しない
  6. レンダリングの変更を減らす — 変換せずにパススルーする
  7. 型付きJSONエンベロープに変換する — 自由形式の散文ではなく、構造化された内部フロー

重大度モデル

レベル意味アクション
criticalエージェントが自信を持って誤った運用上の振る舞いを生成する可能性がある次のリリース前に修正
highエージェントが頻繁に正確性や安定性を低下させる今スプリントで修正
medium正確性は通常維持されるが、出力が脆弱または無駄が多い次のサイクルで計画
lowほとんどが外観上または保守性の問題バックログ

出力形式

所見を以下の順序でユーザーに提示します:

  1. 重大度順の所見(最も重大なものから順に)
  2. アーキテクチャ診断(どの層が何を破損したか、そしてその理由)
  3. 順序付き修正計画(プロンプト優先ではなく、コード優先)

賛辞や要約で始めないでください。システムが壊れている場合は、直接そのように述べてください。

クイック診断質問

エージェントシステムを監査する際は、以下の質問に答えてください:

#質問はいの場合 →
1モデルは必要なツールをスキップして回答できますか?ツールがコードでゲートされていない
2古い会話の内容が新しいターンに出現しますか?メモリ汚染
3同じ情報がシステムプロンプトとメモリと履歴にありますか?コンテキストの重複
4プラットフォームは配信前に2回目のLLMパスを実行しますか?隠れた修復ループ
5内部生成時とユーザー配信時で出力が異なりますか?レンダリング破損
6「ツールXを必ず使用」というルールがプロンプトテキストのみにありますか?ツール規律違反
7エージェント自身の独白が永続メモリになりますか?メモリ汚染

避けるべきアンチパターン

  • ラッパー層の回帰を反証する前にモデルを非難するのは避けてください。
  • 汚染経路を示さずにメモリを非難するのは避けてください。
  • 現在の状態がきれいだからといって、過去の汚いインシデントを消し去らないでください。
  • マークダウンの散文を信頼できる内部プロトコルとして扱わないでください。
  • コードが決して強制しない場合に、プロンプトテキストの「必ずツールを使用」を受け入れないでください。
  • 所見は直接的で、証拠に基づき、重大度順にランク付けしてください。

レポートスキーマ

監査は以下の構造に従った構造化レポートを生成する必要があります:

{
  "schema_version": "ecc.agent-architecture-audit.report.v1",
  "executive_verdict": {
    "overall_health": "high_risk",
    "primary_failure_mode": "string",
    "most_urgent_fix": "string"
  },
  "scope": {
    "target_name": "string",
    "model_stack": ["string"],
    "layers_to_audit": ["string"]
  },
  "findings": [
    {
      "severity": "critical|high|medium|low",
      "title": "string",
      "mechanism": "string",
      "source_layer": "string",
      "root_cause": "string",
      "evidence_refs": ["file:line"],
      "confidence": 0.0,
      "recommended_fix": "string"
    }
  ],
  "ordered_fix_plan": [
    { "order": 1, "goal": "string", "why_now": "string", "expected_effect": "string" }
  ]
}

関連スキル

  • agent-introspection-debugging — エージェントのランタイム障害(ループ、タイムアウト、状態エラー)をデバッグ
  • agent-eval — エージェントのパフォーマンスを直接比較ベンチマーク
  • security-review — コードと設定のセキュリティ監査
  • autonomous-agent-harness — 自律エージェント運用のセットアップ
  • agent-harness-construction — エージェントハーネスをゼロから構築

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

api-connector-builder

Build a new API connector or provider by matching the target repo

関連スキル