AI エージェントに長文記事や連載コンテンツを執筆させる際、「構想や構成案(アウトライン)を詳細に作り込むほど、生成される本文の品質が上がる」と考えがちです。しかし、構想段階で細部を決めすぎると、本文を書く段階で決められることが残らなくなります。

ここでいう 過剰拘束(Over-constraining) とは、構想段階でセリフやプロットの細かな段取りまで指定し、本文生成フェーズの大規模言語モデル(LLM)に残る判断の余地を狭めてしまうことを指します。

自社ブログで運用している技術連載パイプラインにおいて、完結済みの3シリーズ全36話を実測したところ、構造案に書き込んだ8文字以上のセリフ計3,582本のうち、1,138本(31.8%)が一字一句違わず公開本文に残存していました。

以前の記事 では「詳細な構造案に忠実に本文を展開する」設計を推奨していましたが、この実測を見て、その設計を見直しました。構想段階で決めるべき要素を不可逆な「制約と技術」だけに絞り込み、セリフや筋の細部は書く直前まで決めない境界設計へと運用方針を改めました。本稿では、その実測の内訳と、過剰拘束を防ぐための具体的なアーキテクチャ設計について解説します。

構造案のセリフはどれだけ本文に残るのか:実測と、過剰拘束を疑う理由

実測で判明した「セリフ逐語残存率32%」の内訳

連載パイプラインの運用を続ける中で、「本文執筆フェーズのエージェントが、構造案に書かれたセリフに過度に引きずられているのではないか」という懸念が生じました。そこで、完結した3つの連載シリーズを対象に、構造案に含まれるセリフが公開本文にどの程度そのまま流出しているかを検証スクリプトによって機械計測しました。

対象としたのは以下の3シリーズ(全36話)です。構造案(Markdown)から抽出した、鉤括弧で囲まれた8文字以上のセリフ文字列(分母)に対し、公開記事の本文内に完全一致の部分文字列として存在する件数(分子)を集計しました。

シリーズ名話数構造案セリフ総数(分母)本文逐語残存数(分子)逐語残存率
code-carpenter12話901本318本35.3%
code-dispatcher12話1,565本474本30.3%
code-gardener12話1,116本346本31.0%
合計36話3,582本1,138本31.8%(約32%)

どのシリーズにおいても一貫して3割前後のセリフが公開記事にそのまま残っていました。

この数字が表すのは文面の一致率で、本文の品質は別の問題です。問題視したのは、本文の会話のうち少なくとも3割前後が、本文を書く前の構造案の時点で文面まで決まっていたという点です。なお、計測した構造案は方針変更前のもので、識別子やエラーメッセージのように本来残すべき逐語を区別する印がまだ無かったため、そうした文字列も分母・分子から除いていません。その分、残存率は高めに出ている可能性があります。

この計測に用いたスクリプトです。連載リポジトリのルートで python3 に渡して実行します。

# 構造案セリフの公開本文逐語残存率を計測するスクリプト
import glob
import os
import re

def article_for(slug, series):
    for f in glob.glob('content/post/2026/*/*/*.md'):
        t = open(f).read()
        if slug in t[:4000] and series in t[:4000]:
            return t
    return None

tot = hit = 0
rows = []
for series in ['code-carpenter', 'code-dispatcher', 'code-gardener']:
    for s in glob.glob(f'agents/{series}/structure/*.md'):
        slug = os.path.basename(s)[:-3]
        a = article_for(slug, series)
        if not a:
            continue
        q = [x for x in re.findall(r'「([^「」]{8,})」', open(s).read())]
        h = sum(1 for x in q if x in a)
        tot += len(q)
        hit += h
        rows.append((series, slug, len(q), h))

print('total quotes', tot, 'verbatim in article', hit, f'{hit/max(tot,1):.0%}')
print('total episodes:', len(rows))

このスクリプトを実行した記録は以下の通りです。

total quotes 3582 verbatim in article 1138 32%
total episodes: 36

この処理では、各話の構造案から 「...」 形式で8文字以上記述されたセリフを抽出し、対応する公開記事本文に完全一致で含まれるかを判定しています。公開記事との対応付けは、記事の先頭4,000文字に話の識別子とシリーズ名の両方が含まれるかで行っています。前掲の表のシリーズ別の内訳は、同じ集計をシリーズごとに分けて数えたものです。

この実測を受けて方針変更の理由に書いたのは、「先に決めた表現は後の工程で清書されるだけになり、会話がその場の問いと答えから生まれない」という判断です。構造案にセリフがあると、本文を書くモデルはそれを盛り込むべき素材として扱い、直前のやり取りから発言を組み立てる余地が狭まる、と筆者は考えています(実測は文面の一致までで、会話の質は数値にしていません)。

制約が増えると指示追従が崩れるという研究

構造案に細部を書き込むほど本文の自由度が下がる理由として、筆者は次の研究結果が関係していると見ています。

Vasileva (2026) は、同時に課す制約が 5〜6個 を超えると、信頼できる指示追従が崩れると報告しています1。個々の制約の遵守率はゆるやかに下がる一方で、全制約を同時に満たす確率は急落します。論文が挙げる例では、8個の制約で個々の制約を約41%通すモデルが、8個すべてを同時に満たせたのは 5.7% でした。また、文章の構造に関わる制約は、語彙的な制約に比べて、制約を1つ足すごとに失う性能が2倍大きいとされています1。

また、SignalWire (2026) も指摘しているように、プロンプトにエッジケースや細かな対話ルールを詰め込みすぎると、指示同士の衝突が発生し、モデルが硬直して不自然な応答を返すようになります2。プロンプトは目的と最小限の重要ルールに絞り、詳細なロジックは外部機能へ分離すべきです。

加えて、長い入力の中央にある情報を使わなければならないとき、言語モデルの性能が大きく下がることも報告されています(Lost in the Middle / Liu et al., 2023)3。構造案が膨らみ、中盤に大量のセリフや指示が埋もれる状況もこれに近い、と筆者は見ています。

段階的な文章生成において、計画(アウトライン)を立ててから実行するアプローチ自体は、Plan-and-Solve(Wang et al., 2023)4 や中間計画構造の統合(Liang et al., 2024)5 が実証しているように非常に有効です。また、詳細なアウトラインで生成を制御する DOC(Detailed Outline Control / Yang et al., 2022)は、長い物語の筋の一貫性を高めています6。ただし、この詳細化をセリフの文面にまで広げると、執筆工程が計画の清書に近づく、というのが今回の実測から筆者が得た見立てです。

構想段階で決めるものを絞る:制約と技術だけを先に決める境界設計

「不可逆な予防」と「可逆な生成」の切り分け

過剰拘束を防ぐためには、構想段階(パイプライン上流)で確定させる要素と、執筆直前まで決めてはならない要素の境界を明確に分離する必要があります。

社内の設計方針決定およびパイプラインの改訂コミットを通じ、以下の境界設計を導入しました。

ここでの「不可逆」は、後から直そうとすると他の回や章に波及して直しきれないもの、「可逆」はその回の中だけで書き直せるものを指します。

  1. 事前に決めるもの(不可逆・予防): 「制約と技術」
    • 技術的正確性の同値範囲、使用する技法やアルゴリズムの配列
    • 登場人物のペルソナ・視点制約、禁止事項(アンチパターン)
    • 引用すべき公式出典、各章の文量配分目安、記事末の形式
    • これらは連載全体の整合性を保ち、後工程での手戻りを防ぐために早期固定が必須の要素です。
  2. 直前まで決めないもの(可逆・生成): 「セリフ・筋・場面」
    • 登場人物の具体的なセリフ文面
    • 幕内の細かなエピソード展開や場面転換
    • これらは執筆フェーズの直前に、その場の文脈と会話のやり取りから生成させます。

事前に決める対象を「制約と技術」に絞り込み、表現の具体化を執筆直前まで遅らせる。そうすれば、本文を書くモデルがその場の文脈から表現を選ぶ余地が残る、という狙いです。

構造案にはセリフではなく「発話の働き」を書く

この方針変更に伴い、構造案の記述フォーマットをリファクタリングしました。セリフの文面を脚本のように書くことをやめ、その発話がシーン全体で果たす「働き(機能)」のみを指定する方式です。違いを説明用の例で示します。

  • 旧方式(セリフの脚本化): A「おい、この設計だと循環参照が起きるんじゃないか?」
  • 新方式(発話の働きを記述): A が設計上の循環参照の懸念を指摘し、B に解決策を問いかける

新方式では、発話の意図と役割のみが固定され、どのような語彙や言い回しでそれを表現するかは、執筆モデルが前後の対話の流れを踏まえて決定します。

ただし、一言一句の変更が許されない特定要素については例外を設けています。識別子、エラーメッセージ、出典の逐語定義、および連載全体を通じた特定の決め台詞(leitmotif)の4種に限り、明示的な逐語指定タグを付与して厳格に保護しています。

また、各幕(Act)の定義についても、幕内の細かな段取りを指定するのをやめ、読者が「何を知ったか」という 到達点(ゴール) のみで定義するように改めました。これは OpenAI が推論モデルのガイドラインで示している「思考プロセスの細部を指定するのではなく、達成すべき目標や成功条件を指定して推論をモデルに委ねる」という指針とも軌を一にしています7。

構想段階の設計比較

構想段階で詳細アウトラインを作り込む従来のアプローチと、境界を分離して制約と技術のみを先行決定する新アプローチの違いを以下に整理します。

比較項目詳細アウトライン方式(旧設計・DOC型)境界分離方式(新設計・制約先行型)
構想段階で決めるものプロット詳細、場面展開、セリフ文面、技術仕様制約(ペルソナ、禁止事項)と技術仕様のみ
構造案の記述セリフの脚本化、幕内の細かい段取り発話の働き(機能)、各幕の到達点(ゴール)
セリフの決定タイミング執筆の数週間前(構想・設計時)執筆直前(本文執筆プロンプトの展開時)
本文執筆時のモデルの役割構造案に書かれたセリフの清書(なぞり書き)制約の範囲内で、その場の文脈から会話を組み立てる
主な破綻リスク過剰拘束による硬直化、セリフの逐語残存(約32%)登場人物のトーンのブレ(制約が弱い場合)

表の右列は改訂で狙った状態で、この記事の数字が示しているのは左列(改訂前)の残存率です。

メリットの裏にあるトレードオフと適用限界

想定される反論:「セリフや筋を決めないとトーンがブレないか?」

構想段階でセリフや筋を細かく決めないと、「登場人物のキャラクター性やトーンが崩れたり、話が想定外の方向へ脱線したりしないか」という懸念が生じます。

しかし、セリフ文面を直接縛らなくても、上位の制約(ペルソナ設定、同値範囲、禁止事項、各幕の到達点)が十分に機能していれば、文脈の一貫性は保てると考えています。Anthropic (2026) のプロンプト設計の指針も、指示の背景や動機を伝えること、XML タグでプロンプトの要素を分けること、システムプロンプトで役割を与えることを勧めています8。細かなルールを積み上げるより、上位の制約をしっかり敷く方に寄せる、というのが今回の判断です。

適用限界:一言一句の指定が不可欠な領域

一方で、この境界分離アプローチを適用すべきではない領域も存在します。

法令・利用規約の引用、厳密なシステムエラーメッセージの提示、定型化された操作手順マニュアルなど、一言一句の機械的な遵守が求められるケースです。IFEval(Zhou et al., 2023)は「400語以上で書く」のような機械的に検証できる指示(verifiable instructions)で指示追従を評価するベンチマークです9。こうした文言や形式そのものが要件になる場面では、一言一句を指定する方が向いています。

そのため、実務においては「絶対に改変してはならない定型要素のみを明示的に指定し、それ以外の対話や解説は発話の働きに委ねる」というハイブリッドな運用が現実的な解となります。

前提が変われば結論はどう変わるか

モデルのコンテキスト長が 100k〜1M+ トークン規模に拡大し、長時間の思考プロセス(Long CoT)を備えた推論モデルが一般化するにつれて、この境界設計の重要性はどう変化するでしょうか。

言語モデルの推論能力が飛躍的に向上したとしても、自己回帰型モデルの基本構造が変わらない限り、プロンプト内に具体的な文字列(セリフ)が存在すれば、そのトークン確率に引きずられる引力は働き続けると考えられます。むしろモデルの推論力が高まるほど、事前に与えられたセリフを前後の文脈と辻褄が合うように器用に繋ぎ合わせてしまい、不要なセリフが公開本文へ生き残りやすくなる可能性もある、と筆者は見ています。

逆に、構造案の文面を逐語で再現すること自体が目的の文書であれば、この結論は当てはまりません。そうでない段階的生成パイプラインでは、「構想段階で決めすぎず、後から変えると他の回に波及する制約と、その場で決めてよい表現を分ける」という境界設計は、モデルが変わっても見直す価値のある原則だと考えています。

よくある質問(FAQ)

Q1: 構造案からセリフを抜くと、AI が勝手な長話や脱線を始めませんか?

脱線を抑える役目は、セリフではなく各幕の「到達点(読者が何を知ったか)」と「発話の働き」に持たせる、というのが今回の設計です。そのシーンで読者に何を理解させるべきかという到達点と制約を固定し、そこに至る対話の経路はモデルに委ねます。

Q2: 構造案は詳細なままで、プロンプトに「構造案の言葉をそのまま使うな」と指示する対症療法ではダメですか?

この方法は、指示の追加が同時制約の数を増やす方向に働く点で不利だと考えます。Vasileva (2026) は、同時制約が5〜6個を超えると全制約を同時に満たす率が急激に下がると報告しています1。また「詳細な構造案を守れ」と「構造案の言葉をそのまま使うな」は互いに引っ張り合う指示になります。プロンプトに指示を足すより、入力する構造案からセリフ自体を外す方が筋がよい、と筆者は考えています。

まとめ:段階的コンテンツ生成の境界設計原則

AI を活用した長文生成や連載パイプラインにおいて、過剰拘束を防ぎ品質を高めるための判断基準は以下の通りです。

  • 構造案にセリフを書くと、自社連載36話では約3割のセリフが本文に逐語で残った。会話の文面が本文を書く前に決まってしまう割合として、自分のパイプラインでも測る価値がある。
  • 構想段階で決めるべきは不可逆な「制約と技術」のみであり、可逆なセリフや場面展開は本文執筆の直前まで決定を遅らせる。
  • 構造案にはセリフ文面ではなく「発話の働き(機能)」を記述し、逐語指定は識別子やエラー等の特定要素のみに限定する。
  • プロンプトに否定指示を足してエッジケースを塞ごうとせず、入力情報の粒度を落として関心事を分離する。

AI エージェントを活用した長文コンテンツ生成パイプラインの設計、過剰拘束を防ぐプロンプト・アーキテクチャの見直し、AI Operations の導入設計について、ぜひ コンタクトフォーム よりお気軽にご相談ください。

Footnotes

  1. Large Language Models Can Follow Instructions, But Not Many at Once: Phase Transitions in Compositional Constraint Satisfaction Vasileva, M. I.、2026年8月。アブストラクトに、5〜6個を超える同時制約での指示追従の崩壊、8制約で全制約の同時充足が5.7%となる例、構造的制約の劣化が語彙的制約の2倍である点が書かれている。 ↩ ↩2 ↩3

  2. Less Is More: Why Over-Prompting Kills Your AI Agent Kalsey, A.、SignalWire Blog、2026年。過剰プロンプト(500語・10箇条・IF/THEN)による対話麻痺と指示衝突、外部ツールへの責務分離。 ↩

  3. Lost in the Middle: How Language Models Use Long Contexts Liu, N. F., et al.、Transactions of the ACL、2023年7月。multi-document question answering と key-value retrieval で、関連情報が長い入力の中央にあると性能が大きく下がる。 ↩

  4. Plan-and-Solve Prompting: Improving Zero-Shot Chain-of-Thought Reasoning by Large Language Models Wang, L., et al.、2023年5月。段階的生成における計画立案と実行のタスク分解(PS / PS+)。 ↩

  5. Integrating Planning into Single-Turn Long-Form Text Generation Liang, Y., et al.、2024年10月。長文テキスト生成におけるアウトライン等の中間計画構造の統合による構成力向上。 ↩

  6. DOC: Improving Long Story Coherence With Detailed Outline Control Yang, K., Klein, D., Peng, N., & Tian, Y.、2022年12月。detailed outliner と detailed controller の2要素で、詳細なアウトラインに沿って長い物語を生成し、筋の一貫性を高める枠組み。 ↩

  7. Reasoning best practices OpenAI API Documentation、2026年。推論モデルに対するプロセスの過剰指定回避、明確な到達点(ゴール)の指定による自律推論の活用。 ↩

  8. Prompting best practices: System prompts Claude Platform Docs、Anthropic、2026年。指示の背景・動機を伝えること、XML タグ(<instructions>, <example> 等)でプロンプトの要素を分けること、システムプロンプトで役割を与えることの推奨。 ↩

  9. Instruction-Following Evaluation for Large Language Models Zhou, J., et al.、2023年11月。「write in more than 400 words」のような機械的に検証可能な指示(verifiable instructions)による評価ベンチマーク IFEval。 ↩