docs/ja-JP/skills/agent-architecture-audit/SKILL.md
エージェントおよび LLM アプリケーション向けのフルスタック診断。12 層のエージェントスタックにおけるラッパーリグレッション、メモリ汚染、ツール規律の失敗、隠れた修復ループ、レンダリング破損を監査します。重要度順の発見事項とコードファーストの修正を生成します。エージェントアプリケーション、自律ループ、または LLM を活用した機能を構築する開発者に必須です。
npx skillsauth add affaan-m/everything-claude-code agent-architecture-auditInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
ラッパー層、古いメモリ、リトライループ、トランスポート・レンダリングの変異の背後に失敗を隠すエージェントシステムのための診断ワークフロー。
必須の場合:
特に重要な場合:
使用しない場合:
agent-introspection-debugging を使用security-review または security-review/scan を使用agent-eval を使用すべてのエージェントシステムはこれらの層を持ちます。いずれも回答を破壊する可能性があります:
| # | 層 | 問題の内容 | |---|-------|----------------| | 1 | システムプロンプト | 矛盾する指示、指示の肥大化 | | 2 | セッション履歴 | 前のターンからの古いコンテキスト注入 | | 3 | 長期メモリ | セッション間の汚染、新しい会話に古いトピックが混入 | | 4 | 蒸留 | 圧縮されたアーティファクトが疑似事実として再投入 | | 5 | アクティブリコール | コンテキストを無駄にする冗長な再要約層 | | 6 | ツール選択 | 誤ったツールルーティング、モデルが必要なツールをスキップ | | 7 | ツール実行 | ハルシネーションによる実行 — 呼び出したと主張するが実際には呼び出していない | | 8 | ツール解釈 | ツール出力の誤読または無視 | | 9 | 回答整形 | 最終応答でのフォーマット破損 | | 10 | プラットフォームレンダリング | トランスポート層の変異(UI、API、CLI が有効な回答を変異させる) | | 11 | 隠れた修復ループ | サイレントなフォールバック・リトライエージェントが 2 回目の LLM パスを実行 | | 12 | 永続化 | 期限切れの状態またはキャッシュされたアーティファクトがライブエビデンスとして再利用 |
ベースモデルは正しい回答を生成するが、ラッパー層がそれを悪化させる。
症状:
履歴、メモリ検索、または蒸留を通じて古いトピックが新しい会話に漏れる。
症状:
ツールはプロンプトで宣言されているがコードでは強制されていない。モデルがそれをスキップするか実行をハルシネーションする。
症状:
エージェントの内部回答は正しいが、プラットフォーム層が配信中にそれを変異させる。
症状:
明示的なコントラクトなしにサイレントな修復、リトライ、要約、またはリコールエージェントが実行される。
症状:
監査対象を定義する:
コードベースからエビデンスを収集する:
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
各発見事項について文書化する:
デフォルトの修正順序(コードファースト、プロンプトファーストではない):
| レベル | 意味 | アクション |
|-------|---------|--------|
| critical | エージェントが自信を持って誤った操作動作を生成できる | 次のリリース前に修正 |
| high | エージェントが頻繁に正確性や安定性を低下させる | このスプリントで修正 |
| medium | 正確性は通常維持されるが出力が脆弱または無駄 | 次のサイクルで計画 |
| low | 主に見た目または保守性の問題 | バックログ |
発見事項をユーザーにこの順序で提示する:
お世辞や要約から始めないこと。システムが壊れている場合は直接そう述べる。
エージェントシステムを監査する際、以下に答える:
| # | 質問 | Yes の場合 → | |---|----------|----------| | 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 — エージェントハーネスをゼロから構築development
Share durable, inspectable context and handoffs between Claude, Codex, Hermes, Cursor, OpenCode, and other agents through the local ECC Memory Vault. Use when an agent must save work state, transfer context, resume another agent's task, or search shared project knowledge.
development
Use when multiple consumers and providers must evolve an API or event schema without field drift, integration surprises, or one side silently redefining the interface.
tools
Query live GPU inventory, submit an authenticated Itô fixed-rate RFQ, inspect RFQ or procurement status, and run explicitly gated node qualification through the separately installed canonical CLI. Use when a user asks to find H100/H200 capacity, request a fixed compute rate, check Itô compute status, or validate GPU nodes.
data-ai
Instinct-based learning system that observes sessions via hooks, creates atomic instincts with confidence scoring, and evolves them into skills/commands/agents. v2.1 adds project-scoped instincts to prevent cross-project contamination.