現代版トロッコ問題
Tag:Web
これはクソアプリ Advent Calendar 2025 S3 12日目の記事です。
作成したWEBアプリ:現代版トロッコ問題
こちらからプレイできます↑
作成手法
大部分をAIで作成しました。
使った環境
- エディタ:VS Code
- 拡張機能:JetBrains AI Assistant(β版)
- JetBrains がベータ期間ライセンスで各種 LLM を無料提供中
- Claude 4.5 や GPT‑5.1 を無料で呼べてかなり便利
- モード:Chat / Edit / Agent をプルダウンで切り替えできる
→ 使ったのは主に Chat と Edit(Agent は使わず)
- フレームワーク:Vue.js
開発の進め方
1. 最初は Edit モードで「骨組みづくり」
初期段階では 画面とロジックのたたき台 を作るところからスタートしました。
- JetBrains AI Assistant で Edit モード を選択
- 「トロッコ問題の二択画面を作りたい」「こういうテキストとボタンが欲しい」といった要望を文章で記述
- その指示をもとに、AI にファイルを新規作成してもらう
そこから、同じく Edit モードで数回に分けて依頼し、少しずつ形を整えていきました。
2. 手作業で微調整
そこからは、気になる部分や不具合の部分は、コードの目視や Chatモード で聞いて、手作業でエディター上で編集しました。
3. 最終的な構造の整理や機能を足していく
ある程度できてきたところで、再びChat モード と Edit モード 両方を使う形にしていきました。
ここは、
- Chat モードで相談
- 問題なさそうなら Edit モード に切り替えて、相談したコードを反映してもらう
- 出てきた差分は必ず目視チェックしてから採用
という流れです。
手作業 + Chat モード という落ち着きどころ
機能が増えてくる後半は、
- コードは自分で読んで確認
- よくわからない箇所や設計の相談は Chat モード で質問
- 実際の修正は エディタ上で手作業
というスタイルが増えました。
「これ以上大きく自動編集するとバグりそうだから、局所的な変更だけにしておきたい」という気持ちが強くなり、AI への依頼範囲を意識的に小さくしています。
Agent モードを使わなかった理由
Agent モードは「全部お任せ」に近い動きをしてくれますが、
- プロジェクト全体を勝手に触られやすい
- 予想外の変更や不具合が出ることが多い
と感じたため、今回は使っていません。
「AI に丸投げ」より、 自分の理解の範囲内で Chat / Edit を使い分けるくらいの距離感が、一番ストレスが少なかったです。
フレームワークについて
実装そのものは Vue.js のフロントエンドビルド 形式を使っています。
そちらについては、Vue Advent Calendar 2025 の記事で触れています。
アプリについて
トロッコ問題は「多くを救うべきか(功利主義)」と「人を犠牲にしてはならない(義務論)」という、相反する考えを探求する思考実験です。
しかし今回作った現代版トロッコ問題ではどちらが正しいかを考えるのではなく
何を選んでも叩く人がいる
どの立場から見ても必ず不満や批判が出る
最終的には自分が納得できる選択をすべき
ということを形にしてみました。
二人乗りのロバのイラストと同じ主旨ですが、トロッコ問題の形にすることで、そのテーマがより際立つと考えました。
