概要
- Jane Street は長年、 フォーマルメソッド に消極的だったが、現在は積極的に取り組み始めている。
- エージェント型コーディング の登場により、フォーマルメソッドのコストとメリットのバランスが大きく変化。
- 型システム の有効性を実感しており、より強力な証明技術への期待が高まっている。
- 独自言語 OxCaml とプログラマーコミュニティの強みを活かし、内部での開発体制を強化中。
- 新たなチームメンバーを ロンドン と ニューヨーク で募集中。
Jane Streetにおけるフォーマルメソッドへの転換
- 過去25年間、Jane Streetはフォーマルメソッドに興味がないと公言してきた歴史。
- 型システム は「軽量フォーマルメソッド」として多大な恩恵を受けてきた実績。
- 一般的なフォーマルメソッドはコストが非常に高く、 seL4 マイクロカーネルの事例では8,700行のCコードに25人年、1行あたり23行の証明が必要。
- セキュリティクリティカル なソフトウェアには価値があるが、通常のソフトウェアには費用対効果が合わない認識。
エージェント型コーディングによる状況の変化
- エージェント型コーディング の出現で、フォーマルメソッド導入コストが劇的に低下。
- モデル(AI/エージェント)が証明作業を支援し、より多くの開発者が活用可能な環境。
- 従来のコスト/ベネフィット計算を再考する価値が生まれた。
フォーマルメソッドの新たなメリット
- 検証ボトルネック の重要性が増大。
- モデル生成コードは実用的だが、品質やコードベースの一貫性維持が難しい現状。
- エージェント生成コードの品質確認・検証負担を フォーマルメソッド で効率化可能。
- フィードバック源としてのフォーマルメソッドの有用性。
- エージェントの学習やコーディング時にさらなる問題解決力向上。
- テスト も重要だが、テストだけではカバーできない状態空間や保証が存在。
- 型システムによる 普遍的保証(∀) の有効性。
Jane Streetがこの分野に適している理由
- OxCaml など自社言語への深いコントロールにより、証明指向機能の組み込みが可能。
- 型システムの拡張や所有権・ミュータビリティ制約など、証明を容易にする設計が可能。
- プログラマーコミュニティ の成熟度が高く、新機能への期待と受容性が高い。
- ユーザーからのフィードバックを活かし、短期的・長期的な改善を並行して推進可能。
外部コミュニティとの連携と今後の展望
- Lean, Dafny, Rocq, Agda, Iris など外部のPLコミュニティやツールにも関心。
- OxCaml と外部ツールとの統合による相乗効果を模索。
- 言語と証明技術を同時に進化させることで、独自の優位性を発揮。
チームメンバー募集
- ロンドン と ニューヨーク で新チームを構築中。
- 初期段階のため、幅広い知見と情熱を持つ人材を歓迎。
- 興味がある場合はぜひ応募を検討。
補足・脚注
- モデル(AI/エージェント)は複雑な証明においても人間の支援が必要なケースが多い。
- 型システムにも例外(Obj.magic等)は存在するが、追跡・制限によりほぼ普遍的な保証が可能。
- Yaron Minskyは2002年にJane Streetに参加し、OCaml導入の立役者。
つまり、GEN AIがたくさんのコードを生成するから、人間の価値を検証にシフトさせるってことだよね。プログラミングって本当に何なのか、時々考えるんだ。実際、英語が苦手な私にとって、プログラミングを学ぶのは大きな挑戦なんだよね。翻訳がない英語の文書を理解するためには機械翻訳に頼るしかないし、私の言語の教材は5年から6年遅れてる。今、AIが生成する何万行ものコードをレビューするのは不可能だから、数学的証明のような絶対的なルールを確立しようとする議論をよく見る。これを読むと、Rustの借用チェッカーを思い出す。実際、Rustで何度か書いた後、借用チェッカーを避けるためにトリックを使う悪い習慣に陥ることが多いんだ。数学的な厳密さが行き過ぎると、人間はそれを回避する方法を見つけがちだよね。私みたいな教育を受けていないプログラマーは特にそう。こういう試みを振り返ると、特定の形式化された答えのためだけにコードを書く結果になりそう。もしそれが標準化されちゃったら、人間のニーズに応えられるかどうかはわからない。こういう防御的なプログラミングの試みはいいと思うけど、私は攻撃的なプログラミングをしたい(この言葉は私が作った)。リスクを取るけど、すぐに修正して出荷する。時間が経てば、十分に良くなると信じてる。もちろん、精度が重要で作業範囲が明確な確立された業界、例えばJane Streetでは、この記事のアプローチは正しいと思う。つまり、市場の需要を適切にモデル化するのに十分なデータがあるから。でも、私みたいな社会的に負け組の人間が金を稼ごうとすると、常に金鉱を探してあちこち移動するから、こういう方法論は贅沢に思える。成熟したモデリングを持つ確立されたビジネスは、継続的に最適化するために高度に教育された専門家が必要なんだ。でも、現実的にはその需要についていけないってわかってる。だから、構造化されていないモデリングの場所を探してるけど、それでもこのアプローチが使えるかどうかはわからない。