Claude Codeを使うと、業務システムのコードを書く作業そのものは大きく短縮できます。その分、品質を左右するのは、何を作るかを文章で決めておく要件整理と、出来上がったものが業務で使えるかを確かめる動作確認です。この記事では、見積依頼を管理する小さな社内ツールを例に、Claude Codeで業務システムを作るときの進め方を、要件整理から動作確認まで順に説明します。

Claude Codeでできることと、この記事の前提

Claude Codeは、Anthropicが提供する開発用のツールです。公式ドキュメントでは、コードベースを読み、ファイルを編集し、コマンドを実行し、開発ツールと連携する「agentic coding tool」と説明されています。ターミナル、IDEの拡張機能、デスクトップアプリ、ブラウザで使えます。

できることが多い一方で、業務の事情はコードを読んでもわかりません。どの取引先が特別扱いなのか、承認は誰がするのか、月末に何が起きるのか。これらを文章で渡せるかどうかで、出来上がるものが変わります。以下は、業務の聞き取りがある程度済んでいる前提で進めます。

例:見積依頼の管理ツール

金属加工の会社で、営業担当がメールや電話で受けた見積依頼を、共有Excelで管理しているとします。困りごとは次のとおりです。

  • 誰がどの依頼を担当しているかが分からず、回答漏れが月に数件ある
  • 回答期限が近い依頼に気づけない
  • 図面のファイルがメールに埋もれ、探すのに時間がかかる

これを、依頼の登録・担当の割り当て・期限の一覧・ステータス管理ができる社内向けのWebツールにします。

1. 作る前に要件を文章にする

最初にやるのは、Claude Codeへの指示を書くことではなく、作るものを1つのファイルに書き出すことです。最低限、次の項目を書きます。

項目 この例での内容
目的 見積依頼の回答漏れをなくす
利用者 営業担当(登録・更新)、営業課長(割り当て・一覧確認)
扱うデータ 依頼(顧客名、品名、数量、図面、受付日、回答期限、担当、ステータス)
ステータス 受付 → 担当決定 → 見積中 → 回答済 → 受注/失注
やらないこと 原価計算、見積書PDFの自動作成(次の段階で検討)
異常時 回答期限を過ぎた依頼は一覧で赤く表示し、課長に通知する
完了の条件 既存Excelの過去3ヶ月分を取り込み、件数が一致する

特に「やらないこと」と「完了の条件」を書いておくと、作業が広がりすぎるのを防げます。要件の書き方は要件定義書の書き方の記事で詳しく扱っています。

まだ決め切れていない点が多いときは、公式のベストプラクティスにあるように、仕様が書けるまで質問を出させ、答えた内容をファイルに書き出させる進め方もあります。質問に答えていくうちに、自分が詰めていなかった点が見えてきます。

2. プロジェクトの決まりごとをCLAUDE.mdに書く

CLAUDE.mdは、プロジェクトに置くMarkdownファイルで、Claude Codeがセッションの開始時に毎回読み込みます。公式ドキュメントでは、コードから読み取れないことだけを短く書くよう勧めています。業務システムなら、例えば次のような内容です。

# 確認方法
- テスト: npm test
- 1ファイルだけテスト: npx vitest run path/to/file.test.ts

# 決まりごと
- 日付は日本時間で保存・表示する
- 金額は税抜で保存し、画面でだけ税込を表示する
- 顧客データを削除する機能は作らない(無効化のみ)

業務ルールのうち、毎回守ってほしいものはここに置きます。ただし公式ドキュメントにもあるとおり、ここに書いた指示はほとんどの場合守られるものの、必ずではありません。絶対に破られては困るものは、テストや自動チェックで機械的に止める仕組みにします。

3. 計画を先に出させて確認する

いきなり作らせるより、先に計画を出させて読むほうが手戻りが減ります。Claude Codeには、コードを変更せずに調べて変更案を出す「プランモード(Plan mode)」があります。CLIでは Shift+Tab でモードを切り替えられます。

計画を読むときに見るのは、コードの書き方より業務の観点です。

  • ステータスの遷移が、要件に書いたものと一致しているか
  • 担当が未決定の依頼が一覧から漏れていないか
  • 既存Excelの取り込みで、表記ゆれ(顧客名の株式会社の有無など)をどう扱うことになっているか

ずれていれば、この段階で修正を指示します。作った後に直すより、ずっと安く済みます。

4. 小さく作って、すぐ動かす

全部の機能を一度に作らせず、「依頼の登録と一覧表示」だけを先に作り、画面で触ってみます。次に担当の割り当て、その次に期限の表示、と1つずつ足していきます。

既存データの取り込みも同じで、まず数件で試し、結果を自分の目で確認してから全件に広げます。頼むときは、次のように結果の数字と根拠を出させると確認が楽になります。

  • 取り込んだ件数と、元のExcelの行数を並べて出す
  • 取り込めなかった行は、行番号と理由を一覧で出す
  • 顧客名を統一した場合は、元の表記と統一後の表記の対応表を出す

黙って直された結果は、後から正しいかどうか判断できません。

うまくいかない方向に進んだときは、元に戻す手段があります。公式ドキュメントによると、/rewind(または空の入力欄で Esc を2回)で、コード・会話、またはその両方を以前の時点に戻せます。ただし対象はClaude Codeが自分のファイル編集機能で変えたファイルで、シェルのコマンドで変更したファイルは戻らないとされています。git でこまめにコミットしておくのが確実です。

5. 業務の観点で動作確認する

テストが通ったことと、業務で使えることは別です。動作確認では、正常な流れに加えて、現場で実際に起きる場面を試します。

観点 確かめること
正常系 登録 → 割り当て → 回答済 まで一通り操作できるか
期限 回答期限を過ぎた依頼が赤く表示され、課長に通知が届くか
同時操作 2人が同じ依頼を同時に更新したとき、片方の変更が消えないか
権限 営業担当が他人の依頼を勝手に失注にできないか
データ 過去3ヶ月分の件数が元のExcelと一致するか
入力 図面の大きなファイルや、数量に「100個」のような文字が入ったときにどうなるか

確認するときは、「確認済み」という出力の一文だけで済ませず、実行したコマンドとその出力、画面のスクリーンショットなど、根拠を出させます。公式のベストプラクティスでも、結果だけでなく証拠を求めることが勧められています。最後は、実際に使う営業担当に触ってもらい、普段の手順どおりに操作できるかを見ます。動作確認の考え方は動作確認の基本の記事にまとめています。

よくある失敗

  • 要件を書かずに「見積管理ツールを作って」と頼む:一般的な見積管理の機能が並び、自社の流れに合わない
  • 一度に全部作らせる:どこで間違えたのか分からなくなり、確認に時間がかかる
  • 計画を読まずに進める:ステータスの定義が要件と違うまま画面が増えていく
  • テストが通ったことを完成とみなす:期限切れや同時更新など、業務の場面を試していない
  • 既存データの取り込み結果を数えない:件数のずれに本番で気づく

この記事のまとめ

  • Claude Codeで作るときも、品質を決めるのは要件整理と動作確認
  • 目的・利用者・データ・ステータス・やらないこと・完了の条件を先に文章にする
  • 毎回守ってほしい決まりごとはCLAUDE.mdに短く書き、絶対に守るべきものは機械的なチェックにする
  • プランモードで計画を出させ、業務の観点でずれを直してから作る
  • 小さく作ってすぐ動かし、件数と根拠を出させて確認する
  • 動作確認は期限・同時操作・権限・データ件数など業務の場面で行い、最後は利用者に触ってもらう

この記事の内容は、ロードマップのStep 6「進めて作る」にあたります。作るものを決める段階はStep 5「決める」で扱っています。体系立てて学ぶなら、FDEガイドの現場導入のための要件定義、動作確認入門、AIプロダクト開発カリキュラムを参照してください。演習とテストはlecture.iplot.jpで取り組めます。

参考