HN 日本語サマリー

← 一覧へ戻る
AI・機械学習

累積編集(Accretive Editing)

Accretive Editing (justindfuller.com)

13 pointsby iamjfu5 コメント

要約

AIツールにおける「累積編集」とは、既存の情報を修正するのではなく、古い情報を残したまま新しい情報を追記してしまう失敗モードのことです。例えば、Amazon Bedrockのサポートを削除してLiteLLMを追加した場合、AIは「LiteLLMをサポートするが、Amazon Bedrockはもはやサポートしない」と追記する形で情報を更新します。この問題は、単に「短く書く」といった指示では解決せず、AIに古い情報を削除して正確な情報に置き換えるよう指示することが効果的です。

全文翻訳

累積編集は、現在のAIツールの失敗モードです。おそらく皆さんも経験したことがあるでしょう。 累積編集とは何か? 既存のテキストがあるとします。そのテキストがもはや正確でなくなったため、何かが変更されました。AIベースのツールに更新を依頼すると、テキストを修正するのではなく、括弧書きやその他の追加情報として追記します。 これが私に昨日起こった実例です。 私は次のようなテキストを持っていました。「このプロジェクトはAmazon Bedrockで認証できます。」 更新中に、Amazon Bedrockのサポートを削除し、LiteLLMのサポートを追加しました。 Claudeはテキストを次のように更新しました。「このプロジェクトはLiteLLMで認証できますが、Amazon Bedrockはもはやサポートしません。」 明確にしておくと、あるプロバイダーのサポートを削除して別のプロバイダーに置き換えるような大きな更新があった場合、それを伝えたいと思うでしょう。しかし、その情報をドキュメント全体に追記として散りばめるのは明らかに間違った方法です。 代わりに、変更履歴(changelog)、発表、あるいはドキュメントの目立つ場所に注意書き(callout)を掲載するのが良いでしょう。 それらのいずれかを行う代わりに(そして時にはそれらに加えて)、AIツールは累積編集を使用します。それは、もはや関連性のない以前の情報を保持し、新しい情報に付け加えます。 残念ながら、これは「短く書く」ようにモデルに指示しても修正できるものではありません。それは単に、簡潔な累積編集をもたらすだけです。「このプロジェクトはLiteLLMで認証できます。Amazon Bedrockは使用しません。」 スタイルで修正できるものでもありません。「文末に装飾的な言葉遣いを避ける」ように指示しても、累積は新しい文に移動するだけです。「このプロジェクトはLiteLLMで認証できます。Amazon Bedrockはもはや使用しません。」 なぜか? 大規模言語モデルの性質上、なぜこれが起こるのか私たちは知らず、おそらく知ることもできません。しかし、喜んで推測します。 人が文書を書くとき、それは他の人のために書いています。彼らは、人間が文書の履歴に関心がないことを理解しています。彼らはその中の情報に関心があります。そのため、文書を更新するとき、時代遅れの記述を削除して書き直します。彼らの焦点は、読者にとって文書が真実であるようにすることです。 LLMにはこの視点がありません。代わりに、2つの入力(古い情報と新しい指示)を持ち、次に何が来る可能性が最も高いかを予測する必要があります。「LiteLLM」と「Bedrock」が単独で「LiteLLM」を生成することはめったにないため、両方を出力します。 修正 私の目標は問題を特定することです。改善はできましたが、完全に止めることはできていません。これはより深いアーキテクチャの問題である可能性があります。 AIに関するほとんどの問題で、私は、やらないように指示するよりも、やるべきことを指示する方が効果的だと気づきました。そのため、指示に次のようなものを追加することは推奨しません。「累積編集を避けてください。変更を加えるときは、古い情報を新しい情報に付け加えないでください。」 代わりに、文書を更新することについてどのように考えるべきかを説明することに焦点を当ててください。 散文を更新する際は、時代遅れのテキストを保持して修正を追加するのではなく、正確なテキストで置き換えてください。最終的な文書は、最初から正しく書かれたかのように読めるべきです。 これで、AIの入力は3つの部分になります:古い(時代遅れの)、新しい、そして「古いものを削除する」という指示です。