疑似マルチエージェントを強制稼働させるための最適なアプローチ
各ロール(ペルソナ)に情報収集、検証、推敲のタスクを「サボらせず」完全に強制稼働させるためには、単一のSystem Instructionsの更新よりも、**Gemini CLI(またはAPIを活用したエージェントワークフローツール)への移行が技術的に最適(根本解決)**である。
現在のチャットインターフェース(単一のSystem Instructions)が抱える構造的な限界と、それぞれの解決策を客観的な事実に基づき解説する。
1. System Instructions(チャットUI)の構造的限界
チャットUI上で「9つのステップを順に経由せよ」と指示しても、LLM(大規模言語モデル)の構造上、以下の理由からプロセスの省略(サボり)が発生しやすい。
- 単一出力の限界: LLMは「最終的なテキスト(記事)」を一度の処理で生成しようとする。そのため、途中の「検索ツールの起動」「ユーザー代表によるダメ出し」「ライターによる修正」という内部ループを脳内でスキップし、予測確率の高い「それっぽい初稿」をそのまま最終稿として出力してしまう。
- ツールの不確実な起動: System Instructionsで「必ず検索せよ」と強く命令しても、LLMが自身の内部知識(過去の学習データ)で回答可能だと判断した場合、外部ツール(Web検索)の起動プロセスをバイパスする仕様が働く。
2. 推奨策:Gemini CLI / APIによる物理的なワークフロー構築
すべてのロールを強制的に稼働させ、ハルシネーションを完全に排除するには、Gemini CLIやAPI、あるいは外部フレームワーク(CrewAI、LangGraph、Difyなど)を用いて、プロセスを物理的に分割・直列化する必要がある。
構築の具体例(パイプライン化)
プログラミングやCLIスクリプトを用いて、各ロールを「独立したAIエージェント(または個別のAPIコール)」として定義し、バケツリレー方式でタスクを実行させる。
- リサーチャー機能: Gemini CLI(またはGoogle Search Grounding)を呼び出し、指定テーマでウェブ検索を強制実行。結果の「生テキスト」のみを出力・保存する。
- ファクトチェッカー機能: リサーチャーが取得したテキストデータとテーマを新たな入力とし、「このテキスト情報のみをソースとして事実確認を行い、嘘やリンク切れを弾いたリストを作れ」と指示する。
- ライター機能: ファクトチェック済みのデータのみをプロンプトに渡し、初稿を生成させる。
- ユーザー代表&修正機能: 初稿を別のプロンプト(ユーザーペルソナ)に渡し、ダメ出しを出力させる。そのダメ出しと初稿をさらに別のプロンプトに渡し、最終稿を生成させる。
このアプローチであれば、前のロールの出力が完了しない限り次のロールが進めないため、サボりや検索のスキップがシステム上100%不可能になる。
3. 次善策:現在のSystem Instructionsを更新する場合の解決法
もしAPIやCLI環境を構築せず、現在のチャットUI環境のまま限界まで稼働率を上げたい場合は、System Instructionsを「1回で記事を出力させる」設定から、「ユーザーとの対話形式(ステップ・バイ・ステップ)で進める」設定へと更新する必要がある。
更新すべきルールの方向性(分割プロンプト方式)
AIに内部でシミュレーションさせるのではなく、プロセスごとにユーザーに対して出力を要求し、ユーザーの承認(または次の指示)を得てから次のステップに進むようルールを書き換える。
- ステップ1: テーマが与えられたら、まずは記事を書かず、検索ツールを実行した結果の要約と構成案のみを出力して停止する。
- ステップ2: ユーザーが「OK」を出したら、その構成案に対して「ユーザー代表からのダメ出しとファクトチェックの結果」を箇条書きで出力して停止する。
- ステップ3: 再度「OK」が出たら、初めてWordPress用の最終的な記事テキスト(H2/H3、リンク、抜粋、スラッグ等)を出力する。
これにより、AIはステップごとに思考とツール実行を強制されるため、単一出力時の「サボり」を大幅に抑制できる。
