Install any skill in seconds. Free to start, no credit card required.
Get Started Free →エージェントおよび LLM アプリケーション向けのフルスタック診断。12 層のエージェントスタックにおけるラッパーリグレッション、メモリ汚染、ツール規律の失敗、隠れた修復ループ、レンダリング破損を監査します。重要度順の発見事項とコードファーストの修正を生成します。エージェントアプリケーション、自律ループ、または LLM を活用した機能を構築する開発者に必須です。
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 60% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 102% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 193% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 79% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 302% | 0% |
ラッパー層、古いメモリ、リトライループ、トランスポート・レンダリングの変異の背後に失敗を隠すエージェントシステムのための診断ワークフロー。
必須の場合:
特に重要な場合:
使用しない場合:
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 を使用してアンチパターンを検索する:
bash# プロンプトテキストのみで表現されたツール要件(コードでなく) 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 | エージェント自身のモノローグが永続メモリになり得るか? | メモリポイズニング |
監査はこの形状に従った構造化されたレポートを生成すべきです:
json{ "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 — エージェントハーネスをゼロから構築Other measured skills in the registry, with their headline benchmark lift.