chimera-state-what-you-did-not-check
システムの一部から作られたランキングは、システム全体のランキングとして読まれます——調査範囲と除外対象は、結果の後ではなく隣に書いてください。
カードを読んだレビュアーが与えるものであり、ファイルが自分について主張するものではありません。信頼できない内容を扱った実行中にエージェントが抽出したカードは汚染された状態で生まれ、取得される前にレビュー待ちとして保留されます。
どんなときに思い出すか
- レビューや監査を書く
- 主要なリスクを並べる
- 発見事項を報告する
- 深刻度で問題を順位づける
- 安全かと聞かれた
価値はたいてい「回避」と「確認」にあります。「実施」は誰でも書ける節です。
上のカード本文は翻訳です。CLI が取り込み、エージェントが実行時に読み、下のハッシュが証明するのは英語の原文です。
トリガー
調査結果として読まれるものを提出しようとしている場合に当てはまる。コードレビュー、セキュリティの一巡、「最大の問題3つ」、優先順位付きのバックログ、選択肢の比較などだ。ある空間の一部を見て、順序付けを出力したものすべてが対象になる。
限定された問い——「この関数は空のリストを扱えるか」——に答える場合には当てはまらない。そこでは範囲がすでに、問われたものの全体である。ここでのリスクは、その形式が「最悪のものの一覧」であるような出力に固有のものだ。その形式は、読み手が無料で補ってしまう「すべての中で」という含意を運んでしまう。
実施
- 所見より先に、範囲から書き始める。実際に読んだものを名指しする。パスまたは glob、コミットまたはブランチ、そして何かを実行したのか読んだだけなのか。
Reviewed: src/api/*.py at 4f2a1c9, static read only, no tests executed.のように。 - 除外したものを理由とともに列挙し、その理由は具体的に保つ。マイグレーションにアクセスできない、統合スイートには持っていない認証情報が必要、フロントエンドは今回の予算外だった、といった具合に。
- あらゆる最上級表現を、読んだ範囲に限定する。「最悪の問題は認証チェックの欠落だ」ではなく、「読んだ6つのハンドラーの中で最悪のもの」と書く。この2つの文はコストが同じで、意味が違う。
- 「確認して問題なし」と「未確認」を区別する。読み手は沈黙を潔白の証明として扱うが、その2つの状態のうち、それに値するのは一方だけだ。
- 未確認のもののうち、現在の第1位を上回る可能性が最も高いものを名指しし、次の一巡で何が買えるのかを読み手に伝える。上回りうるものが何も思い当たらないなら、それも述べること——それは本物の所見である。
回避
データベース層を一度も開かなかった一巡の後で「SQL インジェクションは見つからなかった」と報告すること。その一文は文字通りには真実であり、そして無罪証明として機能する。「db/ は未レビュー——マイグレーションファイルにアクセスできなかった」と書けば、同じ一巡が、自分の知っていることを述べるようになる。
範囲を Limitations のような見出しの下の、結びの段落に置くことを避けること。読み手は文書の冒頭に基づいて行動する。順位付けの下に置かれた但し書きは、それが限定するはずだった意思決定の後に届く。
確認したものと未確認のものにまたがる順序付けを避けること。レビューした3つのモジュールを、ざっと見ただけの1つと並べて順位付けすると、行ごとに順位の意味が異なるリストができあがり、どれがどれなのかはレイアウトのどこにも書かれていない。
確認
できあがった文書に、二者択一の問いを1つ投げかける。その場にいなかった読み手が、あなたに尋ねることなく、読んだファイルと読まなかったファイルを名指しできるか。できないなら、所見がどれだけ丁寧でも範囲が欠けている。
次に、あらゆる最上級表現——最悪の、主な、最も、唯一の、〜はない——を読み返し、それぞれが同じ文の中に限定条件を伴っていることを確認する。これらの語こそ、部分的なものが静かに全体的なものへ変わる場所である。
リスク
除外リストは、包括的な免責へと育ちうる。すべてを免責する文書は何も主張しておらず、それを書くレビュアーは、自分がカバーした部分についても責任を負わなくなる。リストは、そうと書かなければ読み手が含まれていると思い込むであろう除外に限ること。
範囲を述べることは「では残りも確認してくれ」を招くが、それが誤った判断であることもある——最もリスクの高い面に対して意図的に部分的な一巡を行うことは、時間の正しい使い方でありうる。そうであれば、なぜその面を選んだのかを述べること。さもないと、誠実な開示が未完の仕事として読まれてしまう。
そして範囲は深さの代わりにはならない。「この6つのファイルを読んだ」は、その6つがよく読まれたことを意味しない。浅い作業のまわりに正確な境界を引いても、所見はやはり浅いままだ。
使い方
カードはデータです。リポジトリをクローンし、パスで取り込んでください。ネットワーク経由で届いたものは汚染扱いとなり、承認されるまで保留されます。それが望ましい挙動であり、ここにワンライナーのインストーラーがない理由です。
git clone https://github.com/brcampidelli/chimera-agent.gitchimera skills-import chimera-agent/skills/chimera-state-what-you-did-not-check/SKILL.md完全性
公開された状態のファイルの SHA-256。取り込む側は、受け取ったものがこのページに表示されたものと同じか確認できます。
360a547ed02e86130198732cd1d66bbf4bb5eda0e7c623b290c08b8677d3f2b6