ニュース

人間は読めなくて結構。LLMのための超正確なプログラミング言語「Sui」

 LLM(大規模言語モデル)にプログラムを書かせるバイブコーディングの流行を受け、LLM用の効率的なプログラミング言語「Sui」が開発された。

 Suiは、「LLMが100%正確にコードを書ける」ことをコンセプトに作られた、LLMのためのプログラミング言語。名前は漢字の「粋」から取られており、洗練し、無駄を削ぎ落とす美意識に基づいて設計されている。LLMにSuiを覚えさせるためのプロンプトも用意されており、ChatGPTやGeminiなど、主要なチャットボットサービスでSuiによるコーディングを実行可能。また、ブラウザ上で試用可能なWebページも用意されている。

 開発者は、時系列解析AIなどを開発するmellonのCTO本田崇人氏。「人間に合わせて作られた言語を、LLMに書かせる必要があるのか?」という問題提起からSuiが生まれたという。

 本田氏は、現行のプログラミング言語をLLMが利用する際にはさまざまな問題があるとしており、これらを解決するため、Suiに以下の要素を取り入れて設計したという。

  • 1行1命令
    LLMにとってより扱いやすくなるという
  • 変数名は任意の名前でなく連番の数値
    ミスタイプや冗長な命名が発生しなくなる
  • 入れ子構造の回避
    複数種類の括弧(「{」や「[」など)が混じる入れ子構造を避けている
  • 構文エラーの排除
    上記の要素や明示的な制御フローにより、書き間違えの要素を排している
  • 1文字命令
    トークン効率を最大化するため、可読性を無視し文字に命令を割り当てている

 本田氏は自身のX(旧Twitter)アカウントで、機械語やアセンブリ言語ではなく新たな言語の開発に至った理由にも言及。機械語ではダメな理由として、1ビットでも間違えると動作しないバイナリコードの出力を確率モデルであるLLMにやらせるのは不確実性が高いことや、バイナリの羅列をトークンで表現することが難しいことなどを挙げている。アセンブリ言語については、アーキテクチャへの依存性や命令数の多さ、レジスタ制限などが問題になるとしており、「よりLLMにやさしいアセンブリ言語」をイメージしてSuiを開発しているという。

 LLMを念頭に置いて作られているため、人間による使用は想定されておらず、可読性はほとんどない。Suiで書かれたコードの例として、フィボナッチ数列を出力するプログラムが公開されている。

フィボナッチ数列を出力するプログラム

 見ると、アルファベットや数字が羅列されているだけで、何が書かれているのかまったく分からないが、Sui/Python間の翻訳ツール(トランスパイラ)も用意されているため、人間のための記法に直すことも可能。

 現在は、Suiを使用した際の消費トークン数はPythonなどの場合より増加してしまう(Pythonなどの主要な命令は1トークンの単語として登録されているのに対し、Suiの命令はアルファベット+数字の2トークンとしてカウントされるため)ものの、LLMが学習することで同程度になると考えられ、また冗長な命名が行なえない分、効率化が期待できるという。

 SuiのプロジェクトはGitHubでホストされ、MITライセンスのもとに公開されている。今後は数学やユーティリティ関数などを、組み込みではなく標準パッケージとして提供することを目指すとしている。