AI が書いたコードのレビュー観点を「ポリシー」ファイルにまとめ、レビュー役のエージェントに渡す(takt の ai-antipattern.md)
takt(nrslib)の ai-antipattern.md は、AI が書くコードにありがちな失敗を原則と検出項目にした日本語のポリシー。自分のレビュー用プロンプトやスキルにそのまま流用できる。
解決する問題
- AI のコードは一見もっともらしく、どこを疑えばいいか毎回考えるのが大変
- 「使われない拡張ポイント」「存在しない API」「繋ぎ忘れ」などが、テストを通ってしまう
- レビューで指摘しても、直さずにテストを足すなどずれた対応をされる
原則(8つ)
要求一致/実在性確認/コンテキスト適合/最小差分/契約維持/直接修正/到達性確認/検証可能性
検出する主なパターン
- 今の利用者がいない抽象化: 使い道のないオプション、Strategy の層、設定項目は却下する
- もっともらしい誤実装: 存在しない API の呼び出し、作ったのにどこからも呼ばれていない関数(配線忘れ)、
options.xxx ?? fallbackで本来の値を隠すフォールバック - 冗長な分岐: 引数が1つ違うだけの if/else、外側の変数をこっそり掴むコールバック
- レビュー指摘への不適切な対応: 本体を直さずテストを足して済ませる、など
使い方
- ファイルを自分のリポジトリに置く(例:
.claude/review/ai-antipattern.md) - レビュー役のサブエージェントやスキルの指示に「このポリシーの各項目について、差分に該当箇所があれば行番号つきで挙げる。該当がなければ『なし』と書く」と書く
- 指摘ごとに「どの原則に反するか」を書かせると、修正役も直す方向を誤りにくい
- 自分のプロジェクトで繰り返し出た失敗を項目として足していく
注意点
- 項目が多いとレビューが長くなる。差分の大きさに応じて、使う項目を絞る
- takt では、こうしたポリシーをプロンプトの部品(facet)として組み合わせて使う。考え方は Faceted Prompting: プロンプトを5つの部品に分けて、エージェントの指示を組み立てる を参照
- 関連: Ponytail 5: 「書く前に既存のものを探す」はしごをエージェントに守らせる(Claude Code/Codex ほか)
出典
- @nrslib · 2026-05-24
- takt
builtins/ja/facets/policies/ai-antipattern.md: github.com