プログラミング言語をAI駆動で開発した
Posted on 2026-06-27
プログラミング言語をAIツールで開発したので、その経緯や現時点の感想を記録する。
自作プログラミング言語
Gobyという言語をAIツールを使って開発した。GobyはAnteやGleamなどの言語の影響を受けた関数型言語になっている。プログラミング言語自体よりは、その開発プロセスをAIにどの程度任せられるかに興味があった。
ちなみに、Gobyという名前は魚のハゼからとっている。GoとRubyには関係ない。
言語の特徴
当初以下を目的として指示した。
- 静的型付き関数型言語
- Algebraic Effectsをサポート
- あまり複雑でない文法
- ツールなどのエコシステムの充実
開発状況
AIツールでの開発で得られる成果と限界は、おおよそ把握できた。 現在は言語のコンセプトを見直している段階で、開発は一旦止まっている。
できたこと
- examplesにあるコードは動いている。
- Advent Of Code 2025のDay 4の問題を解いた。
- toolingにてEmacs, Vim, VSCodeのシンタックスハイライトとVSCode向けのLSPクライアントを実装している
できていないこと
- 少し複雑なコードではエラーになる場合がある
- 配列まわりの動作が不安定である
- 簡単なツールしかなく「ツールなどのエコシステムの充実」には達していない
開発プロセス
本記事の主題は、CodexやClaude CodeなどのAIに開発の大部分を任せたとき、どこまで進められるかである。 やり方としては以下のような開発プロセスをとった。
- まずは言語設計の大枠をAIに伝え、設計書としてドキュメントに書き出してもらうとともに、未決定の論点を書き出してもらう。
- 言語設計から、ベースとなる部分をAIにより開発
- その後は各機能や要件ごとに以下のように開発ステップをSKILLとしてまとめて開発をすすめていく
開発にはCodexとClaude Code両方利用した。(両方一番低価格の有料プランに加入した。) 3について、1つの機能や要件に対して、以下の通りのプロセスをSKILLとして設定した。
- リポジトリ用のワークスペース(リポジトリ外)を設定
- 計画を内部ワークスペースドキュメントに書き出す。
- 計画をレビューする。ここはClaude CodeならCodexにレビューを依頼する、CodexならClaude Codeに依頼するとした。
- レビューの指摘をうけて計画を修正
- 開発をすすめる
- テスト、リントなどの品質ゲートを実行する
- コードレビューをする。ここもClaude CodeならCodexにレビューを依頼する、CodexならClaude Codeに依頼するとした。
- レビューをうけて修正する。
- テスト、リントなどの品質ゲートを実行する
- コードレビューを再度する。ここもClaude CodeならCodexにレビューを依頼する、CodexならClaude Codeに依頼するとした。
- ここでは観点を変えてレビューするような指示をした。
- レビューをうけて修正する。
- テスト、リントなどの品質ゲートを実行する
- commit & push
AIの作業状況は人間も定期的に確認しており、方針に問題がありそうな場合は介入してアプローチや計画を修正させた。 昨今話題のLoop Engineeringのように、勝手にループを繰り返すようにはしていない。
所感
開発をすすめていての現時点の所感を整理する。
うまく進んだ点
- 最小限の機能が動作する状態までは速い。
- 最初のscaffold的な部分や、四則演算が動くところくらいはその日のうちにできた。
- Algebraic Effectsの理解が浅いまま開発を開始したが、結果として自分の理解を深める機会にもなった。
課題
- ある程度開発が進んでくると、変更が保守的になってくる。
- 明示的に長期的な目線での設計をするように、という指示をいれないと局所的なif文追加などに寄りやすい。
- コードベースが増えるにつれ、既存コードの影響が大きくなってくるように感じた。
その他
- 結局何を作らせるかが大事で、指示が曖昧であれば成果物も曖昧になる。Algebraic Effectsの理解が浅いまま設計を指示した部分では、後で問題になることが多かった。