はじめに
2026年4月2日にリリースされたオンラインゲーム「Tom Clancy's The Division 2」のアップデートで、新たに「パッシブMOD」というビルドシステムが追加されました。3スロットにMODを装着して累積値を操作する仕組みなのですが、スロットの順番で結果が変わる、34種類のMODの組み合わせは35,904通りと、頭の中だけで最適解を出すのは現実的ではありません。
最初は全MODの効果をCSVに落とし込んでAIに渡し、「この条件に合う組み合わせは?」と都度問い合わせるスタイルで運用していました。が、毎回トークンを消費するし何より面倒。「これ、シミュレーターにした方が早くない?」と思い立ち、Claude Code(Anthropic公式のCLIツール)をペアプロ相手にして開発をスタート。結果的に3日で公開し、以下の反響を得ました。
- Reddit r/Division2 で 90+ upvotes
- Google検索トップ表示 + AI概要(AIによる概要)に掲載
- Division 2系YouTuberに紹介動画を作成してもらう
- 公開30分で89ユーザーがアクセス
本記事では、AIとのペアプロでどう開発を進めたか、エンジニアとして何を判断し何をAIに任せたかを振り返ります。
筆者のスペック
- 元SEOエンジニア、現フロントエンドエンジニア
- Division 2は2024年11月末に始めたばかりの新米エージェント
- 本ツールはゲームアップデート解禁(4/2深夜)後、土日と業務時間外を利用して制作しました
技術スタック
| 項目 | 選定 |
|---|---|
| フレームワーク | SvelteKit(adapter-static) |
| ホスティング | 独自ドメイン + レンタルサーバー(FTP) |
| 多言語対応 | 自前i18n(ja/en) |
| 分析 | Google Analytics 4 |
| フィードバック | Google Apps Script → スプレッドシート |
| デプロイ | ftp-deploy(npm) |
なぜSvelteKitか
最初はシンプルなHTML1枚で作りました。が、機能追加(プリセットページ、逆引き検索、更新ログ)を重ねるうちに限界が見え、フレームワーク導入を決断。Vue/NuxtやNext.jsも選択肢にありましたが、静的サイトとしてFTPにデプロイする前提だったため、ビルドサイズが軽量でadapter-staticとの相性が良いSvelteKitを採用しました。Claude Codeにマイグレーションを依頼し、コンポーネント分割、ルーティング、静的書き出しまで一気にやってもらいました。
ここで重要だったのが prerender = true の設定。 過去の経験からSvelteKitでSSR/prerenderを有効にしないとSEOが死ぬことを知っていたので、ここは自分で指示しました。AIは便利ですが、こういう「踏んだことのある地雷」の知識は人間側が持っている必要があります。
開発タイムライン
Day 1(4/6 午後):初版公開
- パッシブMODのデータ定義(34種類)
- 計算エンジン実装(累積値の加減算、ロック、無効化、反転など)
- 3スロットのシミュレーターUI
- FTPデプロイ自動化
AIに任せたこと: UIの骨組み、CSSのダークテーマ、デプロイスクリプト
自分が判断したこと: ゲームUI風のカラースキーム(#141414, #ff6b35など)、MOD計算ロジックの実機検証
Day 2(4/7):機能拡充
- SvelteKitへの移行
- おすすめプリセットページ
- 逆引き検索(ブルートフォース全探索)
- 日英バイリンガル対応
- OGP/Twitterカード設定
- Google Analytics導入
この日が一番AIペアプロの恩恵を感じた日。 SvelteKitの移行、i18nの仕組み構築、35,904通りのブルートフォース検索の実装を1日で完了。手動なら数日かかる作業量です。
Day 3(4/8):実機検証 & 公開告知
- アクティブMODへの影響表示(実機検証済み)
- MOD説明文をゲーム内テキストに準拠して追加
- フィードバックフォーム(GAS連携)
- Reddit・Xへの告知投稿
実機検証はAIにはできない。 アーマー計算式、スキルダメージ計算式、クールダウン計算(90 - 累積値)などはすべてゲーム内で数値を確認して検証しました。AIが出した計算ロジックが正しいか、最終的に判断するのは人間です。
Day 4(4/9):フィードバック対応
- 所持MODフィルター追加(競合ツールを参考に差別化)
- 逆引きの変換タイプをラジオボタンに修正
- 同一結果の重複排除
- meta description追加(SEO改善)
AIとのペアプロで学んだこと
1. AIに「何を作るか」は任せない
Claude Codeは実装が速いですが、何を作るべきかの判断は人間がする必要があります。
- ゲームUIに寄せたデザイン方針 → 自分の判断
- 海外ツールとの差別化戦略 → 自分の判断
- 計算結果の正確性検証 → 実機で自分が確認
2. AIに「どう作るか」は積極的に任せる
一方で、以下はAIに任せて大正解でした。
- SvelteKitのボイラープレート生成
- i18nの仕組み構築(store + localStorage保存)
- 35,904通りのブルートフォース検索ロジック
- レスポンシブCSS
- FTPデプロイスクリプト
3. バグ修正のキャッチボールが速い
「翻訳ボタンが動かない」→ Svelteのリアクティビティ問題を特定 → $: $lang, i = t() パターンで修正。このサイクルが秒単位で回るのはAIペアプロならでは。
4. エンジニアの経験値がAIの出力品質を決める
SEOの知識があったから prerender = true を指示できた。ゲームの知識があったから計算ロジックの誤りを検出できた。RoRやフロントエンドの経験があったからAIの提案の良し悪しを判断できた。
AIは優秀なジュニアエンジニアです。指示が明確なら驚くほど速く正確に動くけど、設計判断やドメイン知識は持っていません。
反響
公開翌日にr/Division2に投稿したところ、90以上のupvoteと多数のポジティブなコメントをいただきました。
"Incredible work agent. Truly incredible."
"I like this. Will come in handy as I play with builds this season."
Redditへの投稿がGoogleのインデックスを劇的に加速させたのは予想外の収穫でした。ちなみに筆者には半年以上あれこれ試行錯誤しても未だにインデックスされない趣味サイトがあります。コンテンツの質やページ数ではなく、ソーシャルシグナルの有無がここまで差を生むのかと痛感しました。
公開3日で検索トップに表示。さらにGoogleの「AIによる概要」にも掲載されました。RedditのURLが被リンク・ソーシャルシグナルとして強力に効いたと思われます。
競合との差別化
公開とほぼ同時期に海外の開発者も類似ツールを公開していましたが、以下の点で差別化できています。
| 自サイト | 競合 | |
|---|---|---|
| 言語 | 日英バイリンガル | 英語のみ |
| ドメイン | 独自ドメイン | github.io |
| 所持MODフィルター | あり(localStorage保存) | あり(保存なし) |
| アクティブMOD影響 | あり(実機検証済み) | なし |
| プリセット | あり | なし |
| 免責事項 | あり | なし |
| フィードバック機能 | あり | なし |
まとめ
-
AIペアプロは「エンジニアの能力を増幅する」ツール。非エンジニアの魔法の杖ではない
-
エンジニアの経験値(SEO、UX、ドメイン知識)がAI活用の品質を左右する
-
ニッチなコミュニティ向けツールでも、SNS(特にReddit)経由でSEOが加速する
-
実装速度が上がることで、ユーザーフィードバック→改善のサイクルが圧倒的に速く回る
-
ゲームのシーズン制により3ヶ月後には仕様変更で使えなくなる可能性が高い。こういう「賞味期限付き」のツールに開発リソースを割けるのは個人開発ならではの強み。AIペアプロで開発コストが下がったからこそ、割り切って作れた
3日間の開発で得られたもの:
Google検索トップ、Reddit 90+ upvotes、YouTube紹介動画、そして何より「コミュニティに喜ばれるツールを作った」という達成感。
AIとのペアプロ、やってみる価値はあると思います。
ツールURL: https://game.ketabawo.asia/division2/mod-simulator.html
※ Tom Clancy's The Division 2 はUbisoft Entertainment / Massive Entertainmentの商標です。