はじめに
こんにちは!やまさきです。

本番公開を前にチェックするといろいろ気づくところがあり、時間がかかってしまいました💦
前回のブログでは、Claude Codeを活用し、LaravelでRuby Silver試験対策Webアプリを開発した過程をご紹介しました。
開発そのものは驚くほどスムーズで、AIとの対話を重ねながら短期間でアプリケーションの形を作ることができました。
しかし、実際に利用者へ公開するためには、もう一つ大きな壁がありました。
それは「本番環境で安心して使える品質に仕上げること」です。
AIは短時間でコードを書いてくれます。しかし、そのまま公開できる品質とは限りません。
実際には、
- サーバ環境への対応
- UI・操作性の改善
- 問題データの品質確認
- 利用者からのフィードバック反映
など、多くの工程が必要でした。
実は、AIが高速に作ったものを本番環境で使うには、人間の時間がもう一度必要だったのです。
今回は、本番公開までに取り組んだ改善内容をご紹介します。
ちなみに、本番公開しているWebアプリは以下のリンクから使うことができます。
LaravelからPHPへ書き換え
今回の試験対策アプリは、最初はLaravelで開発しました。
Laravelは開発効率が高く、AIとの相性も非常に良いため、短期間で多くの機能を実装することができました。
しかし、本番環境として利用しているレンタルサーバでは、Laravelをそのまま運用するにはディレクトリ構成やComposerの管理など、運用面でいくつか課題がありました。
今回はよりシンプルな構成で運用できるよう、アプリ全体をPHPのみで動作する形へ移行しました。
単なるコードの置き換えではなく、
- セッション管理
- ルーティング
- データベース処理
- ログイン処理
- 共通テンプレート
などをPHP向けに整理し直しています。
あわせて画面デザインも見直し、
- ボタン配置
- 配色
- スマートフォン表示
- 学習画面の見やすさ
など、実際に学習しやすいUIへ改善しました。
開発よりも、「公開できる形へ整える作業」の方が多くの時間を費やした印象です。
AIが作った問題は、そのままでは公開できない
今回もっとも時間をかけたのは、試験問題の品質確認でした。
Ruby Silverの問題はAIに生成してもらいましたが、実際に確認すると様々な問題が見つかりました。
例えば、
複数の正解が存在する問題
選択肢を確認すると、
- Aも正しい
- Cも正しい
という問題が存在していました。
試験問題として成立しないため、すべて人間が確認し修正しています。
改行や空白による表示崩れ
コード問題では、
def hello
puts "Hello"
end
のように、本来必要なインデントや改行が崩れてしまうケースがありました。
Rubyではインデント以上に改行位置が重要になるため、表示が崩れるだけで問題の意味が変わってしまいます。
HTML表示も含め、一問ずつ確認しました。
同じ答えが重複している
選択肢を見ると、
A. puts
B. print
C. puts
D. p
のように同じ選択肢が並んでいるケースもありました。
人間なら違和感に気付きますが、AIは自然に生成してしまうことがあります。
こうした細かな品質も一つずつ修正しました。
AIは非常に優秀です。
しかし、「動くコードを書く能力」と「試験問題として成立する品質」は別の話です。
皆さんなら、どのレベルまでAIを信頼しますか。
AIと人間、それぞれの役割
今回の開発を振り返ると、作業時間はおおよそ次のようになりました。
AIによる生成 約1時間
別AIによる検証 約1日
人間による確認 約1週間
最初は、「AIが全部作ってくれる」と思っていました。
しかし実際には、人間による確認工程が圧倒的に長くなりました。
今回行った確認内容は、
- Ruby文法の確認
- 正解判定
- 解説内容
- 表示崩れ
- HTMLエスケープ
- UI確認
- スマホ表示
- 学習導線
- 重複問題
- 難易度
- 誤字脱字
- ボタン動作
- データ整合性
など多岐にわたります。
AI同士で相互チェックも行いましたが、それでも最後は人間が判断する必要がありました。
AIは開発速度を劇的に向上させます。
一方で、「品質を保証する責任」は依然として人間が担っています。
今回あらためて感じたのは、AIは開発者の代わりではなく、開発者を支援するパートナーであるということでした。
利用者のフィードバックから改善
公開前には、実際にRuby Silver受験予定者へ試用していただきました。
そこで多くの改善点が見つかりました。
例えば、
- 問題文が読みにくい
- 解説をもっと詳しくしてほしい
- スマホ操作を改善してほしい
- 前の問題へ戻りたい
- 学習履歴を見たい
などです。
こうした意見を一つずつ反映し、実際の利用シーンを意識した改善を進めました。
開発者だけでは気付けない課題は非常に多く、ユーザーの声がアプリを成長させてくれました。
本番公開して見えてきたこと
現在、Ruby Silver試験対策アプリは本番環境で運用を開始しています。
もちろん、まだ完成形ではありません。
実際に利用が始まると、新たな改善点も見えてきています。
特に難しいと感じているのは、「難易度設定」です。
経験者から見ると簡単な問題でも、初学者には難しく感じられることがあります。
逆に、試験直前の受験者には物足りなく感じる問題もあります。
教育現場ではよくある課題ですが、Webアプリでも同じことが起こります。
今後は利用状況を分析しながら、
- 問題の難易度調整
- 問題追加
- 解説強化
などを継続的に行っていく予定です。
今後の展開
今回のアプリは公開して終わりではありません。継続的な改善を前提に運営していきます。
今後はSNSも活用しながら、
- 学習画面
- 新機能紹介
- 合格報告
Threads
- 学習方法
- 教員・受験者との情報交換
- AI開発の裏話
X
- Ruby Silver試験情報
- アップデート情報
- 技術的な改善内容
などを発信していく予定です。
また、利用者の声を取り入れながら、
- 問題数の追加
- 苦手分野分析
- 学習履歴の充実
- 学習効率向上機能
なども実装していきたいと考えています。
最終的には、受験者だけでなく、教育機関や企業研修でも活用できる学習プラットフォームへ発展させることを目標としています。
まとめ
前回の記事では、「AIを活用すれば短時間でWebアプリを開発できる」という可能性をご紹介しました。
そして今回、本番公開まで取り組んだ経験から見えてきたのは、その先にある現実です。
AIは開発スピードを飛躍的に高めてくれます。しかし、品質を保証し、利用者に安心して使っていただけるサービスへ仕上げるためには、人間による確認と改善が欠かせません。
今回の経験を通して、AIは「人間の仕事を奪う存在」ではなく、「人間の力を引き出すパートナー」であることを改めて実感しました。
これからも利用者の声を取り入れながら、Ruby Silver試験対策アプリを継続的に改善し、より多くの方の学習を支援できるサービスへ育てていきたいと考えています。

