「少しだけ」を重ねたはずなのに
ChatGPTに文章を渡して、「もう少し短く」「少しやわらかく」「結論を先に」と直してもらう。 一回ごとの注文は小さいのに、何度か繰り返すと、最初に残したかった論点まで薄くなっていることないですか?
一つ前の文章を材料にして次の文章を作れば、修正は積み重なります。 でも、一回の差が小さいことと、最初の文章から見た差が小さいことは、同じでしょうか。
一回分の差だけでは測れない
たとえば、文章Aを少し短くしてBにし、Bを少しやわらかくしてCにしたとします。 AとB、BとCをそれぞれ比べれば、変化はわずかかもしれません。 それでもAとCを比べると、論点の順序、断定の強さ、残された具体例が、同時に変わっていることがあります。
指示追従に失敗し、前の指示が十分に反映されない場合もあります。 ただし、それとは別に、各回の出力を次の入力にすると、逐次編集の構造そのものが基準にしている文章を毎回動かします。 毎回の起点がずれていくので、小さな一歩を足しているつもりでも、出発点から見た位置は思ったより遠くまで来ています。
近くの変化を直線で読む
毎回の変更量が小さくても、元稿から離れるほど「次も同じ感覚で直せる」という見積もりは崩れやすくなります。 この動きをテイラー展開という見方で解釈してみましょう。 テイラー展開は、曲がった関係を、ある地点の近くでは直線や二次曲線で近似する方法です。
ここで、多次元の文章編集を一軸に圧縮した説明用の尺度を $t$ とし、元稿から修正がどれだけ積み上がったかを表すことにします。 残したい論点が文章にどれだけ保たれているかは、仮の指標 $f(t)$ と置きます。 $t$ も $f(t)$ もLLM内部の計算ではなく、反復修正の変化を一方向に沿って読むための説明モデルです。
元稿の地点を $t=0$ とすると、ごく近くでは曲線 $f(t)$ を接線で近似できます。 元稿近傍におけるモデル上の変化率 $f'(0)$ から、次の小さな修正がどちらへ動きそうかを見積もるイメージです。 接線はその地点での傾きしか見ていないので、近くを予想する道具としては優秀でも、遠くまで延ばすと曲線から外れていきます。
修正以外にもある小さな積み重ね
同じ構造は、画像生成で「背景を少し明るく」「人物を少し右へ」と調整するときにも現れます。 一回ごとの変更は小さくても、何回か後には構図や光の向きまで別物になっていることがあります。
会議資料でも、要約、トーン調整、対象読者の変更を順番に頼むと、各工程は局所的には自然でも、最初の目的からは離れ得ます。 数値目標を「少しだけ強気に」と繰り返し盛るうちに、いつのまにか元の前提から外れた計画になる、というのも同じ形です。 短くしたときに何が落ちるかは、要約を別の数学で扱った記事でも試しています。

曲がりを無視できる範囲
一次のテイラー展開を式にすると、次の形になります。
$$ f(t)=f(0)+f'(0)\,t+R(t) $$
$f(0)$ は元稿で論点が保たれている度合い、$f'(0)$ は元稿近傍におけるモデル上の変化率です。 $f'(0)\,t$ までが、元稿での接線をそのまま延ばした予測になります。
$R(t)$ は、直線では拾えなかった曲がりを集めた剰余項です。 $f$ が $0$ と $t$ を結ぶ区間で2階連続微分可能で、すべての $u$ について $|f''(u)|\le M$ なら、$|R(t)|\le (M/2)t^2$ と抑えられます。 同じ近似範囲で $t$ が2倍になると、直線分の $f'(0)\,t$ は2倍ですが、剰余の上限は4倍になる、という差が出ます。 一回分の移動なら目立たなかった曲がりも、修正が積み上がって $t$ が大きくなると、無視しにくくなるわけです。

この式は、ChatGPTが内部で文章をテイラー展開しているという説明ではありません。 「少しだけ」という見積もりが、なぜ現在地の近くでしか当てにならないのかを表すモデルです。 毎回の修正方向が変わる現実の文章編集では、変化はこの一本の曲線よりも複雑になります。 だからこそ、元稿との差を途中で確認する意味が出てきます。 数回ごとに元稿と並べ、残す論点がまだ同じ場所にあるかを確かめれば、ずれを小さいうちに見つけられます。
元稿を基準に戻せるか
反復修正を安定させるなら、一つ前の文章だけでなく、「元稿」「残す論点」「変更してよい箇所」「変更禁止」「差分点検」を毎回の基準に添えます。 たとえば、次の形なら元稿との差を出力後に点検できます。
以下の元稿を基準に改稿してください。
残す論点:A、B、C
変更してよい箇所:語尾、冗長表現、段落順
変更禁止:主張の強さ、数値、具体例
出力後、元稿から失われた論点、追加された主張、意味が弱まった箇所を箇条書きで自己点検してください。
この指定を添えると、動いてしまった現在地だけを頼りにせず、$t=0$ からどれだけ離れたかを確かめられます。
一回ごとの指示を小さくするだけでは、累積したずれは抑えきれません。 元稿との差を測り直す一手を挟めば、「少しだけ」の有効範囲を何度でも設定し直せます。 そうするだけで、ChatGPTとの文章修正を、際限のない伝言ゲームから基準点へ戻れる編集作業に変えられたりするかもしれませんね?
