AI・機械学習
LLMの出力を人間らしくするのは愚かだ
Humanising LLM Outputs Is Dumb (kuber.studio)
要約
この記事では、LLMの出力を人間らしく、例えば「ADHDのように話す」といった指示で調整することの誤りを指摘しています。これは問題の根本的な解決ではなく、出力を低帯域幅形式に圧縮する際に情報が失われるため、むしろ逆効果だと主張しています。LLMの出力は、最終的な人間への提示段階で初めて人間向けに変換されるべきであり、それまでは可能な限り高忠実度の表現を保つべきだと論じています。これは、データベースやコンパイラなど他のシステムとは逆のアプローチです。
全文翻訳
私にとって、AIツールの文化やセンチメントがどのように変化しているかを知る最大の兆候は、通常X(旧Twitter)、バイラルなGitHubリポジトリ、そしてHacker Newsです。最近よく見かける兆候の一つに、「私はADHDです」のようなスキルや、ASD-STE100(Simplified Technical English)のみで出力を生成するようなAgents.mdの指示があります。その魅力は理解できます。私たち誰もLLMの出力の冗長性や特有の癖を好まないわけですが、それをモデルを人間らしくすることで修正するのは、間違った抽象化だと強く思います。
問題は、これらの指示がモデルが作業を終えた後に適用されるのではなく、同じ作業の一部になるということです。エージェントに短い文を使い、専門用語を避け、決してあなたを圧倒せず、最も重要な詳細のみを含めるように指示する場合、あなたはそれを継続的に低帯域幅形式に圧縮するように求めているのです。その圧縮は可逆ではありません。出力はまだうまく読めるため、何が失われたかに気づかないでしょう。ASD-STEは、非常に妥当に聞こえるため、良い例です。それは人間にとって曖昧さのないドキュメントを作成するために設計されました。しかし、エージェントは人間のテクニカルライターではなく、生の(raw)状態がしばしば利用可能な最も情報密度の高い表現なのです。一方、スタイルルールは、「タスクを解決する」「ツールを正しく使う」「抽象化を維持する」「何も壊さない」といった指示と同じリストに置かれます。
エージェントが他のエージェントと話し始めると、これはさらに奇妙になります。サブエージェントがバグを調査し、その発見を人間が読みやすい要約に変換し、親エージェントがその要約を読み、それをあなたのために別の人間が読みやすい要約に変換します。もしサブエージェントが6つのテストを実行した場合、私は「ほとんどのテストはパスしましたが、調査に値する問題が1つありました」とは望みません。私は「5/6 PASS FAIL: test_cache_invalidation CAUSE: stale key survives restart REPRO: tests/cache_test.py:184」を望みます。
さらに重要なのは、人間化は失敗を隠すということです。エージェントは有用で、醜い方法で失敗します。矛盾する証拠、未解決のブランチ、スタックトレース、不確かな仮定などです。人間の文章は、それらを「ここにはいくつかの考慮事項があります」のような文に滑らかにすることに非常に長けています。それはより良く聞こえます。しかし、私はエージェントが幻覚を見ているか、トークンウィンドウの限界に近いことを知る方が、それに満足するよりも良いです。
私たちが構築する他のすべてのシステムは逆の方法で機能します。データベースは、ダッシュボードが表示する形式でデータを保存しません。コンパイラは、そのIRを読みやすくしません。APIは、フレンドリーな要約を交換しません。私たちは、人間が消費する境界で変換するまで、可能な限り高い忠実度の表現を保持しますが、LLMツールはますますこれを逆に実行しています。
はっきりさせておくと、これらはアクセシビリティやパーソナライゼーションに対する議論ではありません。3行の回答やSimplified Technical Englishが欲しいなら、素晴らしいことです!私はそれを最後に行う方が良いと思います。エージェントには詳細な状態を保持させ、サブエージェントにはスキーマ、差分、正確なエラー、信頼性、出所を交換させましょう。そして、それを私用に圧縮してください。
バイラルなスキルは、実際には正しい未来を示している可能性があると思います。ユーザーはプロンプトレイヤーでこれをパッチしていますが、それはスタックのさらに下にあるべきものです。「ADHDの人みたいに話して」はレンダラーとしては完全に理にかなっていますが、オペレーティング命令としてはあまり意味がありません。永続的なバージョンは、正確でマシン指向の状態をネイティブ言語とするエージェントであり、暖かく、簡潔で、人間的なバージョンは境界でのみ生成されます。したがって、バイラルなリポジトリは最終状態ではなく、バグレポートなのです。