コードレビューは、開発の品質を支える要ですが、一方で「時間がかかる」「指摘の粒度が人によってバラバラ」といった課題も抱えています。
今回は、プロンプト管理ツールFabricを使い、ターミナルから一瞬でAIによる高度なコードレビューを実行する方法を解説します。これを導入すれば、人間がレビューする前に「明らかなバグ」や「スタイルの乱れ」を一掃できます。
AIエージェントがコードを書く時代、そのコードをチェックするのもAIの得意分野です。Fabricのreview_codeパターンを使えば、熟練のシニアエンジニアが隣にいるような感覚でレビューを受けることができます。
1. Fabricとは?
Fabricは、世界中のトップ層が作成した「磨き上げられたプロンプト(Patterns)」を、誰でも簡単に呼び出せるようにしたツールです。
- Patterns(パターン): 「知恵の抽出」「要約」「コードレビュー」など、特定のタスクに最適化されたプロンプト集。
- CLIネイティブ: ブラウザでChatGPTを開いてコピペする必要はありません。ターミナル上で他のツールと組み合わせて使えます。
- 汎用性: YouTubeの文字起こし、PDF、ソースコードなど、あらゆるテキストデータをAIに流し込めます。
2. インストールと初期セットアップ
Fabricは現在、Go言語で開発されています。以下の手順であなたのPCに導入しましょう。
Step 1: インストール
ターミナルで以下のコマンドを実行します。
# Fabricのインストール
go install github.com/danielmiessler/fabric@latest
# brew
brew install fabric-ai
Macの場合はfabricとして使用する手順
# シンボリックリンクと作成
sudo ln -s $(which fabric-ai) /usr/local/bin/fabric
# .zshrc に追記
export FABRIC_CONFIG_PATH="$HOME/.config/fabric"
# 設定を反映
source ~/.zshrc
brewで導入時は似た名前が多いので注意fabric (brew): Python製のSSHリモート実行ツール(老舗)fabric-ai (brew): AIプロンプト管理ツールfabric-app (brew): 先ほど話題に出た fabric.so(ナレッジ管理GUIアプリ)
Step 2: 初期セットアップ
インストールが完了したら、設定を行います。
fabric --setup
実行すると、以下の入力を求められます。
- APIキー: 使用したいAI(OpenAI, Anthropic, Googleなど)のAPIキーを入力します。
- デフォルトモデル: 優先して使いたいモデル(例:
gpt-4oやclaude-3.5-sonnet)を選択します。

3. Fabricによるコードレビューの基本手順
Fabricの最大の特徴は、「標準入力(Pipe)」を使ってコードを流し込める点です。
ステップ1:対象のコードを準備する
例えば、以下のような少し改善の余地があるPythonコード(app.py)があるとします。
Python
def calc(a, b, op):
if op == "add":
return a + b
elif op == "sub":
return a - b
else:
return None
print(calc(10, 5, "add"))
ステップ2:Fabricでレビューを実行する
ターミナルで以下のコマンドを叩くだけです。
cat app.py | fabric -p review_code
ポイント:
-p(pattern)オプションで、実行したいプロンプトを指定します。extract_wisdomを指定すれば、単なるレビューではなく「重要なポイント」を箇条書きで抜き出してくれます。
4. 出力されるレビュー内容の例
review_codeパターンを実行すると、通常以下のような構成で詳細なフィードバックが返ってきます。
📝 Code Review Summary
- 全体評価: 基本的なロジックは動作しますが、拡張性とエラーハンドリングに改善の余地があります。
🔍 改善ポイント
- 拡張性:
if-elif構造は、演算の種類が増えた際にメンテナンスが困難になります。辞書マッピングの検討を推奨します。 - 型ヒントの欠如: 引数
a,b,opに型ヒントを追加することで、可読性と堅牢性が向上します。 - エラー処理:
Noneを返すのではなく、予期しない演算子が渡された場合は例外(ValueError)をスローすべきです。
💡 修正コード案
Python
from typing import Union
def calc(a: float, b: float, op: str) -> float:
operations = {
"add": lambda x, y: x + y,
"sub": lambda x, y: x - y,
}
if op not in operations:
raise ValueError(f"Unsupported operation: {op}")
return operations[op](a, b)
5. 実践テクニック:Gitの変更分だけをレビューする
ファイル全体ではなく、「今自分が書き換えた部分(Diff)」だけをレビューさせたい場合、これが非常に便利です。
# 現在の変更差分をレビュー
git diff | fabric -p review_code
# 特定のコミット間の差分をレビュー
git diff main..feature-branch | fabric -p review_code
これを使えば、プルリクエストを作成する前に、自分自身の変更点に対して「セルフAIレビュー」をかけることができます。
6. 精度をさらに高めるためのコツ
Fabricでのレビュー精度をさらに引き上げるための3つのアドバイスです。
- コンテキストを補足する:プロジェクト固有のルール(例:「テストはVitestを使うこと」「命名規則はキャメルケース」など)がある場合、それらを記載したカスタムパターンを作成しましょう。
- 多段処理(Chaining)を活用する:
fabric -p review_code | fabric -p improve_codeと繋げることで、「レビュー」から「実際のコード修正」までを一気に提案させることが可能です。 - 言語を明示する:日本語でレビュー結果が欲しい場合は、パターンの最後に
--language japaneseを付け加えるか、自作パターンのシステムプロンプトに「常に日本語で回答してください」と記述しておきます。
パイプラインで「多段処理」をする
一度のプロンプトですべてを完結させようとせず、役割を分担させましょう。
- レビュー: まず
で重要な情報をすべて抜き出す。review_code - 修正 その結果をさらに
に渡して実際にコードを修正にする。improve_code
fabric -p review_code | fabric -p improve_code
カスタムパターン(自分専用プロンプト)を作る
Fabricの強みは、自分好みのプロンプトを追加できることです。
~/.config/fabric/patterns/ 内に新しいフォルダを作り、そこに system.md を配置してください。
- 例: 自分がよく見るジャンルに合わせた「特定の構成(見出し、トーン)」を指示書として書いておけば、次からは
-p my_styleのように呼び出すだけで、あなた専用の出力形式になります。
前処理で「ノイズ」を消す
Fabricの clean_text パターンを最初に噛ませることで、AIに「綺麗なテキスト」を渡すことができ、誤解や要約ミスを減らすことができます。
まとめ:レビューを自動化し、本質的な開発に集中する
Fabricによるコードレビューは、以下の3つの価値を提供します。
- スピード: 待ち時間ゼロで、即座にフィードバックが得られる。
- 一貫性: 気分や体調に左右されず、常に同じ基準でチェックできる。
- 教育: AIの指摘を見ることで、自分自身のコーディングスキルの向上に繋がる。


コメント