直前チェック
設計の直前に、五つの技能の判断だけを見直す。各項は「どちらか」で、右側がこのノートの選択です。
1. ループと委任
| 見ているもの | 選ばない | 選ぶ |
|---|---|---|
| ループを閉じる条件 | 文章の「完了」、空の文、回数の上限 | end_turn。tool_use のあいだは実行して履歴に戻す |
| トークン上限で切れたJSON | 欠けた引数を補完して実行する | 切断として扱い、予算を足して続け直すか失敗を返す |
| 同じツールが三回続く | プロンプトに「繰り返すな」と足す | 結果が履歴にあるかを先に見る |
| 次のツール | すべての分岐を決定木にする | モデルに選ばせる。事故になる順序だけゲート |
| 子は親の結論を知っているか | 知っている前提で「さっきの結果」と書く | 知らない。本文と出典を子のプロンプトに書く |
| 並列 | 依存のある役を同じ返答に並べる | 依存の無い役だけ、一返答に複数の Task。結果は識別子で対応 |
| 下流が全員成功なのに成果物が偏る | 検索クエリを増やす | 分解の幅を直し、欠けた題だけ再委任する |
| 時刻形式がばらつく | モデルに翻訳させる | 実行後、読む前の PostToolUse で揃える |
| 閾値を超える返金 | プロンプトに禁止を書くだけ | 実行前に遮断し、APIを叩かない |
| レビュー | 十四ファイルを一つのパス | 面が見えているならファイル単位のあと横断 |
| 調査 | 最初のディレクトリだけを手順に固定 | 発見のたびに計画を更新する |
| 昨日の会話 | 古いツール結果を、変更を伝えずに再開 | 差分が小さいなら名指しで再開。写しが古いなら結論だけ新規。案の比較はフォーク |
一人で足りる仕事は分けない。分けるのは、入力が長い、ツールの集合が違う、失敗が目的の一部だけ、のどれかがあるとき。副作用の順序は委任ではなく、同じハーネスのゲートに置く。
2. ツールとMCP
| 見ているもの | 選ばない | 選ぶ |
|---|---|---|
| 似たツールの取り違え | 例を二十件、正規表現の前処理、即統合 | 説明に入力、例、端、使わない場合。キーワードの常時指示を消す |
| 改名 | 名前だけ変える | 名前と説明を一緒に変える |
| 失敗 | 「失敗しました」の一文 | isError、種別、再試行可否、人に読める文。詳細は別欄 |
| ゼロ件 | タイムアウトと同じ空 | 成功の空。タイムアウトは失敗の構造 |
| 一時的な失敗 | モデルに同じ引数を繰り返させる | 子の中で短く再試行し、解けないものだけ親へ |
| ツールの数 | 十八個を一つの役割に渡す | 四つか五つ。頻出で狭い確認だけ横断させる |
| 抽出なのに文章が返る | auto のまま |
種が不明なら any。先頭の一段だけ名前を強制し、成功したら戻す |
| 共有のMCP | トークンをリポジトリに書く | .mcp.json には環境変数の参照だけ |
| 個人の実験 | ~/.claude/CLAUDE.md にサーバーを書く |
~/.claude.json。終わったら外す |
| 何があるか | 検索ツールの連打 | リソース。操作はツール |
| 呼び出し元を探す | 全 Read、Glob | Grep。パスは Glob。一意なら Edit。駄目なら Read して Write |
3. 設定とワークフロー
| 見ているもの | 選ばない | 選ぶ |
|---|---|---|
| 同僚に届かない指示 | ホームのファイルに足す | プロジェクトの CLAUDE.md。今読まれているかは /memory |
| 散らばったテストの規約 | ディレクトリごとに複製、モデルに節を選ばせる | .claude/rules/ の paths |
全員の /review |
ホームの commands、指示ファイルの中だけ | .claude/commands/ |
| 常に守る規約 | スキルに閉じる | CLAUDE.md か、パスが一致したルール |
| 長い探索 | 本会話にログを貼る | context: fork。戻すのはファイル名と判断 |
| スキル中のシェル | 調査スキルに残す | 読み取りは Read、Grep、Glob。適用は別スキルでフォークしない |
| 数十ファイルの再編 | 直接実行で境界を後から決める | プランモード。承認したプランを次の実行の文脈に残す |
| 一行が特定できている欠陥 | プランモード | 直接実行 |
| ぶれる変換 | 「堅く」 | 端を含む入出力を二、三個。判定は先に置いたテスト |
| 影響し合う修正 | 別メッセージ | 一通にまとめる。独立なものは順に |
| パイプラインが入力待ち | 標準入力を捨てる | -p。指摘は json とスキーマ。再レビューは新規と未対応だけ |
| レビュー担当 | コードを書いた会話 | 差分と基準だけを渡した別プロセス |
4. 基準、スキーマ、バッチ
| 見ているもの | 選ばない | 選ぶ |
|---|---|---|
| 誤検知で信頼が落ちた | 「確信度が高いものだけ」 | 報告と非報告を種類とコード例で定義し、悪い種類は直すあいだ外す |
| 重大度 | 「高」という語だけ | 段階ごとのコード断片。低は報告しない、と書き切る |
| 形式がぶれる | 例を十個に増やす | 理由つきの例を二から四。一つは、情報が無いときの null |
| JSONの構文 | 「JSONだけ」と文章で頼む | スキーマつきの tool_use。strict は構文だけ |
| 文書に無い税額 | 必須欄にして埋めさせる | null を許す。判別不能は unclear。未知の分類は other |
| 合計が合わない | スキーマを通ったので採用 | 声明と計算を比べ、メッセージを添えて再依頼。ソースが無ければ人手 |
| 再試行の二通目 | プロンプトだけを再実行 | 元の文書、失敗した結果、検証の一文 |
| 夜間の報告 | 同期のまま費用を満額払う | バッチ。失敗だけ新しい custom_id で再送 |
| マージ前の危険チェック | バッチへ移し、遅ければ同期に落とす | 最初から同期。バッチに遅延の保証は無く、途中のツール往復もできない |
| 送信間隔 | 「たいてい早い」 | 約束から最大処理時間を引いた残りより短く |
| 十四ファイル | 一つのパス、多数決、窓を大きくするだけ | ファイル単位のあと横断。書いた会話ではレビューしない |
5. 事実、引き渡し、出典
| 見ているもの | 選ばない | 選ぶ |
|---|---|---|
| 続ける依頼 | 前のターンを省く | 履歴を渡す |
| 金額と期日 | 要約に溶かす | 要約の外の事実ブロックに、毎回先頭へ |
| 四十欄のツール結果 | そのまま履歴に積む | 関連欄だけ残してから足す。残す数字は先にブロックへコピー |
| 但し書き | 長い入力の中央だけ | 先頭のブロックにも一行 |
| 「人に代わって」 | 調査してから渡す | 直ちに渡す |
| 範囲内の不満 | 即人へ渡す | 一度解決を申し出、希望が重なったら渡す |
| 方針に書いていない要求 | 複雑そうだから自分で承認 | 方針の空白として渡す |
| 複数の顧客が一致 | それらしい一人を選ぶ | 追加の識別子を尋ねる |
| 検索のタイムアウト | 空の成功、または全体を止める | 種類、試行、部分結果、代替。穴は最終出力に注記 |
| 会話が「典型的なパターン」と言う | そのまま続ける | スクラッチパッド、委任、フェーズの構造、そのあと /compact |
| プロセスが落ちた | メモリの進捗を前提にする | マニフェストの次のフェーズから |
| 全体の精度が高い | 人の確認を一括で外す | 文書種と欄の表。高い確信度も層化して測る。閾値はラベルで校正 |
| 二つの出典で数が違う | 新しいほう、または平均 | 両方を出典と日付つきで残す。年が違うだけなら時点の差として別の行 |
似た仕組みを、一文で分ける
- ゲートは「この状態が無ければ実行しない」。
PostToolUseは「実行した結果を、読む前に揃える」。実行前の遮断は「規則違反の呼び出しを、APIの前で止める」。 autoは文章を許す。anyはどれかのツールを必須にする。強制は名前を一段だけ固定し、成功したら戻す。- 再開は、履歴が今も本当なとき。新規への注入は、ツール結果が古いとき。フォークは、同じ起点から案を混ぜずに比べるとき。
- プロンプトチェーンは、面が見えているレビュー。動的な分解は、次の問いが途中で生まれる調査。
- コマンドは打って呼ぶ共有手順。スキルは必要なときだけ読む手順。
CLAUDE.mdは常に読む指示。pathsは編集したファイルにだけ載る規約。 - バッチは、人を待たせずツール往復も要らない仕事。同期は、結果が来るまで次へ進めない仕事。
- 有効な空は、探して無かった。失敗の空は、探せずに終わった。前者は結論、後者は穴。