ZOZO Tech Blogの記事で、商品基盤部の藤本氏が、AIエージェント(主にClaude Code)にコーディングルールを守らせるための取り組みを紹介しています。課題として「ルール同士の矛盾や重複」と「ルール遵守がレビューに依存していること」の2点を挙げ、Java向けのアーキテクチャ検証ツールArchUnitを使ってルールを機械的に検証する運用を行っています。

具体例として、リフレクション禁止ルールでは従来の型参照ベースの検査で誤検出が発生していたため、改善版ではリフレクションの「メソッド呼び出し」に限定し、java.lang.ClassのforNameやgetDeclaredMethodなどを明示的に監視対象にしています。UseCase層への@Transactionalアノテーション必須化ルールも設けつつ、特定のクラスでは例外的にREPEATABLE_READの分離レベルを許可しています。

ルール文書は背景説明用の.claude/knowledge/と、強制基準用の.claude/rules/にディレクトリを分けて管理し、CI/CDでは./gradlew checkを必須のゲートとして実行しています。

出典が伝えている要点

  • 記事はZOZO Tech Blogに掲載され、著者は商品基盤部所属の藤本氏である
  • 記事の発行日は2026年9月7日である
  • AIエージェント(主にClaude Code)を使った開発における課題として「ルール同士の矛盾や重複」を挙げている
  • もう一つの課題として「ルール遵守をレビューに依存していること」を挙げている
  • ArchUnitを用いてコーディングルールを機械的に検証する運用を行っている
  • リフレクション禁止ルールについて、従来の型参照ベースの検査では誤検出が発生していた
  • 改善版ではリフレクションの「メソッド呼び出し」に限定して検査するようにした
  • 改善版ではjava.lang.ClassのforNameやgetDeclaredMethodなどを明示的に監視対象としている
  • UseCase層に@Transactionalアノテーションを必須化するルールがある
  • 特定のクラスでは例外的にREPEATABLE_READの分離レベルを許可している
  • ルール文書は.claude/knowledge/(背景説明用)と.claude/rules/(強制基準用)のディレクトリに分けて管理している
  • CI/CDで./gradlew checkを必須のゲートとして実行している
← 2026.09.10 の号を通しで読む