Gemini-Human-Cline 三位一体による自律ロボット開発フレームワーク
R2R2Rのような高度なプロジェクトを、今の「Clineに丸投げ」スタイルで続けると、コストばかりが膨らみ、成果物が「継ぎ接ぎのスパゲッティコード」になってしまいます(現在のタスクを進めていく中でもトラブルが多くなってしまっています)
事業化を見据えた、Gemini(戦略立案)・自分(意思決定者)・Cline(作業員)の役割分担と線引き案をまとめました。
※注釈:デジタルツイン学習(R2R2R)の検証プロセス 本プロジェクトは、AIの判断を物理的動作へ変換する設計を検証するものです。現実空間をデジタルツイン化し、仮想空間での大量試行(Real-to-Render)から得た最適解を、実世界のモーター駆動(to-Real)へ還元する「R2R2Rパイプライン」の実装過程を記録・考察します。
三者の役割分担と線引き案
Gemini(戦略立案・設計者)
Clineに直接コードを書かせる前に、「何を作るか」の設計図を確定させる役割です。
役割: アーキテクチャ設計、タスクの細分化、Clineへの指示書(プロンプト)作成。
自分のメリット: Clineの試行錯誤(=コスト)を減らす。
線引き: 「どう実装するか」の論理構成はGeminiが担当し、Clineには「完成した設計図」だけを渡す。
自分(CEO・意思決定者)
最終的な「Yes/No」の判断と、Unityエディタ上での実作業を担当します。
役割: Clineが作ったコードの動作確認、Inspector上での設定(Stiffness等)、バージョン管理のトリガー。
線引き: Clineに「削除」を任せず、不要なスクリプトの無効化や削除はあなたが行う。これにより、Clineの誤消去を防ぐ。
3. Cline(実装作業員・エンジニア)
指示された「特定の小さなタスク」だけをこなすコード生成機として扱います。
役割: 具体的なC#クラスの記述、数学的な計算ロジック(リターゲティング等)の実装。
線引き: 「全体の把握」はさせない。1つのプロンプトで1つのスクリプト、または1つの機能修正だけを担当させる。
課題への具体的な対策
判断できない問題への対策
Clineは「今あるものが古いか」を判断できません。
対策: 指示を出す前に、不要なコンポーネントをRemoveし、「綺麗な状態のシーン」をClineに見せてから作業を開始させる。
コスト高問題への対策
Cline(Claude 3.5 Sonnet等)はトークン消費が激しいため、思考ループに入ると一気にコストが跳ね上がります。
対策: Geminiにプロンプトを練らせ、Clineには「一発で正解を書ける状態」で指示を出す。また、Clineの連続稼働を3〜5往復で一度切り、状況を整理する。
バージョン管理問題への対策
Clineには現在のファイルを上書きする能力しかありません。
対策
手動バックアップ: 重要な機能が動いたら、プロジェクトフォルダを丸ごとコピーするか、Unityの「Export Package」で保存する。
GitHubの活用: Clineに「Gitのコミットメッセージ」を書かせ、Gitツール(SourceTree等)でコミットする癖をつける。
気になるポイントを補足
Unityの「Export Package」は、特定のアセットや機能を「部品」として配布・バックアップするには便利ですが、プロジェクト全体の履歴を管理する「バージョン管理」としては、いくつかの弱点があります。
それぞれの特徴を比較して、R2R2R事業に最適な構成を整理しました。
Unityパッケージ (.unitypackage) の特徴
「今の動いている状態をとりあえず固めておく」という簡易バックアップには向いています。
メリット
ファイル1つにまとまるため、別の新規プロジェクトへ機能を移し替えるのが非常に簡単です。
デメリット
「いつ、何を、なぜ変えたか」の履歴が追えません。
ファイルサイズが大きくなりがちで、過去のどのパッケージが最新か混乱しやすいです。
Libraryフォルダなどの設定が含まれないため、インポート時に設定が外れるリスクがあります。
Git (GitHub等) による管理の特徴
開発現場で「確実」とされている手法で管理します。
メリット
行単位の履歴: コードの1行を誰がいつ変えたか全て記録されます。
ブランチ機能: 「今の安定版」を残したまま、「新機能の実験」を別枠で進め、成功したら合体させることができます。
復元力: 「昨日の15時の状態に戻す」といった操作が数クリックで可能です。
デメリット
Unity特有の「Metaファイル」や「大容量ファイル(LFS)」の扱いに少し慣れが必要です。
ハイブリッド管理術
Clineとの作業コストを抑えつつ、安全性を確保するための運用案です。
日常のバックアップ(自分): 大きな区切り(例:週末作業終了時)で、プロジェクトフォルダをまるごと 20260220_R2R2R_Day1_Fixed のように名前をつけてZIP圧縮してクラウド(Google Drive)に保存。これが最も原始的ですが、Clineに壊された時の「復元」には一番効きます。
コードの履歴(Git): GitHubのプライベートリポジトリを作成し、Clineに「今の修正内容をコミットメッセージとして書いて」と指示。あなたがそれをGitツール(GitHub Desktop等)でコミットする。
部品の配布(Export Package): 「完璧に動くようになった1号機のプレハブ」だけをパッケージ化して保存。
今後の役割分担への適用
Geminiの助言: Gitの
.gitignore(管理除外リスト)の設定を教えてとGeminiに聞き、Clineに設定させる。Clineの作業: 現在の変更点をGitにコミットできる形式で要約してとClineに言わせる。
自分の判断: 実際に「コミット(保存)」ボタンを押すのは自分。
バックアップ・バージョン管理
事業として継続させる以上、Clineの「暴走」や「上書き」でプロジェクトが全壊するリスクは、単なる手間の問題ではなく「経営リスク」そのものです。
ZIP保存や Git だけでは、実は「Unity特有のメタデータ破壊」や「プレハブの依存関係の断絶」を完全には防げません。
事業継続性を担保するために、より強固で「プロの現場」に近い、「Clineが何をしても絶対に数分で復旧できる」管理体制を再定義しました。
Unity シーンの「ブランチ(枝分かれ)」運用
ファイルを消す・上書きすることに躊躇がないClineへの対策です。
運用: 現在のシーンファイル(例:
Main_Scene.unity)を直接いじらせず、必ずコピー(例:Dev_20260220_TaskA.unity)を作って、そのコピー内だけで Cline に作業させます。メリット: Clineがコンポーネントを壊したり、設定を滅茶苦茶にしても、元の
Main_Sceneを開くだけで1秒で復旧できます。
金型(Prefab)の世代管理
Clineはプレハブを書き換えてしまうため、壊れた設定が全台に波及する恐れがあります。
運用: 完璧に動いたプレハブは、
Master_Robot_v1.0のようにバージョン名をつけ、ReadOnly(読み取り専用)属性をつけるか、別のフォルダに退避させます。メリット: 「昨日までは動いていた設定」を物理的に物理的に保護できます。
Git LFS + GitHub による完全履歴
事業として継続するなら、ZIP保存よりもGitのGitKrakenなどのツール導入します。
運用: Clineが1つの指示を終えるたびに、あなたが「何が変わったか」を確認し、「正常動作確認済み」というラベルをつけて保存(コミット)します。
メリット: 万が一、数日後に「実はあの時から壊れていた」と判明しても、過去のどの時点へもピンポイントで戻せます。
外部ツールによるプロジェクト全体の自動ミラーリング
クラウドストレージの履歴機能を活用します。
運用: プロジェクトフォルダをこれらの同期フォルダ内に置きます。
メリット: UnityやGitの操作ミスでファイルが消えても、クラウド側の「30日間の履歴」からファイル単位で復元できます。
事業としての「線引き」最終案
担当 | 役割(責任範囲) |
|---|---|
自分 | 「保存・復元」の全権。 Gitのコミット、ZIP作成、シーンの複製、不要スクリプトの削除。 |
Gemini | 「設計・検品」の全権。 Clineへの指示書の作成、Clineが書いたコードの論理チェック(レビュー)。 |
Cline | 「使い捨てのコード作成」。 あなたが用意した「実験用シーン」の中だけでコードを書き、動かす。 |
