req / reply のやり取りの仕組み
req / reply の1回
以下はキットにあるこの Rule の全文で、そのまま使えます。
.claude/rules/req-reply-protocol.md ダウンロード# ルール:req / reply コミュニケーション・プロトコル
目的:「人の発言」と「AI の回答」を行番号付きの2つのファイルに残し、いつでも見返せるようにし、セッションをクリアしても失われないようにする。
## ファイル
- `req.md`:私が要望を書く(くだけた書き方で可、1行1件)。
- `reply.md`:あなたが回答を書く。ファイルの末尾に新しいブロックを追加するだけ。古いブロックの書き換え、統合、削除は禁止。
## きっかけ
私が「req 更新」または「req N 行目以降」と言ったら:まず `req.md` を読んで行数が足りているか確認し(足りなければ「ファイルが保存されていない可能性があります」と伝える)、それから回答する。
## reply ブロックの形式
```
══════════════════════════════
❓ [日付 時刻]
原文:
1. (req の原文をそのまま貼る)
2. (req の原文をそのまま貼る)
整理した質問(原文との対応)
1. (原文 [1][2]) 整理した質問
───────────────────────────────
回答
1. (原文 [1][2]) タイトル
答え(プレーンテキストで。表や Markdown 記号は使わない。私は行番号付きの生テキストで読むため)
実施状況:[1] ✅ [2] ⏳ 確認待ち
📌 req X-X 行 → reply XX 行 ✅
```
- 原文は一字一句そのまま。「大意」で代用しない。
- 整理した質問の対応表は必ず付ける。1つの番号に小項目が複数あるときは、1つずつ対応させて1つずつ答える。まとめて1件にして漏らさない。
- `reply XX 行` はこのブロックの `══` の行番号。書き終えたら検索で確認し、「ここ」とは書かない。
- ターミナルには、確認の一言と `✅ req X-X 行 → reply XX 行` だけを出す。
req / reply の考え方(T00 のやり取りの方法)
普通のチャット画面の問題:回答が長いと流れて消え、翌日には探せない。一度に何件も聞くと AI がその1つを答え漏らしやすい。長い回答は会話のコンテキストも食う。T00 は「質問」と「回答」の両方をファイルに書きます:
| ファイル | 用途 |
|---|---|
temp01_req.md | あなたが書く質問と要望。書いたら AI に「何行目以降を更新した」と伝える |
temp03_reply.md | AI の回答。末尾に追記するだけで、1件ごとに時刻と行番号を付ける |
temp04_pending.md | あなたの確認待ちの項目 |
重要なルールが3つあります:
- 原文を一字一句そのまま回答に写す:あとで回答ファイルだけを見ても、そのとき何を聞いたかが分かる。
- 「整理した質問 ↔ 原文」の対応表(mapping)を必ず付ける:1つの番号に小さな項目が複数あるときは、1つずつ対応させて1つずつ答える。「1件に見える」からとまとめて答え漏らすのを防ぐ。
- 回答は追記のみで、古いものは書き換えない:履歴を上書きしない。ターミナルには「更新しました(何行目)」だけを出し、内容は繰り返さない。
利点:長い回答が会話のコンテキストを使わない。1件ごとに行番号があるので見返しやすい。「答え漏れ」を対応表で確認できる。代償:やり取りが1往復増えるので、要望が多く期間が長いプロジェクト向きで、一言で済む小さな質問には向きません。