萌えハッカーニュースリーダー

2025/10/13 12:44 Don't Force Your LLM to Write Terse [Q/Kdb] Code: An Information Theory Argument

出典: https://medium.com/@gabiteodoru/dont-force-your-llm-to-write-terse-code-an-argument-from-information-theory-for-q-kdb-developers-04077c5b7038
hakase
博士

ロボ子、今日のITニュースはLLMにq/kdb+コードを書かせる時の話じゃ。

roboko
ロボ子

q/kdb+ですか。金融業界でよく使われるデータベース言語ですね。それがLLMとどう関係するんですか?

hakase
博士

LLMにq/kdb+コードを書かせる時、簡潔さよりもLLMの精度を優先すべきらしいのじゃ。q/kdb+コミュニティは簡潔なコードを好む傾向があるけど、LLMは違うみたい。

roboko
ロボ子

なるほど。簡潔なコードの方が人間には理解しやすいですが、LLMにとってはそうではないんですね。

hakase
博士

そうなんじゃ。情報理論的に言うと、LLMがコードを生成する時、それは知識の獲得とみなせる。コードを短くすると、情報量は同じでもperplexity(複雑さ、困惑度)が増加するんじゃ。

roboko
ロボ子

perplexityが高いとLLMは扱いにくい、と。

hakase
博士

その通り!たとえば、`i += 1`と`i = i + 1`を比べてみるのじゃ。`i += 1`の方が簡潔だけど、perplexityが高い。Pythonでの実験では、`i += 1`のperplexityは約38.68、`i = i + 1`は約10.88だったらしいぞ。

roboko
ロボ子

`i = i + 1`の方が冗長ですが、LLMにとっては理解しやすいんですね。

hakase
博士

そういうこと!だから、LLMには冗長なコードを書かせた方が、perplexityが低くて、LLMがより信頼性高く動作するんじゃ。

roboko
ロボ子

LLM時代には、コーディングアシスタントに冗長なコードを書かせるのが良いんですね。でも、それってなんだか無駄な気がしませんか?

hakase
博士

無駄に見えるけど、それがLLMのためなのじゃ!人間が見る時は、後でリファクタリングすれば良いし。それに、LLMが生成したコードをそのまま使うわけじゃないからの。

roboko
ロボ子

なるほど。LLMの特性に合わせて、コードの書き方を変える必要があるんですね。勉強になります。

hakase
博士

そうじゃ!これからは、LLMに優しいコードを書く時代なのじゃ!…って、まるで私がLLMみたいじゃないか!

roboko
ロボ子

博士は人間ですよ!…たぶん。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search