TL;DR

LLMが複数の仕様(自然言語、形式言語、自然化形式言語、入出力例)に矛盾する指示を与えられたとき、どれを優先するかを体系的に測るフレームワークを提案。数学ベンチマーク(550件)で、形式言語と自然化形式言語が自然言語や例より優先される傾向を確認。モデルやタスクによって例の影響は変わる。

解説

AMI HAPPY

ねえ智也くん、この論文のタイトル、『LLMは仕様の表現形式にどう反応する?』って面白そう!でも、仕様って何?

TOMOYA NEUTRAL

ああ、ソフトウェア開発で「こう動いてほしい」って指示を書いたものだよ。自然言語で書いたり、形式言語で書いたり、いろんな書き方があるんだ。

AMI CURIOUS

なるほど。で、この論文は何を調べたの?

TOMOYA NEUTRAL

LLMに複数の仕様を矛盾させて与えたとき、どれを優先するかを調べたんだ。例えば、自然言語で「Aをしろ」、形式言語で「Bをしろ」って書いてあったら、どっちに従うかってこと。

AMI SURPRISED

へえ、それって面白いね。でも、なんでそんなことを調べる必要があるの?

TOMOYA NEUTRAL

LLMをコード生成や仕様書の処理に使うとき、どの形式を信頼していいか分からないと困るだろ。優先順位が分かれば、安全に使えるようになる。

AMI CURIOUS

なるほどね。で、どうやって調べたの?

TOMOYA NEUTRAL

数学ベンチマークを550件用意して、それぞれに自然言語、形式言語、自然化形式言語、入出力例の4種類の仕様を矛盾させて与えたんだ。

AMI CURIOUS

自然化形式言語って何?

TOMOYA NEUTRAL

自然言語っぽいけど、構造が決まっている言語だよ。例えば、日本語で「もし〜ならば、〜する」みたいに書くけど、文法が厳密に決まってる感じ。

AMI CURIOUS

ふむふむ。で、結果はどうだったの?

TOMOYA NEUTRAL

全体的に、形式言語と自然化形式言語が自然言語や入出力例より優先される傾向があったよ。

AMI SURPRISED

へえ、やっぱり厳密な書き方の方が強いんだね。でも、入出力例はどうなの?

TOMOYA NEUTRAL

モデルやタスクによって影響が変わったんだ。例えば、あるモデルでは例を重視するけど、別のモデルでは無視する、みたいな。

AMI HAPPY

それって、モデルによって性格が違うってこと?

TOMOYA NEUTRAL

まあ、そう言えるかもね。でも、この研究の意義は、そういう違いを体系的に測れるフレームワークを提案したことにあるんだ。

AMI CURIOUS

なるほど。でも、限界とかはあるの?

TOMOYA NEUTRAL

数学ベンチマークだけだから、他の分野に適用できるかは分からない。あと、矛盾のさせ方によって結果が変わる可能性もある。

AMI HAPPY

そっか。でも、これからLLMを使うときに、どの指示を信じればいいか分かるのは便利だね。

TOMOYA NEUTRAL

そうだね。ただ、まだ研究段階だから、実用には注意が必要だけど。

AMI HAPPY

でも、もしLLMが形式言語を優先するなら、私は全部形式言語で書けばいいんだね!…って、私が書けるかどうかは別問題だけど。

TOMOYA NEUTRAL

はは、それならまず形式言語の勉強から始めたほうがいいよ。