🍣
Clojureが最もトークン効率的な言語であるらしい
1. 背景
LLMを活用したコーディングが主流になりつつある中、コンテキスト長の制限が最大の課題となっている。Alderson氏は、プログラミング言語の選択がトークン効率に大きく影響するかを調査した。
2. 調査方法
| 項目 | 内容 |
|---|---|
| データソース | RosettaCode(同一タスクを多言語で実装) |
| トークナイザー | Xenova/gpt-4 |
| 対象 | 19の主流言語 |
3. 結果
最も効率的な Clojure と最も非効率な C の間に 2.6倍の差
| 傾向 | 言語例 |
|---|---|
| 効率的 | Clojure、Haskell、F# |
| 非効率 | C、Go、C# |

出典 : Which programming languages are most token-efficient? - Martin Alderson
効率性の要因(Alderson氏の考察):
- 動的型付け言語は型宣言が不要なため効率的
- Haskell、F# などの関数型言語は優れた型推論により予想外に効率的
- JavaScript は動的言語の中で最も冗長
4. AIコーディングへの示唆
Alderson氏は、コンテキストの80%がコードで占められる場合、Haskell や F# を使用すれば Go や C# よりも大幅に長い開発セッションが可能だと指摘している。
| メリット | 説明 |
|---|---|
| コスト削減 | 少ないトークンで同等の処理 |
| コンテキスト有効活用 | より多くのコードを含められる |
| 長いセッション | 80%がコードの場合、大幅に延長可能 |
個人的感想
- 知ってた(と言いたい)
- Rubyが案外頑張ってる。LISPに影響を受けていることがここで証明されるとは・・・ (参照: まつもとゆきひろさん、Rubyに影響を与えた言語とRuby開発初期を語る。 ~ RubyKaigi 2013 基調講演 1日目 | gihyo.jp)
Discussion