開発者はClaude Codeエージェントを使用し、単一セッションで42種類のボードゲームにわたる635件の課題を解決しました。

無料のマルチプレイヤーボードゲームプラットフォームを構築する一人の開発者が、Claude Codeエージェントを使用して、42種類の異なるゲームにまたがる数百件のUI/UX問題を、1回の開発セッションで体系的に解決しました。
セットアップ
開発者は、ローカルのSQLiteベースのトラッカーで約800件の問題を管理していました。これには、バックエンドのRustバグ(RustとTypeScript間のフィールド名の不一致など)とフロントエンドの仕上げ作業が含まれていました。例としては、「バックギャモンにドラッグアンドドロップが必要」「ハーツで無効なプレイにカードを暗く表示する必要がある」「将棋にハンディキャップサポートが必要」「スカットにラムシュモードが必要」などがありました。
設定ファイルには以下が含まれていました:
- アーキテクチャルールを含む
CLAUDE.md - アクターモデル、ゲームエンジンパターン、E2Eテストの規約をカバーする
.claude/rules/ファイル
これらのルールは、Claudeが作業を開始するたびに自動的に読み込まれました。
ワークフロー
開発者は4つのエージェントを同時に実行し、それぞれが異なるゲームから単一の問題を処理してファイル競合を防ぎました。エージェントの割り当て例:
- エージェント1:バックギャモンのドラッグアンドドロップを修正(#407)
- エージェント2:ベロート・コインシュのビッドUIを修正(#417)
- エージェント3:ブリスコラのフィールド不一致を修正(#454-457)
- エージェント4:チェスの取った駒の表示を修正(#494)
各エージェントは関連ファイルを読み、修正を実装し、svelte-checkを実行し、問題を解決済みとしてマークし、コミットを行いました。これら4つがバックグラウンドで実行されている間、開発者は完了した修正をレビューし、ビルドエラーを解決してから、次のバッチを開始しました。
うまくいった点
- 「1エージェントにつき1問題、バッチ処理はしない」というアプローチは、1つのエージェントに複数の問題を割り当てるよりも効果的でした
CLAUDE.mdの厳格なルール(any型を使用しない、data-ui属性を使用する、フィールド名の真実の源泉としてバックエンドを使用する)により、一貫したコードが保証されました- ClaudeはRustのゲームエンジンコードとSvelteKit Canvasレンダリングの両方を同等に理解しました
- エージェントはRustの
build_state_message()関数を読み、対応するTypeScriptハンドラーを修正できました - 効果音の実装は成功しました—ClaudeはオーディオファイルなしでWeb Audio APIサウンド(囲碁の木のタップ音、ハーツのカードのスナップ音、バックギャモンのサイコロの転がる音)を合成しました
問題点
- エージェントがRustで新しい
GameRule列挙型バリアントを追加したとき、judge.rsの網羅的なマッチを更新し忘れることがありました - 2つのエージェントが同じ
game.svelte.tsストアファイルを変更したときに、時々マージ競合が発生しました - 一部のエージェントは過剰に設計された解決策を提案しました—20行で十分なところに200行を追加するなど
- トレインドミノのテストが3回壊れました。エージェントが
round_scoresをVec<u32>からVec<Vec<u32>>に変更したが、すべてのテストアサーションを更新しなかったためです
結果
- 1回のセッションで325件のコミット
- 635件の問題が解決(約800件の総数から、すべてのクリティカルおよび高優先度の問題がクリア)
- 42種類の異なるゲームに手を加えました
- ビルドは一貫してエラー0を維持(Rust + フロントエンド)
- すべてのゲームに以下が追加されました:効果音、ボードテーマ、移動履歴、結果画面、該当する場合はドラッグアンドドロップ
学んだ教訓
cargo checkだけでなく、各バッチの後にcargo testを実行すべきでした—コンパイル時には正しい変更でも、実行時の動作を壊すことがありました- 似たパターンを持つゲーム(トリックテイキングカードゲーム、4プレイヤーのNESWレイアウトなど)に対して、各エージェントが車輪の再発明をする前に、共有コンポーネントを最初に作成すべきでした
📖 Read the full source: r/ClaudeAI
👀 See Also

複数のAIエージェントを調整するためのステートマシンアプローチ
ultrathink.artのチームは、複数のAIエージェントを調整するには、従来のメッセージキューではなく、明示的な状態遷移、ハートビートタイムアウト、リトライ制限、タスクチェーンが必要であることを発見しました。彼らは、エージェント間の受け渡し時に品質ゲートを必須化し、低品質な出力を防ぎました。

Opus 4.6とGPT 5.4を使用して、OpenClawのメモリスタック設計をピアレビューする。
ある開発者が、Claude Opus 4.6を使用してOpenClawのための3層メモリスタックを設計し、その後GPT 5.4に設計のピアレビューを依頼しました。このスタックには、メッセージ保存のためのLossless Claw、キーワードマッチングのためのSQLiteハイブリッド検索、セッション間での永続性のためのMem0 Cloudが含まれています。

ローカルLLMで『Slay the Spire 2』エージェントを構築:学びと未解決課題
ある開発者が、KoboldCPP/Ollama経由でQwen3.5-27Bを使用して『Slay the Spire 2』をプレイするエージェントを構築し、状態ベースのツールルーティングやシングルツールモードなどの技術により、約10秒/アクション、約88%のアクション成功率を達成しました。一方で、プロンプトの一貫性やツール呼び出しの信頼性などの未解決問題も特定されています。

バッチAPIは、複数ファイルのコード変更にコスト効果が高い
ある開発者が、Claude SonnetとOpusをバッチ処理に使用して30以上のファイルを修正し、約3,000行のコードを約2ポンドで生成した経験を報告しています。具体的なプロンプトや、コンテンツ収集のためのRepomix、クリーンアップのためのMinimaxなどのツールを使用しました。