qwen 3.8 27bの能力を知りたくて、「ゆうしゃのくせになまいきだ」のクローンを作ろうと思ったのですが、そのまま最小構成を作ろうとしても無限にループするし、全然実装も調査も進まない。chatgptと相談しながら調査のためのコツが分かってきたのでメモとして残そうと思います。
環境
- windows10
- rtx 4090
- lmstudio bionic
- Qwen3.8-27B-UD-Q4_K_S
調査の際のtips
調査から始めない(調査項目を作る)
大事です。llmにありがちですが局所的な探索をずっと行って全体の調査に行きつかない可能性が高いです。
まずは調査項目を作るところから始めましょう。 llmが知っている知識(web調査を行わない程度の範囲)で知っている要素をリストアップしてもらいます。この際にゲーム項目全体をカバーしてもらいつつ、一つの項目ではなくゲーム全体を俯瞰するように項目を出してもらいます。
あなたの最初の仕事は、ゲーム「勇者のくせになまいきだ」シリーズを
再現するために必要な「調査項目の一覧」を設計することです。
まだWeb検索を大量に行わないでください。
まだ個別の仕様を調査しないでください。
まだ仕様書を書かないでください。
目的は、
「このゲームを完全に再現するには、何を調査しなければならないか」
を漏れなく洗い出すことです。
ゲームシステムを以下のような観点から網羅してください。
- ゲーム全体
- マップ・地形
- 土
- 養分
- 生物
- コケ
- コケの成長
- 魔物
- 魔物の成長
- 勇者
- 戦闘
- 食物連鎖
- 個体数
- 時間・ターン・フレーム
- 発生・スポーン
- ステージ
- 勝敗・ゲームオーバー
- その他、上記に含まれないシステム
ただし、これらは例です。
これらをそのまま採用するのではなく、
あなた自身で不足している項目を発見してください。
各項目について以下だけを書いてください。
1. 調査項目名
2. 何を明らかにする必要があるか
3. 他の調査項目との依存関係
重要:
- 「勇者のスキル」だけを大量に列挙しない
- 1つの項目を深掘りしない
- まずゲーム全体を俯瞰する
- 各項目の粒度をできるだけ揃える
- 最終的にゲーム全体をカバーすることを優先する
最低でも20~40個程度の調査項目を作成してください。
最後に、
「まだ調査項目として不足している可能性がある領域」
を列挙してください。
自己批判を行う
調査項目は必ず自己批判(レビューを自分自身でする)します。まずは「ゲームの再現」という主目的に沿っているかと、重複項目が無いか、やあいまいなものをここでそぎ落として洗練させます。また、tier分けも自分でしてもらいます。
現在の39項目の調査項目一覧をレビューしてください。
目的を再確認します。
目的は、
「勇者のくせになまいきだ」シリーズのゲームシステムを調査し、
原作のゲームプレイを再現可能な仕様書を作成することです。
この目的に照らして、現在の39項目を批判的に分析してください。
以下の分類を行ってください。
A: 原作ゲームシステムの再現に必須
B: 再現度向上のため重要だが後回し可能
C: 実装上は必要だが原作調査とは別管理すべき
D: 現時点では不要、または原作に存在しない可能性が高い
特に以下を確認してください。
複数項目で重複しているもの
1項目が大きすぎるもの
他項目に吸収できるもの
原作再現ではなく一般的なゲーム開発項目になっているもの
調査対象ではなく実装設計になっているもの
「何を調べれば完了なのか」が曖昧なもの
各項目について、
KEEP
SPLIT
MERGE
MOVE
REMOVE
のいずれかを判断してください。
まだWeb検索は行わないでください。
最終的に、
「原作調査フェーズで実際に調査する項目」
だけからなる新しい調査項目一覧を作成してください。
項目数を無理に39個に維持する必要はありません。
調査プロトコルを作成してもらう
これだけだと調査結果に粗がてます。そのため調査プロトコルを作り、それぞれの項目について調査結果フォーマットの作成や情報ソースの価値づけ、検索終了条件、および完了条件の策定などをしてもらいます。探している段階で他の項目の重要な発見をしたら発見メモに書いてもらい脱線を防止する効果は後々かなり効きました。
ここからWeb検索を解禁します。
ただし、まだ30項目の本格的な調査を開始しないでください。
まず、Phase Aの30項目を実際に調査するための
「原作調査プロトコル」を作成してください。
目的は、
検索結果を大量に集めることではなく、
原作仕様を再現可能なレベルまで確定することです。
━━━━━━━━━━━━━━━━
1. 対象作品を最初に固定する
━━━━━━━━━━━━━━━━
まず、今回再現対象とする作品・バージョンを確定してください。
「ゆうなまシリーズ」全体を混ぜないでください。
作品によって仕様が異なる場合、
- 共通仕様
- 作品固有仕様
- 変更された仕様
を分離できる構造にしてください。
対象作品が確定するまで、
個別仕様の調査を開始しないでください。
━━━━━━━━━━━━━━━━
2. 情報源の優先順位を定義する
━━━━━━━━━━━━━━━━
Web検索では情報源の信頼度を区別してください。
例えば、
S: 実機・プレイ動画から直接確認
A: 公式資料
B: 複数の独立した攻略資料で一致
C: 単一の攻略資料
D: 掲示板・SNS等
E: 推測
のような基準を作成してください。
ただし、実際に適切な分類を検討して変更して構いません。
━━━━━━━━━━━━━━━━
3. 1項目ごとの調査フォーマットを定義する
━━━━━━━━━━━━━━━━
各調査項目について必ず、
- 調査目的
- 調査範囲
- 検索キーワード
- 情報源
- 確認された事実
- 数値データ
- 条件
- 状態
- イベント
- 他システムとの相互作用
- 確定事項
- 有力事項
- 推定事項
- 未確認事項
- 矛盾する情報
- 追加調査が必要な事項
を記録できる形式にしてください。
━━━━━━━━━━━━━━━━
4. 「完了条件」を設定する
━━━━━━━━━━━━━━━━
各項目について、
「何が分かったら調査完了なのか」
を明確にしてください。
特に、
- 土
- 養分
- コケ
- コケ成長
- 魔物
- 戦闘
- 食物連鎖
については、
単なる説明ではなく、
後からプログラムとして実装できる程度の
条件・状態・数値を明らかにする必要があります。
━━━━━━━━━━━━━━━━
5. 脱線防止
━━━━━━━━━━━━━━━━
現在調査している項目以外の重要情報を発見した場合、
その情報を勝手に深掘りしないでください。
以下の形式で「発見メモ」に追加してください。
DISCOVERED:
項目ID:
発見内容:
関連する調査項目:
優先度:
その後、現在の調査を継続してください。
━━━━━━━━━━━━━━━━
6. 検索終了条件
━━━━━━━━━━━━━━━━
「情報が見つからなくなるまで検索する」
という方式は禁止します。
十分な情報源を確認し、
新しい検索結果から新しい仕様がほとんど発見されなくなった場合、
調査を一旦終了してください。
その場合、
SEARCH COMPLETE
として、
- 確定事項
- 未確認事項
- 情報不足
- 矛盾
を整理してください。
━━━━━━━━━━━━━━━━
7. 最後に
━━━━━━━━━━━━━━━━
Phase A 30項目を、
Tier 0:
最初に調査しなければならない
Tier 1:
Tier 0を前提として調査
Tier 2:
後から調査可能
に分類してください。
まだ個別のWeb調査は開始しないでください。
まず「調査プロトコル」だけを作成してください。
他のaiに相談しつつ進める
初めてだったので方針などはchatgptに聞きながら進めました。出力はchagptに聞き、レビューさせてその調査項目についてフォローアップが必要かどうか、調査項目はこれでいいのかどうかなど逐次相談して進めました。
それぞれの項目を調べる際のプロンプト(調査指示書)もchatgptに作ってもらったので正確に言えばchatgptの力が結構入っていたかもしれません。
苦労したこと
contextが少ない
4090の上にqwen 3.8 27bを載せると大分ギリギリでcontextが32kぐらいでいっぱいになってしまいます。
キャッシュの量子化をしても全然遅い。
かといってcpuオフロードすると重くなる。ちょうどいいところでチューニングするのが大変でした。
設定
- システムプロンプト
You are a highly capable and methodical research assistant.
Follow these strict operational rules at all times:
### 1. TOOL CALLING CONSTRAINTS (最重要)
- Call at most TWO (2) tools per output turn. Never execute more than 2 tools continuously.
- Do NOT invoke the same tool with the same arguments repeatedly. If a tool fails, stop and report the error to the user.
- Do NOT fetch or extract full webpage contents if a summary is sufficient. Focus only on targeted sections.
### 2. CONTEXT & FILE STORAGE RULES
- Do NOT keep large text payloads or research notes directly in the conversation history.
- Always save extracted information, intermediate research notes, and raw output directly to local files (e.g., `research_notes.md`, `part1.md`).
- Keep your conversational responses short, focused, and concise to conserve context memory.
### 3. STEP-BY-STEP EXECUTION
- Execute tasks in incremental steps. Process one sub-task, update the corresponding markdown file, and then pause to report progress to the user.
- Do NOT attempt to complete the entire research or multi-step workflow in a single generation turn.
### 4. OUTPUT FORMAT
- Always provide a brief summary of what you did and what file you updated before waiting for the user's next command.
感想
実装と設計フェーズは分けるのは分かっていましたが、調査ぐらいは自走できる(XXを調査して)と思っていましたが、巨大な調査項目になるとここまで詳細に詰めないとちゃんと動かないことが分かり、新しい勉強になりました。
実装のほうは行っていませんが、knowledgeがたくさんあるのでまずはそういうのを読んで扱い方を勉強したいと思います
