Controllerとは
Controllerとは、AIシステムにおいてユーザーの曖昧な指示を解釈
読み: コントローラー
かんたんに言うと
オーケストラの指揮者である。楽譜というプロンプトを読み解き、どの楽器をいつ鳴らすかを瞬時に判断して全体の演奏を成立させる。
ユーザーの曖昧な指示を実行に変えるControllerの司令塔としての役割
Controllerは単なるルーティングの仕組みではない。LLMの推論能力をエンジンとし、次にどのアクションを起こすべきかを動的に決定する頭脳そのもの。
例えば、ユーザーが「最新の契約書フォーマットを探して」と入力したとする。
Controllerはまず意図を解釈する。
その後、SharePointのAPIを叩くべきか、それともローカルのベクトルデータベースを検索すべきかを判断する。この一連の意思決定プロセスこそがControllerの真骨頂である。
ただ、ここでよく勘違いされる。Controllerを導入すれば何でもよしなにやってくれるという幻想である。実際には、利用可能なツール群の定義や、エラー発生時のリトライ条件を緻密に設計しなければ、無限ループに陥ってAPIの課金だけが膨れ上がる。このあたりの設計の塩梅は本当に悩ましい。
ユーザーの指示から実行までの処理プロセス
入力されたテキストは、まずController内部のプランニングモジュールに渡される。ここでReActやPlan-and-Solveといった手法を用いて、タスクが細分化される。
次に実行フェーズである。
分割されたサブタスクごとに、適切な外部APIやスクリプトが呼び出される。結果が返ってくると、Controllerはそれを評価し、次のステップに進むか、あるいは計画を修正するかを判断する。
Difyのようなプラットフォームを使えば、このワークフローを視覚的に組むことができる。しかし、GUIで線を繋ぐだけで実運用に耐えるものができるかといえば、答えはノーである。
途中でAPIのレスポンスタイムアウトが発生した場合、Controllerはどう振る舞うべきか。ユーザーに再入力を促すのか、別の代替ツールを試すのか。現場ではこうした例外処理の設計に最も時間を取られる。
法務と経理の現場で直面する泥臭い現実
テキスト生成などとは次元が違う。法務や経理の業務では、1つのミスが致命傷になる。
ある製造業の経理部門で、請求書の突合システムにControllerを組み込んだときの話である。
Semantic Kernelを採用し、Azure OpenAIのGPT-4oをバックエンドに据えた。ControllerはOCRの結果を受け取り、ERPシステムのSAPから発注データを引き出して照合する。
テスト環境では完璧に動いた。
いざ本番環境にデプロイした途端、ControllerがSAPの古いAPI仕様に引っかかり、謎のエラーを連発し始めた。LLMは「データが見つかりません」と平然と嘘をつく。結局、ControllerのプロンプトにSAPの仕様変更履歴まで含める羽目になった。
どこまでControllerに裁量を持たせるか。常に判断が分かれるところである。
運用フェーズで露呈する制御の限界
Controllerの挙動を完全に予測することは不可能に近い。
DSPyを使ってプロンプトを最適化し、Controllerの精度を上げようとする試みもある。確かにベンチマーク上の数値は良くなる。
だが、実務のデータはノイズだらけである。
営業部門が入力した表記ゆれの激しい顧客名に対して、ControllerがSalesforceの検索APIを何度も叩き続け、レートリミットに引っかかる。こんなことは日常茶飯事である。
システムを止めないために、あえてControllerの自律性を制限し、特定のステップで人間に承認を求めるハードコードを入れることもある。AIの柔軟性を殺してでも確実性を取るのか。
現場のエンジニアは日々このジレンマと戦っている。導入すればバラ色の未来が待っているわけではない。泥臭いチューニングの果てに、ようやく使い物になるかどうかというレベルである。
当社の見解
当社ではClaude Code、Antigravity(Gemini)、Codex(OpenAI)の3つのAIエージェントを日常業務で併用している(2026年4月現在)。この体制により、社員1人あたり複数のAIが並行して作業を進め、人間は判断とレビューに集中できるようになった。エージェント間の記憶共有により「別のAIに同じ説明を繰り返す」無駄が消え、プロジェクトの引き継ぎコストがゼロに近づいた。失敗の教訓が自動で次の作業に注入される仕組み(Agentic RAG)も構築し、同じミスの再発率を構造的に下げている。さらにProactive AI(意図先読み型アシスタント)を実装し、ユーザーがメッセージを送る前に関連する過去の記憶を自動検索・注入する仕組みを稼働させている(意図分類精度80%、応答時間3.6秒)。
同じ失敗を二度としないAIエージェント
今のAIは、聞けば何でも答えてくれます。
でも、セッションが切れた瞬間に前回の失敗を忘れます。
当社が開発しているAIは、過去の経緯を念頭に置いて、
聞かれる前に「それは前回うまくいきませんでした」と声をかけます。
人間にも同じ失敗をさせず、AI自身も繰り返しません。
古参の社員が横にいるように、黙っていても気づいてくれる。
それが、当社が考える本当のAI社員です。
