Hata's Blog

開発環境(2026年上旬):Crit でのセルフコードレビュー開発サイクル

現在の開発について簡単にまとめる。昨日の最新が今日の最新とは限らない時代なので、この記事もすぐ陳腐化するはず。それでも「こんな感じでソフトウェアを開発していたな」と後から見返せるように、スナップショットとして残しておく用。

Crit でのセルフコードレビュー開発サイクル

Crit - Point at the line. Tell the agent.Review your AI agent's code changes in a browser with inline comments and round-to-round diffs. Comment on specific lines, the agent fixes them. Single binary, works locally, any agent.
favicon of https://crit.md/crit.md
ogp of https://crit.md/images/og.png

Crit はローカルで動く、GitHub ライクなコードレビュー UI を立ち上げるツール。似たツールは以前からいくつかあって、そのうちの yoshiko-pg/difit使って、コード差分にインラインコメントを付けながら、LLM が出力したコードのレビューと修正をしていた。 そんなときに Rebuild.fm で Miyagawa さんが紹介していた Crit を知り、触ってみたらかなり使いやすかったので乗り換えた。

Crit を使っていて筋がいいと思うのは、LLM エージェントとシームレスに連携できるところ。UI でインラインコメントを付けて 「Finish Review」 を押すと、その内容がそのまま LLM エージェントに渡り、指摘箇所を修正させられる。各種エージェントツールとの連携が最初から組み込まれていて、修正結果をコメントとして返すところまでをプロンプト化して渡している。 Crit を使う前は、指摘をクリップボードにコピーして、エージェントに手動で一つずつ渡していた。difit が行番号や差分を LLM の読みやすい形に整えてくれるとはいえ、一件ずつの受け渡しは地味に手間だった。Crit だと、この一連が GitHub 上でのレビュイーとレビュワーのやり取りのように画面の中で完結する。

Crit の UI

人間がレビューする前に、LLM エージェントに下読みさせる

自分がコメントを付け始める前に、レビュー用のエージェントをブランチの差分に対して並列で走らせている。 このやり方も、Rebuild.fm で Miyagawa さんが紹介していたものを参考にした。自分なりにアレンジしているが、思想はだいたい同じ。最初のレビューを人間がやるのは面倒なので、まず LLM にコードレビューをさせる。その出力を人間がトリアージして、採用、却下、保留に振り分ける。こうしてレビューの工程を短くするのが狙い。

Tatsuhiko Miyagawa (@miyagawa) on X複数のペルソナでサブエージェント起動したり他のLLMにレビューさせたりするのも、crit でコメントとしてポストさせることができるので GitHub Code Review みたいなUIでレビューできる。便利。 https://t.co/Vi8dmOK8Ao
favicon of https://x.com/miyagawa/status/2070016437054558513x.com
ogp of https://pbs.twimg.com/profile_images/1107507727/userpic-square_200x200.jpg

やっていることは単純で、レビュー観点ごとに役割を分けたサブエージェントを用意し、それらを呼び出して Crit にコメントさせる Skill を組んでいる。分担は、仕様との整合性を見るやつ、セキュリティを見るやつ、といった具合。 各エージェントには、指摘を Crit 用の JSON で吐かせる。それをマージして重複を落としてから、Crit にまとめて投稿するところまでを自動化している。JSON への変換は、公式の Claude Code 向け SKILL が参考になる。

https://github.com/tomasz-tomczyk/crit/blob/main/integrations/claude-code/skills/crit/SKILL.md

エージェントに吐かせる指摘は、こんな JSON。

{
  "file": "app/lib/mdxComponents/image.tsx",
  "line": 45,
  "author": "Claude/Security",
  "body": "**[low] img src のスキームが未検証**\n\n外部由来の値を通す場合に備えて http/https に限定したい。"
}

人間はトリアージに徹する

LLM の指摘が出揃った状態で Crit を開く。ここで自分がやるのは、指摘を採用、却下、保留に振り分けることくらい。この操作も GitHub ライクにできて楽だ。これだけのエージェントに揉まれた後で自分が足せる観点はあるのか、とは思うものの、一応は自分でもレビューする。


いまは、自分が書いたコードも、LLM が書いたコードも、他人のコードレビューも、Crit の上で完結させるようにしている。LLM が作った Plan の調整も同じフローに乗せると具合がいい。下読みを任せておくと、自分がレビューを始める頃には細かい指摘があらかた片付いている。しばらくはこれで様子を見る。

x(Twitter)にポスト
Profile
Shoki Hata

決済領域のソフトウェアエンジニア。週末はコーヒー豆を焙煎しています。