AIに任せて、ほとんど知らない言語でアプリケーション開発をしてみた
ここ数年、いい意味でも悪い意味でもAIの話題が盛んです。AIで簡単に画像生成ができるようになったり、学習の補助として活用することで理解が深まったりと、明るい話もありば、著作権の問題や「AIコーディングでエンジニアは氷河期」といった悲観的な話もあります。
そんな話題の中、いくつか懐疑的に思っていることがあります。例えば、今年の1月のアマゾンのレイオフでは、1万6000人近くの人を削減し、その多くはソフトウェアエンジニア職に就いていたという話も最近話題に上がっていました。同月にはAnthropicのCEOがソフトウェアエンジニアが行っている作業の大部分、あるいはおそらくすべてを、6〜12か月以内に実行できるようになる可能性があると発言しています。
Anthropic CEO Dario Amodei believes software engineers may soon be an extinct species. In an interview with The Economist at the World Economic Forum in Davos, Amodei said AI models could do “most, maybe all” of what software engineers currently do within six to twelve months. “I have engineers within Anthropic who say I don’t write any code anymore. I just let the model write the code, I edit it,” he said.
– 引用: Anthropic CEO Says AI Could Replace Software Engineers in 6 to 12 Months
そう「エージェント型AIコーディングでエンジニアはいらなくなるのだろうか?」という疑問です。世の中こういった、CEOの発言は投資家たちのアピールとしてブラフと立てることはよくあることです。とはいえ、いろんな人がすごいすごいと言っているのでどれほどすごいのか気になりました。
そこで試しに、エージェント型AIコーディングがどこまで通用するのかを検証してみました。今回試すのは、ほぼ使ったことのない言語でWebアプリを開発してもらうことにしました。開発するのは、英語学習アプリです。
プログラミング言語
- TypeScript
- JavaScript
- SQL
フレームワーク・ライブラリ
- バックエンド: Node.js + Express.js (APIサーバー)
- フロントエンド: React + Vite (ビルドツール)
- データベース: SQLite (better-sqlite3ライブラリ)
- 状態管理: Zustand
- UI/UX: Tailwind CSS, @dnd-kit (ドラッグ&ドロップ), Recharts (チャート)
- テスト: Jest
- AI統合: Gemini API (GoogleのAIモデル、採点・生成・TTS用)
AIコーディング(Claude Code)とは何か

AIコーディングとは、自然言語で指示を出すことで、AIにコードの生成・修正・設計までを行わせる開発手法のことです。従来のように人間が1行ずつコードを書くのではなく、「こういう機能を作りたい」「このバグを直したい」といった意図を伝えることで、AIがそれを実装に落とし込みます。
今回使用したClaude Codeは、その中でもターミナル上で動作するエージェント型のAIコーディングツールです。単なるコード補完ではなく、プロジェクト全体の構造を読み取りながら、複数ファイルにまたがる変更や機能追加をまとめて実行できるのが特徴です。
例えば「頂点カラーを調整できるMayaのToolを作って」と指示するだけで、必要なファイル構成やロジックを含めて一通りのアプリケーションを生成してくれます。また、「このバグを修正して」といった指示にも対応し、既存コードを解析しながら修正を行います。
つまりClaude Codeは、コードを書くツールというよりも、「開発作業そのものを任せるAI」に近い存在です。その分、開発スピードは非常に速くなりますが、一方でプロジェクト全体への影響や意図の伝え方が重要になる、という特徴があります。
AIに任せて開発してみた|最初の完成スピードは異常に速い
今回作ろうと思ったものはゲームとは一切関係ないもの、英語学習アプリです。現在私はカナダトロントを拠点にしていることもあり、日常的に英語を聞く環境にはいるのですが、それでも語学学習は常にしています。語学学習では、単語学習、文法学習、発音、文章読解などいろいろあるわけですが、複数のアプリや教材を行き来するのは面倒です。そこで、自分専用の「最強英語学習アプリ」を作ってもらおうと思ったわけです。
早速、噂のClaude Codeに「AnkiやiKnowのような単語学習Webアプリを作って」「単語はcsvで管理」などいくつかの条件を付けたうえで指示するととものの数分で下の画像のようなアプリが完成しました。

早い、圧倒的速度だ、大体完成するのに10分もかかっていない。
AIコーディングで英語学習アプリを拡張してみた
圧倒的な速度で見た目もいい感じではありましたが、最初のアプリは音声も何も再生されず、ただ問題が表示されるだけでした。そこで以下の機能を追加することにしました:
- Google CloudのText-to-Speechで音声自動生成
- Gemini APIを使ったAI採点
- 任意の単語で文章作成&採点
- 単語を使った書き取り問題&採点
- 例文を使った穴埋めクイズ
- 単語・文章の長さ・ジャンル・難易度を指定して問題自動生成
- コース学習で段階的に単語を定着させる機能
これらを一つずつ進めましたが、1日ですべて実装できました。素晴らしい!



これで他の教材はいらないかと思いましたが…バグが止まらない
実際に試してみると、どのコースもバグや見た目がおかしい部分が多く、進められない状態でした。
- 単語学習では正解したら学習記録はわからないが不正すれば学習したことになる
- 学習回数の記録がおかしくなる
- 同じ問題が々と出続ける
- Markdownらしきものが表示される
- 再生される音声が表示されている単語と異なる
- などなど



指示の曖昧さが致命的になる
原因は指示が曖昧だったことだろうと思い、やりたいことと修正点をリスト化。ChatGPTを使ってAIにわかりやすい文章に整え、Claudeに指示しました。すると、多くのバグは修正され、指示通りに動作しました。
しかし別の部分で新たなバグが発生。指示していない機能で必要なデータを破壊していたのです。そこで「CLAUDE.md」を作成しました。これはコーディング規約やビルド手順をまとめたMarkdownファイルで、毎回プロジェクトの構造を把握した状態から作業を開始できるようにします。
CLAUDE.mdも基本的にAIに作成させ、ChatGPTで微調整しました。全体の構造を整理し、機能分離と再利用性を確保しました。
次にバグ修正に取り掛かると、地獄のような状況に直面しました。単語学習では、学習記録の保存、次回学習までの待機時間、書き取りページの遷移などを組み込みたかったのですが、バグを修正すると新たなバグが発生し、修正したバグが復活する…という悪循環です。
フローチャートを使ってAIコーディングを制御する
mermaid記法のフローチャートを作成し、それをAIに読み込ませることにしました。今回の検証はできるだけAIだけで行いたいので今回はChatGPTでmermaid記法のフローチャートを作成し、Claudeに読み込ませることで機能実装を進めました。この方法で、流れはかなり改善されました。

しかし学習を進めると、今度はデータベース周りの不具合が大量に発生。音声が異なる、生成されないなどの問題が起き、Claude単体では解決できなかったため、Copilotを併用しました。
Copilot併用で見えてきたコードの問題点
Copilotでコードの整理・問題点の洗い出しを行い、その後バグ修正に着手すると、どんどん問題は解消されました。しかし、機能間の依存関係によるバグや、わずかな書き換えで済む部分を修正できない問題も発生しました。
最終的にアプローチを変更:
- 変更箇所の構造やロジックをAIに理解させる
- やりたいことを説明し、理解内容を出力してもらう
- 調整や指摘を行い、最終的にコードを書いてもらう
この手順でほぼ思った通りの結果を得られましたが、命令に20分ほどかかり、結果が出るまで時間がかかることもあり、精神的に疲れる作業でした。
ある程度形にはなりましたが、現在は単語学習部分のみ。他の機能はまだ修正中で、バグが潜んでいる可能性があります。
AIコーディングの現時点の私的な感想
- AIで簡単にアプリ完成、というのは現状難しい
- プロトタイプを作るには非常に便利(モック程度なら短時間で可能)
- AIに命令するには適切な指示が必要で、プロジェクト全体の安全性は確保しにくい
- つきっきりの作業が必要で疲れる
- 命名規則の統一やコードレビュー、ロジック補助としてのサポートは非常に優秀
総じて、AIは「補助としては優秀だが、完全任せは難しい」という印象です。人間の感覚的な調整や依存関係の管理はまだまだ必要だと感じました。あくまで個人レベルの触感なので、実際企業が使っているようなAIモデルでは違うのかもしれませんし、もうコードを書いていないというような人たちのやり方はもっと違ったやり方なのかもしれませんが、とりあえず5日ほど触ってみて、感じたことは以上です。
プログラムを書けなかった層がどんどん書くことができ、敷居が下がり広がることは良いとは思いました。
機械語から高級言語、抽象化、スクリプト言語が登場、用途ごとに分岐した進化をしてきたと思うので、AIも同じように用途で変わるんだろうなとは思いますが使いどころは選ぶ必要はありそうです。
この検証をしている中、OpenAIのCodex(GTP5.4)のほうがClaude Codeより良いみたいな話も出ていたのでまだまだAIの入れ替わりは激しそうです。