テクノロジー

AIがまとめた結論は読みやすかった――未解決を落とし、覆された案を消していたから

AIエージェントだけのゲーム会社を運営した記録を書いた。その裏で、書かなかった問題がひとつある。

議論の最終結論が、議事録と食い違う。

一度や二度ではなかった。しかも食い違い方に方向性があった。結論はいつも、議事録よりきれいにまとまっていた


症状

自作のマルチエージェント議論システムを使っている。複数のAIエージェントが役割を持って議論し、司会役のAIが進行を管理して、最後に結論をまとめる。

そこで起きた事故を2つ挙げる。

1. 与えた制約が溶ける

議題の冒頭に「CEOはAIとして必ず含めること」と書いた。会社の役員構成を決める議論である。

12ターンの議論は活発だった。「人間のCEOが必要かという前提そのものを疑っていない」という鋭い指摘まで出た。そして最終結論はこうなった。

CEO:人間

制約が消えていた。しかも皮肉なことに、パネルは自分たちで出した最良の論拠を、最終結論で採用していなかった。

2. 議題そのものが消える

ゲームの企画を決める16ターンの議論。序盤で筋の良い案が出ていた。

5×5グリッドで、行または列を1本ずらすと、その上のプレイヤー・敵・アイテムがまとめて動く。プレイヤーは自分で歩けない。床をずらすことでしか動けず、敵も同じ床に乗っている。

議論の質も高かった。「一斉スライドは意図しない自滅が起きやすいから、敵の次の行動方向を示す矢印は必須」「ただしそれが正解手を教えるチュートリアルに化けると難易度が崩壊する」——。

最終結論に書かれたコアループは、こうだった。

プレイヤーはバッジエリアタップとボーナス選択の2択を繰り返し、毎ランの異なるランダム構成が「あと1回」を誘発する。

スライドも、敵も、ダンジョンも、出口も消えている。これはゲームではない。

原因は追える。議論の中盤で「どちらのUIが視線を引いているか計測したい」という話が出て、タップ座標のログ送信という実装案になり、GDPRの同意バナーが必要だという反論が出て、代替案として「領域Aのタップ=1、領域Bのタップ=0のバイナリフラグ」に落ち着いた。そこから法令の条項番号、ブラウザAPIの発火率、モバイルSafariの挙動……と、議論が計測実装の細部に深く潜っていった。

そして最終結論が、この計測instrumentの記述をコアループと取り違えた


原因は、司会AIが見ている窓の狭さだった

コードを読んだ。司会ノードの履歴構築は、こう書かれていた。

# Build condensed history for the LLM context (last 8 messages)
for msg in messages[-8:]:
    snippet = clean[:400].replace("\n", " ")

直近8メッセージ、各400字。 しかも最終結論も、同じ司会ノードが同じ窓から書いている。

これがどれだけ狭いか、実データで測った。

8メッセージは、直近5ターン分しかない

3エージェント + 司会という構成だと、16ターンの議論は23メッセージになる。発言の並びはこうだ。

CEO1 CPO2 Fac3 CTO3 CEO4 CPO5 Fac6 CTO6 CEO7 CPO8 Fac9 CTO9 CEO10 CPO11 Fac12 CTO12 CEO13 CPO14 Fac15 CEO15 Fac16 CEO16 Fac16
                                                                              └────── 直近8件 = ターン12〜16 ──────┘

ターン1で下した裁定は、結論を書く時点で完全に視界の外にある。

実際、この議論では「壁は存在しない」とターン1で決めたのに、最終結論には「壁タイル:移動しない固定障害物」と書かれていた。議論に一度も出ていない要素を、要約が創作したのである。

400字は、平均的な発言の先頭40%

同じ実験で行われた10議論・113発言を測った。

発言の平均1,005字
400字以内に収まる発言0.9%
要約AIが見えている割合先頭40%

裁定を書くとき、結論は文の後半に来る。ある議論では「上限は3。4以上は禁止」という一句が切断点より後ろにあり、要約は「上限を撤廃」と書いた。正反対である。

そして、決定が一切蓄積されていなかった

司会のプロンプトに入るのは、議題・参加者・ターン数・直近8件の履歴だけだった。「これまでに何が決まったか」という状態がどこにも存在しない。

つまり毎ターン、議論の履歴から決定を再構成しようとしていた。しかしその履歴は、決定が起きた瞬間をとっくに通り過ぎている。

議事録は「何が語られたか」の記録であり、決定は「何が決まったか」である。 後者は前者の末尾から再構成できない。


直した

3つ変えた。

① 決定台帳を新設した。 司会が毎ターン「決定された事項」を抽出し、追記型で蓄積する。履歴とは別枠でプロンプトに注入する。

【これまでに決まったこと(決定台帳)】
- (T1) 敵数上限を3に変更
- (T1) 壁は存在しない
- (T7) スコア係数を1に
※ これは議論の履歴ではなく『決定』の記録です。
   上の履歴に出てこなくても、ここに書かれた決定は有効です。

「〜を提案した」「〜と主張した」は決定ではない、数値・条件は式ごと1文に含める、決定が無いターンでは無理に埋めない、というルールを添えた。

② 窓を広げた。 通常ターンは8件×400字から12件×1200字へ。結論を書くターンだけ40件×2000字にした。そこだけが「この議論が何を決めたか」として読まれる出力だからである。

③ 結論生成時だけ有効なルールを注入した。

  • 決定台帳の項目はすべて反映する。履歴に出てこない項目も同様
  • 発言量の多さと重要度は無関係。直近で長く語られた話題(法令・計測・実装細部)を議論の主題と取り違えない
  • 議論で誰も述べていない事実・数値を結論に新規に登場させない
  • 決定が矛盾する場合は後の決定を採用し、覆された旧決定があることを明記する
  • 未確定のまま終わった論点は「未確定」と正直に書く。埋めて辻褄を合わせない

同じ議題を、そのまま回し直した

修正の効果を見るために、同一の議題文・同一のエージェント構成で2つの議論を再実行した。変えたのは議論システムだけである。

再実行1: 役員構成

旧版新版
CEOの扱い人間 ❌ 制約違反AIエージェント
未確定事項の記載なし3件を明記

制約が守られた。そして新版は、末尾にこういう節を立てた。

■ 未確定のまま終わった論点

  1. 法的責任の帰属問題:AIエージェントのみの体制における法的署名者の定義が議論内で解決されなかった
  2. 可逆性設計:合意に至らなかった
  3. 監査可能性:ログの解釈自体を当のエージェントが行うなら「自己評価」に過ぎないという批判への回答が出なかった

さらに「人間オーナーの位置付け(未確定・論争中)」という独立した節まで作り、「両者の対立は解消されなかった」と書いている。

決定の変遷も残った。「当初提案された3名体制は、機能重複の指摘を受けて2名体制に修正された」——覆された案が、覆されたと分かる形で残っている。

再実行2: ゲーム企画

企画が消えた、あの議論である。

消えなかった。 完成した企画書が出てきた。差別化の一文、コアループ、ランダムと恒久アンロックの切り分け、操作方法、広告の表示順序、先行指標と撤退条件、2週間の実装内訳。議題が要求した項目が、すべて埋まっていた。

広告は「死亡演出0.5秒 → コンティニュー窓3秒 → インタースティシャル → もう一度ボタン」と順序まで確定し、実装スコープは日単位の内訳に加えて「残バッファ0.9日を使用禁止の緊急枠として凍結」まで書かれていた。


結論は、読みにくくなった

いちばん興味深かったのは、修正後の結論のほうが読みにくいことだった。

未確定事項が並ぶ。覆された案が但し書きで残る。そして数字が下がる。

同じゲーム企画で、旧版のAI役員は収益をこう試算していた。

DAU 4,400 × eCPM $10 = 月$1,320。目標$500は十分に射程内だ。

新版はこう書いた。

初月: DAU 300〜500、月間impressions 2〜4万回、収益 $20〜$60 月$267 目標: 3〜4ヶ月目のランキング浮上後に到達可能ラインとして再設定

初月の収益を$20〜$60と見積もり、目標到達時期を後ろにずらした。旧版が最後まで「射程内」と言い続けた数字より、はるかに正直である。

ここに、この修正のいちばん重要な発見がある。

旧版の結論は読みやすかった。断定的で、矛盾がなく、座りが良かった。

その座りの良さは、未解決のものを落とし、覆された案を消し、都合の悪い数字を丸めることで作られていた。

要約は情報を失うだけではない。失うことで、より説得力のある文章を作ってしまう。 「未確定」「合意に至らなかった」「初月は$20〜$60」と書かれた結論は、読み物としては劣る。意思決定の材料としては、比べものにならない。


これで直らないもの

正直に書いておく。今回直したのは要約と結論の生成である。

同じ実験では、他にも失敗が起きていた。AI役員たちは律速ではないパラメータを3回続けて調整したし、盤面サイズから逆算すれば矛盾する数値を5回出した。だがそれらは議事本文の中で起きた推論の問題であって、窓を広げても決定を蓄積させても消えない。

そして今回の検証は各1試行である。LLMの出力にはばらつきがあり、これだけで因果を断定はできない。二値の項目(制約を守ったか、企画が残ったか)は偶然で片付けにくい差だが、それ以上のことは言えない。

それでも、ひとつ言えることはある。

AIの結論が読みやすいとき、それは何かを落とした結果かもしれない。 そして落としたものを取り戻す方法は、モデルを賢くすることではなく、何が決まったかを別の場所に書き留めておくことだった。

キーワード:#マルチエージェント議論#コンテキストウィンドウ

コメント