warn-before-the-thing-you-are-warning-about
対象となる操作の後に置かれた注意書きは、読み手がすでに決めた後に届きます。上に置き、重要な場面では消せないようにしてください。
カードを読んだレビュアーが与えるものであり、ファイルが自分について主張するものではありません。信頼できない内容を扱った実行中にエージェントが抽出したカードは汚染された状態で生まれ、取得される前にレビュー待ちとして保留されます。
どんなときに思い出すか
- ダウンロードページを書く
- 破壊的な操作を追加する
- 地雷になる挙動を書く
- この警告をどこに置くか
価値はたいてい「回避」と「確認」にあります。「実施」は誰でも書ける節です。
上のカード本文は翻訳です。CLI が取り込み、エージェントが実行時に読み、下のハッシュが証明するのは英語の原文です。
トリガー
ユーザーがこれから行おうとしていることに、本人が予想していない結果が伴う場合に当てはまる。OSがブロックする未署名のインストーラー、履歴を書き換えるコマンド、人間をループから外す設定、サンドボックスの外に出るエクスポートなどだ。
ラベルから結果が自明である場合には当てはまらない。「削除」には、それが削除するという説明の段落は要らない。
実施
- 注意書きは、読む順序としてコントロールより下やツールチップの中ではなく、その上に置く。
- 何が起こるかをユーザーの言葉で述べる——実際に表示されるダイアログの文言、実際のエラー——そしてそれにどう対処すべきかを続ける。
- 中断はやり直しの効かない操作のために取っておく。些細な操作にまで確認を求めると、人は本当に重要な確認もクリックで素通りするようになってしまう。
- その驚きが避けられず、かつ実害がないものなら、なぜそれが起こるのかを説明する。「コード署名証明書がありません」は、驚かせるダイアログを予想通りのものに変える。
回避
ボタンの後にある警告、折りたたみセクションの中にある警告、そしてユーザーがその状況に出くわす前に消してしまえる警告。この3つはすべて同じ失敗である。情報が決定の後に届いているのだ。
責任を果たしているように聞こえる曖昧な表現も避けること。「注意して使用してください」は、読み手が行動に移せる情報を何も伝えておらず、その本当の機能はユーザーではなく作成者を守ることにある。
すべてに警告を出すことも避けること。5つのことにフラグが立っているページは、実質何にもフラグが立っていないのと同じであり、本当に危険な一つの項目が今や紛れて見えなくなってしまう。
確認
そのページを一度も見たことのない人になったつもりで上から下まで読み、自分がクリックするであろう瞬間で立ち止まる。その時点より上に注意書きはあったか。
次に逆方向も確認する。その画面上の警告の数を数える。目立つものが2つ以上あるなら、どれが本物かを決め、残りは目立たなくする。
リスク
注意書きを前面に置くことで、ページは重く感じられるようになり、リスクが実際には無縁だったユーザーを怖がらせて遠ざけてしまうことがある。そのコストは現実のものであり、驚きが本物である場合にのみ払う価値がある。
これを過剰に適用した場合の失敗モードは、製品自体がびくびくしているように読めてしまうことだ。すべての画面が免責事項から始まるなら、その免責事項は単なる装飾と化し、読み手はそれを読み飛ばすようになる——結局、より悪い文章とともに元の場所に逆戻りするだけだ。
使い方
カードはデータです。リポジトリをクローンし、パスで取り込んでください。ネットワーク経由で届いたものは汚染扱いとなり、承認されるまで保留されます。それが望ましい挙動であり、ここにワンライナーのインストーラーがない理由です。
git clone https://github.com/brcampidelli/chimera-agent.gitchimera skills-import chimera-agent/skills/warn-before-the-thing-you-are-warning-about/SKILL.md完全性
公開された状態のファイルの SHA-256。取り込む側は、受け取ったものがこのページに表示されたものと同じか確認できます。
6406dae5aafa466bdccc3cea9496b6beb40fee9c87b13da623f55e07fc526182