コンテンツにスキップ

世界は急速に変化している

En Parlant~ は、Francisco Salgueiro が開発したオープンソースのチェス学習ツール En Croissant のフォークです。私はテキスト読み上げによるナレーション機能を追加しました — 5つのプロバイダー、8つの言語、翻訳されたチェス用語に対応しており、盤面から目を離さずにアノテーションを音声で聞くことができます。私にとっては、チェスの勉強に役立っています。アノテーション付きの棋譜を読み込んで、音声のナレーションを聞きながら一手ずつ進めることができます。これにより、.pgn ファイルと盤面を行ったり来たりするのではなく、盤上で何が起きているかに集中できます。私には役立っていますが、他の方にはそうでないかもしれません。この機能を本家に組み込みたかったのですが、En Croissant が目指す方向性とは異なりました。それがオープンソースというものです。En Croissant がなければ、このプロジェクトは存在しません。

これは、このプロジェクトがどのように構築されたか、そしてなぜ私がそれについて正直に話すのかについてのノートです。

私は1997年5月を覚えている世代です。Deep Blue が Kasparov を破りました。世界中が驚愕し、人間の頭脳はもう時代遅れだと誰もが思いました。Kasparov は怒って立ち去りましたが、チェスを辞めてはいません — その部分はよく省略されます。彼はプレーを続け、マシンが何をしたかを研究し、そしてアドバンスドチェスという概念を考え出しました。強い人間がマシンと組めば、マシン単体に勝てるというものです。彼はこれをセンタウルモデルと呼びました。

あれからほぼ30年、私はAIと共にチェスアプリに機能を追加しています。これが何を意味するのか、立ち止まって考える必要があります。

このフォークは、Anthropic のAIコーディングアシスタントである Claude Code を使って構築されました。Rust のコマンド、React コンポーネント、TTS パイプライン全体。人間とAIのペアプログラミングです。それ以外のふりをするつもりはありません。

AIスロップと共同開発には違いがあります。AIスロップとは「チェスアプリを作って」と入力して、返ってきたものをそのまま出荷することです。これは共同開発です。私が「いや、それは間違っている、理由はこうだ」と言い、AIが「なるほど、でもこのエッジケースはどうだろう」と返してくる。方向性は私が示しました。スピードはAIがもたらしました。

しっかりとした土台の上に構築する

Section titled “しっかりとした土台の上に構築する”

ぜひ考えていただきたいことがあります。Francisco Salgueiro は何年もかけて En Croissant を構築しました。Tauri の癖をデバッグする深夜の作業。Mantine を使った丁寧なUI作り。実際に動くPGNパーサー。エンジン連携、データベース管理、パズルサポート。彼は自分が大切に思うものを作り上げ、それが伝わってきます。彼とチームは何年もかけて難しい判断を下し、フレームワークを学び、何百ものコミットを通じてアーキテクチャを形作りました。AIが追加したものはすべて、その上に乗っています。AIのおかげで私は速く動けましたが、他の人が何年もかけて積み上げたものの上で速く動くことは、彼らがやったことと同じではありません。これをうまく整理する方法は持ち合わせていません。ただ、言及する価値があると思っています。

AIコーディングアシスタントが存在する今、チェスコミュニティはより良いツールを手にしています。「このアプリが手を読み上げてくれたらいいのに」から「数十の言語で手を読み上げる」までのギャップが、何ヶ月もかかるものから週末一つで実現できるようになりました。これは現実です。

そしてこれはあらゆる場所で起きています。開発者チームが必要だったソフトウェアが、一人で作れるようになっています。その一部は素晴らしいことです — 良いアイデアを持ったソロ開発者が実際にリリースできるようになります。一部は不安を感じさせます。構築コストがここまで下がると、良いソフトウェアと悪いソフトウェアを分けるものは何でしょうか?私はそれがセンス、判断力、そして結果を本当に大切にすることだと思います。それらはまだ人間のものです。しかし、この変化が誰にとっても痛みを伴わないとは言いません。

チェスは私にとって心の避難所です。何年もの空白を経てチェスに戻りました。すべてのデバイスを置いて、マシンから離れて、公園で木製の盤の前に座り、64マス、32駒、チェスエンジンなし、アプリなし、自分の頭だけでできることに向き合えるからです。トレーニングにはあらゆるツールを使いますが、いざ対局となれば、そこにいるのは自分だけです。そうあるべきです。そしてそれは良いことです。AIは将来、私たちの代わりに多くの思考をしてくれるでしょう。だからこそ、そういったものすべてから離れられる「メンタルジム」を持っておきたいのです。

何千行ものAI生成コードがあるのに、一切言及していないリポジトリを見たことがあります。理由はわかります — スティグマがあるからです。「AI支援」と聞くと、人々は劣っていると感じます。

しかし本業では、私はエアラインの機長です。39年間飛び続けています。私のコックピットはオートメーションで溢れています — オートパイロット、オートスロットル、フライ・バイ・ワイヤ、GPS、合成視覚装置。誰も私に「本当に」飛行機を操縦しているのかとは聞きません。ツールはスキルを損なうものではありません。スキルのあり方を変えるのです。判断力、状況認識、何も明確でないときに正しい決断を下すこと。その部分は依然として私のものです。

ソフトウェアは、数十年前に航空業界が経験したのと同じ変化を遂げつつあります。手動操縦の純粋主義者は常に存在し、私もその一人です — 私のフライトに乗れば、離陸から着陸まで全て手動で飛ぶ姿を目にするかもしれません。できるからやるのであり、そのスキルが重要だからです。しかし、オートメーションに任せるべき時も分かっています。

このプロジェクトはAI支援で構築されました。これは本当に、立ち止まって考えるべき変曲点です。

このリポジトリには、実際のAIワークフロードキュメントが含まれています — AIが何を知っているか、何を伝えられているか、セッションがどのように機能するか、私がどこに線を引いているか。AI支援開発が実際にどのようなものか興味がある方は、すべてそこに記載されています。

AIを使って構築するなら、それについて正直であるべきです。他の人の成果の上に構築しているなら、そう言うべきです。

1997年に Deep Blue が世界チャンピオンを破り、チェスは衰退しませんでした — むしろ大きくなりました。プレイヤーが増え、研究が深まり、より奥深くなりました。私たちは今、同様の地点にいます。そしてこれはまだ始まりにすぎません。ツールは変わりました。技術と正直さに関する問いは変わっていません。

皆さん、気をつけて。

-Darrell


En Parlant~ は Francisco Salgueiro による En Croissant のフォークであり、Anthropic の Claude Code を使って構築されました。