概要
- Agentic AI は新しいモデル能力ではなく、「LLM+ループ+ツール+状態+停止条件」という新しいソフトウェア形態。
- デモは簡単だが、「ループの信頼性確保」が本質的な課題。
- 本記事はGitHubリポジトリ「Awesome Agentic Patterns」とサイト「agentic-patterns.com」に基づく実践的ガイド。
- 失敗例・課題・パターン を整理し、実運用への橋渡しを解説。
- エージェント失敗 の多くは「ループ設計の失敗」であり、モデルの限界ではない。
Agentic AIとは何か
- Agentic AI は「LLMをループ内で使い、ツール・状態・停止条件を持つ」ソフトウェア形態。
- 本質は「エージェントが状態を観察し、ツールを呼び出し、結果を記録し、終了判断やヘルプ要請を自律的に行う」点。
- デモと本番運用 の間には大きなギャップ(スケール・安全性・コンテキスト管理)が存在。
- パターン化により「制約・テスト・可観測性・安全性」を確保する設計が重要。
- パターン は「プロンプトテクニック」ではなく、制御構造やツール連携、メモリ戦略、安全設計などの具体的アーキテクチャ。
本記事の位置づけ
- 目的 :繰り返し現れるパターンを整理し、実運用での「デモ-to-プロダクションギャップ」を地図化。
- 対象 :GitHubリポジトリ「Awesome Agentic Patterns」とサイト「agentic-patterns.com」のパターンライブラリ。
- 非対象 :
- 「エージェントが全て自動化できる」という主張ではない。
- 全てのパターンが万能・必須・安定とは限らない。
- どんなワークフローにも「エージェントモード」を付ければ速くなるという保証はない。
エージェントが「使い物にならない」と感じたとき
- 現状の手作業ワークフロー (コピペでチャット→戻す)は依然有効なケースも多い。
- 「エージェント的」なワークフローが本領を発揮するのは、次の2習慣を持ったとき:
- Diffファースト :全変更をdiff(PRやパッチ)でレビュー
- ループファースト :エージェントが明確な終了条件付きでループ実行(テスト合格・リンターOK・評価基準達成)
- 30分でできるエージェントワークフロー例 :
- 小さく範囲が明確なタスク選定(例:既知バグのユニットテスト追加、関数リファクタ、依存関係更新)
- 正当性を証明する単一コマンドを指示(npm test/pytest/go testなど)
- スコープ制限(触るファイル指定、無関係なリファクタ禁止、新規ファイルは要相談)
- 明確な計画とチェックポイント必須(5-10ステップで計画提案→承認後編集→新情報で再計画)
- 変更は必ずdiff形式で受け入れ(diff表示・各差分の理由要約・テスト実行)
- 緑(合格)になるまで繰り返し
コスト・限界・エージェントが不要な場面
- エージェント導入は無料ではない。タイピングや検索は減るが、レビュー・調整・安全設計のコストが増加。
- 非推奨ケース :
- 手作業の方が速い
- テストや自動検証がない
- 「done」の定義が曖昧
- 広範な権限が必要で失敗リスクが高い
- 推奨ケース :
- 明確な受け入れ基準を記述できる
- 客観的シグナル(テスト・リンター・コンパイラ・評価)がある
- 定型作業(マイグレーション・ボイラープレート更新・大規模リネーム)
- スコープ(ツール・ファイル・権限)を制限できる
関心の高まり(2025年12月末)
- Awesome Agentic Patterns リポジトリのスター数が2025年末に急増、2026年1月時点で約2,800。
- サイトのトラフィックも同様に増加。
- 単一要因ではなく、Hacker News等での可視化、CLI/IDEツールの成熟、年末年始のまとまった作業時間が重なった結果。
- 結論 :エージェントは「席に座って触る時間」に応じてリターンが増える。学習曲線あり。
公的なシグナル:著名開発者の反応
- Linus Torvalds :AI支援コーディングは趣味プロジェクトで有用だが、Linuxカーネル等の重要インフラでは慎重。
- Tobias Lütke(Shopify) :AI利用は社内の基本期待値。導入・実験のための時間を組織的に確保。
- Armin Ronacher :熱心かつ批判的。特に「まとまった休暇にClaude Codeを試す」ことを推奨。
- Ryan Dahl :人間によるコーディング時代は終わったと発言。コード執筆より判断・設計・監督が本質に。
Agentic Patternとは何か
- エージェント =LLMをループでラップし、状態観察・ツール呼び出し・結果記録・自己判断を行うもの。
- Agentic Pattern =本番運用可能なループ構築のための再利用可能なミニアーキテクチャ。
- デモと本番のギャップ :
- デモは入力選別・権限なし・レート制限なし・障害対応なし
- 本番はスケール・エッジケース・失敗ツール・部分的コンテキスト・セキュリティ・人間のワークフロー・正確性要件
- パターンの要素 :
- 制御構造(ループ・ゲート・停止条件)
- ツールインターフェース
- コンテキスト/メモリ戦略
- 評価・監視手法
- 安全境界
- 収録基準 :
- 再現性:複数実装や一次情報で確認
- エージェント特有:ループの思考・行動・検証方法を変える
- トレース可能:公開記事・論文・リポジトリに紐づく
Agentic Patternの8カテゴリ
-
オーケストレーション&制御
- ループの意思決定・停止・リカバリ方法
- 例:Plan-Then-Execute、Inversion of Control、Swarm Migration、Language Agent Tree Search(LATS)、Tree of Thoughts
-
ツール利用&環境
- システムとの安全なインタラクション
- 例:Progressive Tool Discovery、LLM-Friendly API Design、Egress Lockdown、Code-Over-API
-
コンテキスト&記憶
- コンテキスト制限下での運用・現実との接地
- 例:Curated Code Context、Progressive Disclosure for Large Files、Episodic Memory、Retrieval、Context Window Anxiety Management
-
フィードバックループ
- イテレーションやチェックによる出力品質向上
- 例:Reflection Loop、Coding Agent CI Feedback Loop、Rich Feedback Loops、Graph of Thoughts
-
UX&コラボレーション
- 人間とエージェントの協調・制御分担
- 例:Spectrum of Control、Abstracted Code Representation for Review
-
信頼性&評価
- 正常動作・リグレッション検知
- 例:Workflow Evals with Mocked Tools、Anti-Reward-Hacking、Grader Design
-
学習&適応
- システムの継続的改善
- 例:Skill Library Evolution、Agent Reinforcement Fine-Tuning(Agent RFT)
-
セキュリティ&安全性
- データ漏洩・事故防止
- 例:Lethal Trifecta Threat Model、PII Tokenization、Deterministic Security Scanning
最低限導入すべき4つのパターン
-
Plan-Then-Execute(本番運用向け)
- 問題 :不正な入力やツール出力がエージェントの行動を誘導する危険
- 解決策 :
- Planフェーズ:目標・手順・ツール・制約・「done」チェックを計画し、人間またはポリシーでレビュー
- Executionフェーズ:許可ツールリスト・権限・ファイル境界・レート制限・監査をコントローラで強制
- Replanチェックポイント:想定外出力時は必ず再計画(失敗ではなく機能)
- 非対象 :固定シーケンス生成だけ、全プロンプトインジェクション防止ではない、制約強制がなければ無意味
- 推奨場面 :不正入力を読む・明確な「done」と「許可行動」が定義できるワークフロー
-
Inversion of Control
- 問題 :細かく管理しすぎると人間がボトルネック化し、エージェントの探索性を阻害
- 解決策 :
- 目標・制約・ツール・テスト・レビュー方式(diffファースト)を明示し、中間ステップはエージェント任せ
- 失敗例 :制約なしのInversion of Controlは「暴走エージェント」に。必ずスコープ制限・決定的チェック・レビューゲートとセットで。
-
Reflection Loop(客観的チェック付き)
- 問題 :一発生成は脆い。「自己批評」だけではモデルが合理化してしまう
- 解決策 :
- テスト・リンター・スキーマ検証・コンパイル・評価基準などの客観的シグナルに基づくループ
- 例:for attempt in range(max_iters): draft = generate() results = run_checks(draft) if results.pass: return draft draft = fix_from(results)
- 適用場面 :正確性が重要・チェックを定義できる場面
-
Action Trace Monitoring & Interruption
- 問題 :エージェントの逸脱は最終出力時点では手遅れ
- 解決策 :
- 観測・強制できるものを監視(ツール呼び出し種別・引数、編集ファイル、diffサイズ・リスクレベル、実行テストと出力、中間成果物)
- 明示的な「キルスイッチ」追加(想定外ツール利用時停止、diffがN行超なら停止、禁止ファイル編集で停止、テスト2回連続失敗で停止など)
このパターン群を意識的に使うことで、エージェントの信頼性・安全性・生産性を大幅に高めることが可能。 多くの失敗はモデルの限界ではなく、設計や運用のパターン選択ミスに起因する 点に留意。