品質の言語化のススメ¶
チェック¶
- [ ] 本文を確認した
- [ ] 概要を確認した
- [ ] タグを確認した
- [ ]
inbox/直下へ移行した
概要¶
LayerX バクラク事業部の品質定義、リスク基準、自動テスト scope を Claude Code Agent Skills として言語化し、AI coding 時に早期テストの原則を適用する試み。 AI に「どの程度の品質・エラーハンドリング・テストが必要か」を判断させるため、プロダクトフェーズ、リスク、テストピラミッドを skill に組み込む。 Evals では、with skill の方が高リスク機能で堅牢なコードと高いテストカバレッジを生成したとされる。
本文¶
記事は、AI coding assistant の進化により実装やテスト追加の速度が上がる一方、「どこまで厳密に作るべきか」「どの程度テストを書くべきか」の判断が難しいという問題から始まる。
JSTQB FL のテスト原則には「早期テストで時間とコストを節約する」がある。 早い段階で欠陥を取り除けば、後半の故障が減り、品質コストが下がる。 これはテスト実行だけでなく、要件レビューや質問も含む。 つまり、欠陥予防と早い feedback が重要。
この原則を Claude Code に適用するため、AI が予防的に動ける判断基準を skills に盛り込む。 判断基準は次の 3 つ。
- 目指す品質
- 目指す品質を判断するためのリスクと基準
- 自動テストの scope
品質定義では、プロダクトのフェーズごとに何を優先するかを言語化する。 市場にリリースして feedback を集めたい段階と、すでに運用中の段階では、品質に対する重点が異なる。
リスクと基準では、コンパウンド戦略により複数 product がある前提で、product 固有の risk と severity を skills に分けて定義する。 全 product の risk を一度に読ませると context 肥大化と compaction の悪影響があるため、開発対象 product の risk だけを読む仕組みにしている。
自動テストでは、LayerX の test pyramid 戦略をもとに、test layer ごとの責務を定義する。
Claude Code は task 内容から product phase を判断し、不明な場合は Human In The Loop で質問する。 機能カテゴリから risk を評価し、phase と risk に応じて実装方針、test strategy、coverage target、coding rule を適用する。
Evals では、risk が高い機能に対して transaction 管理、rollback 処理、定義した unit test coverage を目指した堅牢な code を生成した。 また、ある仕様では skill なしの test coverage が 65%、skill ありでは 95% になったとされる。
要点¶
- AI coding では、品質の暗黙知を skill として言語化する価値が高い。
- 目標品質、リスク、テスト scope を渡すと AI の判断が安定しやすい。
- すべての情報を読ませず、対象 product の risk だけを読む設計が重要。
- Human In The Loop で不明点を質問させる。
- 人間の役割は、あるべき品質を定義し、AI の feedback loop を早めることへ移る。