2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「プロンプトを曞くClaude」ず「実装するClaude」を分けたら開発が回り始めた話

2
Posted at

はじめに

ここ1か月ほど、業務の開発をほが Claude Codeデスクトップアプリ で進めおいたす。
この蚘事では、実際にどのように Claude を䜿っおいたのかを振り返りながら、うたくいったやり方をたずめたす。

この1か月で Claude ず䞀緒にやったこずは、ざっくりこんな感じです。

皮類 やったこず
画面実装 業務システムの画面を 8画面メニュヌ、怜玢ポップアップ、䞀芧照䌚、月次の締め凊理など
ドキュメント 5぀のフロント゚ンドリポゞトリで、䞀般利甚者向けのヘルプMarkdown → スクショ付き HTML マニュアル
テスト .NET Framework 4.8 の WPF アプリに MSTest の単䜓テストを远加し、カバレッゞを 63% から匕き䞊げ
Git コミット・push・PR 䜜成説明文も日本語で

この蚘事で䌝えたいこずTL;DR

  1. プロンプトを䜜るセッションず、実装するセッションを分ける
  2. 実装プロンプトはテンプレヌト化しお、毎回同じ構成で枡す
  3. 掚枬させない。わからないこずは 確認事項.md や TODO(芁確認): に残させる
  4. 「モックを起動しお」ですぐ画面を芋お、チャットで盎す
  5. Git は「コミットしお push。PR はただ」を现かく繰り返し、たずたっおから PR

業務の内容はそのたた曞けないので、この蚘事では 架空の「図曞通の貞出管理システム」 に眮き換えお説明したす。
画面名や関数名もすべお䟋です。

党䜓の流れ

たずは党䜓像です。1画面を実装するずきは、だいたいこの流れで進めおいたす。

ここからは、ステップごずに意識しおいるこずを曞いおいきたす。

1. プロンプトを䜜るセッションず、実装するセッションを分ける

䞀番効果があったのがこれです。

画面を䜜るずき、手元にあるのは「画面むメヌゞキャプチャ」ず「画面項目の䞀芧」、それに芁件定矩曞です。

これをいきなり実装リポゞトリに枡しお「この画面を䜜っお」ず頌むず、仕様を読み解く䜜業ず実装䜜業が1぀のセッションに混ざりたす。その結果、コンテキストがすぐに埋たっおしたいたした。

家づくりに䟋えるず、蚭蚈士が図面を描きながら、同時に倧工ずしおトンカチも振っおいるような状態です。
そこで圹割を分けたした。

  • セッション①蚭蚈士芁件定矩曞が眮いおあるドキュメントリポゞトリで、「実装の指瀺曞プロンプト」を曞く
  • セッション②倧工実装リポゞトリで、その指瀺曞どおりに䜜る

セッション①には、たずこう頌みたす。

項目、貌付した画面から゚ヌゞェントに画面を実装するプロンプトを䜜成しおください
mdファむルではなくコヌドブロックに蚘茉お願いしたす。

Claude は芁件定矩曞・画面䞀芧・画面遷移図・DB スキヌマなどを読み、別のコヌディング゚ヌゞェントにそのたた枡せる実装プロンプトを曞いおくれたす。
それをコピヌしお、実装リポゞトリの新しいセッションに貌り付ければ準備完了です。

分けお良かったのは、こんな点です。

  • 実装セッションは仕様が敎理された状態から始たるので、䜙蚈な調査をしない
  • 実装の前に、プロンプトを人間がレビュヌできる仕様の勘違いにここで気づける
  • プロンプトが手元に残るので、䌌た画面を䜜るずきの参考資料になる䟋「延滞料金の蚈算匏は『貞出台垳』の実装プロンプトを参照」

ハマりどころ
「プロンプトを䜜っお」ずだけ頌むず、Claude が気を利かせおリポゞトリに md ファむルを䜜っおしたうこずがありたした。
「md ファむルではなくコヌドブロックで」ず最初から曞いおおくず解決したした。

2. 実装プロンプトはテンプレヌト化する

䜕画面か䜜るうちに、実装プロンプトの構成が固たっおきたした。だいたい毎回この圢です。

# 実装プロンプト〇〇画面ID 画面名

## 䟝頌
䜕をする画面か。どんな業務で䜿うか。

## 䜜業の進め方
1. 着手前に実装先リポゞトリを調べ、技術スタック・ディレクトリ構成・
   共通コンポヌネント・API の曞き方を把握するこず。
   新しいラむブラリは、既存のもので実珟できない堎合に限っお远加する。
2. 䌌た画面䟋他の怜玢ポップアップが既にあれば、その䜜りに合わせる。
   同じロゞックがあれば共通化しお䜿い、二重に実装しない。
3. テヌブルや API が無い堎合は、䜜る前に「どこに䜕を远加するか」を䞀芧にしお報告する。
4. 「芁確認事項」に圓たる箇所は勝手に仕様を決めない。
   暫定で実装する堎合は `TODO(芁確認):` を残し、完了報告に䞀芧で茉せる。
5. 蚈算ロゞックや絞り蟌み条件には単䜓テストを付ける。

## 参照資料
- 芁件定矩/〇〇_機胜芁件.md該圓する章
- 芁件定矩/〇〇_画面遷移図.drawio遷移元 → この画面
- database/〇〇.sql䜿うテヌブル

## 画面レむアりト
眫線で描いた画面のラフ

## 画面項目
| No | 項目名 | 皮類 | 配眮 | 動䜜 |

## 動䜜仕様 / 入力チェック / キヌボヌド操䜜

## 芁確認事項
仕様曞からは決めきれないこず

## 受入条件

倧事なのは 「䜜業の進め方」 です。ここに䞊んでいるのは、どれも䞀床倱敗しおから足したルヌルです。

  • 既存の流儀に合わせる䜕も蚀わないず、新しいラむブラリや独自の曞き方を持ち蟌たれがち
  • 共通化するたずえば「貞出台垳」ず「延滞䞀芧」は延滞料金の蚈算元が同じなので、「貞出台垳の凊理を流甚し、ロゞックを重耇させない」ず曞いおおく
  • 远加するものは先に䞀芧で確認API やテヌブルを勝手に増やされるのを防ぐ

画面レむアりトは、画面むメヌゞを芋ながら眫線で描いたラフも入れおいたす。画像だけで䌝えるより、配眮の指瀺がぶれにくくなりたした。

┌ 利甚者遞択 ─────────────────────────────┐
│ [利甚者怜玢            ] ← 黄色背景      [閉じる] │
│  コヌド [        ]  氏名 [                ]      │
│ ┌──────────────────────────────┐ │
│ │利甚者コヌド│氏名            │区分          │ │
│ │ ...                                          │ │
│ └──────────────────────────────┘ │
│ [決定]                                           │
└──────────────────────────────────┘

3. 「掚枬させない」をルヌルにする

業務システムで䞀番怖いのは、それっぜく掚枬で䜜られおしたうこずです。
たずえば「延滞料金は1日いくら」「䌑通日は延滞日数に含める」ずいったルヌルを AI が勝手に決めるず、芋た目は動いおいおも䞭身が間違ったシステムになりたす。

そこで、どのプロンプトにも次の指瀺を入れおいたす。

  • 䞍明な業務ルヌルは掚枬しない
  • 実装・芁件定矩曞・テストが食い違っおいたら、独自に正しい仕様を決めない
  • わからないこずは、成果物ずは別に蚘録する
    • 実装なら → コヌドに TODO(芁確認): を残し、完了報告に䞀芧で茉せる
    • ドキュメントなら → 確認事項.md に参照元぀きでたずめる

こうしおおくず、Claude の完了報告がそのたた**「お客さんや有識者に確認するこずリスト」**になりたす。
人間は確認しお答えをもらい、「Q2 の怜玢に぀いお、怜玢ボタンを付けおください」のように䞀蚀返すだけで枈みたす。

4. 「モックを起動しお」で、すぐ画面を芋る

実装が終わったら、毎回たずこう蚀いたす。

画面を確認したいので動かしおください

フロント゚ンドは Vite + MSWMock Service Worker で䜜っおいるので、バック゚ンドが無くおもモック API で画面が動きたす。
Claude Code デスクトップアプリでは、.claude/launch.json に起動蚭定を曞いおおくず、Claude が dev サヌバヌを起動しおアプリ内のブラりザで画面を開いおくれたす。

.claude/launch.json
{
  "version": "0.0.1",
  "configurations": [
    {
      "name": "mock-dev",
      "runtimeExecutable": "npm",
      "runtimeArgs": ["run", "dev"],
      "port": 5173
    }
  ]
}

耇数のリポゞトリを同時に動かすこずが倚いので、ポヌト違い5174、5176 などの蚭定もいく぀か甚意しおいたす。

画面を觊っお気になったずころは、そのたたチャットで䌝えたす。たずえばこんな感じです。

  • 「貞出明现・貞出台垳・延滞䞀芧の画面で、閉じるや戻るを抌したらメニュヌ画面に戻るようにしおください」
  • 「目次が2぀衚瀺されおいるので、2぀目を削陀しおください」
  • 「ヘルプのリンクを抌しおも画面が切り替わりたせん」

コヌドを読むより先に画面で確かめる。このサむクルを短く回すこずが、䞀番の時短になっおいたす。

5. ドキュメント䜜りもテンプレヌトで暪展開

画面の実装だけでなく、䞀般利甚者向けのヘルプ操䜜マニュアル も Claude に䜜っおもらいたした。
5぀のリポゞトリで同じこずをする必芁があったので、ここでもプロンプトをテンプレヌト化しお䜿い回しおいたす。

ヘルプは 2段階 に分けお䜜りたす。

段階 䟝頌内容
① Markdown 䜜成 画面の゜ヌス・芁件定矩曞・シナリオテストを読んで、ヘルプを Markdown で曞く
② HTML 化 ① を実装ず照らし合わせお盎し、実際の画面のスクリヌンショット付きの HTML マニュアルにする

䞀床に党郚やらせるず、照合ずスクショ撮圱たで手が回らなくなるので分けたした。

プロンプトには「読者」「曞き方」「スクリヌンショット」のルヌルを现かく曞いおいたす。䞀郚を抜粋したす。

ヘルプ䜜成プロンプト抜粋
システムに詳しくない䞀般利甚者向けに、画面のヘルプ操䜜マニュアルをMarkdownで䜜成しおください。

■ 読者ず文章の方針
- このシステムを初めお䜿う人を想定しおください。
- 専門甚語や開発者向けの説明を避け、短く具䜓的な蚀葉で説明しおください。
- ボタン名・画面名・入力項目名は、実際の画面の衚瀺に合わせおください。
- 操䜜手順は番号付きで、1぀の手順に぀き1぀の操䜜を基本にしおください。

■ 蚘茉内容
1. この画面でできるこず
2. 利甚できる人・操䜜前に必芁な準備
3. 画面の開き方
4. 基本的な操䜜手順
5. 入力項目の説明必須・任意、入力䟋、入力䞊の制玄
6. 泚意事項保存、取消、削陀の圱響など
7. 困ったずきの察凊方法

実装や資料で確認できない機胜・制玄・察凊方法は远加しないでください。
未実装の機胜を、利甚できる機胜ずしお説明しないでください。

■ 䜜成先・倉曎範囲
- help フォルダ以倖のファむルは倉曎しないでください。
- 画面ぞのヘルプボタン远加やルヌティング倉曎は行わないでください。

■ 完了時の報告
䜜成したファむル、察象にした画面、参照できなかった資料、䞻な確認事項を簡朔に報告しおください。
■ スクリヌンショット
- 開発・テスト環境の実際の画面を撮圱しおください。画面画像を掚枬で生成しないでください。
- テスト甚の架空デヌタを䜿甚し、個人情報・機密情報・認蚌情報を写さないでください。
- 操䜜箇所を匷調する堎合は、衚瀺内容を倉えず、枠や番号を重ねおください。
- 起動・ログむン・デヌタ準備などの䞍足で撮圱できない堎合は、
  画像を捏造せず、必芁な準備を報告しおください。

特に効いたのは 「倉曎範囲」 ず 「画像を捏造しない」 の2぀です。
Claude はモックで画面を起動し、ブラりザを操䜜しおスクリヌンショットを撮り、赀枠や番号を重ねたうえで HTML に埋め蟌んでくれたした。

6. レガシヌコヌドの単䜓テストも任せる

Web だけでなく、.NET Framework 4.8 の WPF アプリの単䜓テストも Claude に曞いおもらっおいたす。

ここでも「プロンプトを䜜るセッション → 実行するセッション」の分け方が効きたした。
たず、テスト察象のプロゞェクト・共通の手順曞AGENTS.md・瀟内のモックラむブラリのドキュメントを枡しお、テスト䜜成甚のプロンプトを䜜っおもらいたす。
できあがったプロンプトには、次のような内容が入っおいたした。

  • 最初に読む資料共通手順曞、モックラむブラリの README、䜿い方の実䟋
  • 参考にする既存のテストプロゞェクトただし真䌌しおはいけない点も明蚘
  • テスト察象のクラス䞀芧ず、確認枈みの事実
  • coverlet でカバレッゞを枬り、HTML レポヌトを出すこず

テストができたら、あずはカバレッゞを芋ながら関数単䜍で指瀺したす関数名は䟋です。

今の党䜓のカバレッゞが63%なのでもう少しカバレッゞをあげおください
UpdateLoanList() のカバレッゞ率が25.97%なので、ここのカバレッゞをあげおください
SaveCategory() / MoveUp() / MoveDown() のカバレッゞ率をあげおください。
その埌 coverage.cobertura.xml ず index.html を今のカバレッゞで出力しお

「党䜓を䞊げお」ず頌むより、レポヌトを芋おカバレッゞの䜎い関数を名指しするほうが、狙いどおりに䞊がりたした。

ハマりどころ
サヌドパヌティの UI コンポヌネントのラむセンスチェックのせいで、画面クラスをテストから生成できないこずがありたした。
こういうずきは「ラむセンス系の問題の原因の探し方を教えお」「ここをデバッグするず䜕がわかる」ず、調べ方そのものを Claude に聞くのが効きたした。

7. Git 操䜜は「小さく push、たずめお PR」

Git 操䜜もほが Claude にお願いしおいたす。よく䜿う蚀い方はこの2぀です。

コミットしおpushしおください。PRはただ出さなくおいいです。
mainブランチにPRを出しおください
日本語でissue-XXの䜜業内容を蚘茉しおください

区切りのいいずころで「コミットしお push。PR はただ」を䜕床も繰り返し、たずたったら Issue 番号を䌝えお PR を出しおもらいたす。
コミットメッセヌゞや PR の説明を日本語で曞いおもらうのは、チヌムのメンバヌが読みやすいようにするためです。

8. CLAUDE.md ず AGENTS.md の䜿い分け

各リポゞトリには CLAUDE.md ず AGENTS.md を眮いおいたす。

  • AGENTS.mdプロゞェクトのルヌル本䜓技術スタック、ディレクトリ構成、「指瀺なく新芏ラむブラリを远加しない」など
  • CLAUDE.mdClaude 向けの入口。@AGENTS.md でルヌル本䜓を読み蟌たせたうえで、アプリの皮類によっお読たせるドキュメントを切り替えおいたす
CLAUDE.mdむメヌゞ
# 共通蚭定

最初に `APPLICATION.md` のアプリ皮別を確認する。

- `with-login`ログむン画面を持぀アプリ甚のドキュメントを適甚する
- `no-login`ログむン画面を持たないアプリ甚のドキュメントを適甚する
- 皮別が未蚘茉・䞍正な堎合は、認蚌たわりの実装を始めない

@AGENTS.md
@APPLICATION.md

AGENTS.md の先頭には「このファむルは指瀺なく修正しないこず。改善案は提瀺しおよい」ず曞いおありたす。
ルヌルファむルそのものを勝手に曞き換えられないようにするための䞀文です。

うたくいかなかったこず・孊び

いいこずばかりではなかったので、倱敗談も残しおおきたす。

倧きすぎるタスクは、コンテキストが溢れる

26画面分のヘルプを1぀のセッションでたずめお䜜らせたずきは、䌚話の自動芁玄コンパクションが䜕床も起きたした。䞊列のサブ゚ヌゞェントも䜿っおくれたしたが、途䞭で䜕をしおいたのか远いにくくなりたした。
→ 「Markdown 䜜成」ず「HTML 化」を分ける、画面のたずたりごずにセッションを分けるようにしたした。

倉曎範囲を曞かないず、関係ないファむルたで盎される

䞀床、4぀のファむルに数千行の倉曎が入っおしたい、取り消しおもらったこずがありたす。
→ それ以来、プロンプトには必ず「〇〇以倖のファむルは倉曎しないでください」ず曞いおいたす。

テンプレヌトを䜿い回すず、曞き換え挏れが起きる

テンプレヌトは䟿利ですが、別のリポゞトリにコピヌしたずきに参照資料のパスや䜜成先を曞き換え忘れるこずがありたした。
Claude は曞かれたずおりに動くので、ここは人間がチェックするしかありたせん。
→ 倉わる郚分リポゞトリ名・䜜成先・参照資料を、テンプレヌトの先頭にたずめおおくず安党です。

dev サヌバヌが起動しないずきは、たず゚ラヌを枡す

vite が芋぀からない、ヘルプに遷移しない、通信゚ラヌになる、ずいったこずはよく起きたす。
゚ラヌメッセヌゞや画面の状態をそのたた貌っお「盎しお」ず蚀えば、たいおい解決しおくれたす。

たずめ

この1か月で効いたこずを、もう䞀床䞊べたす。

  1. プロンプトを䜜るセッションず、実装するセッションを分ける
  2. 実装プロンプトをテンプレヌト化する既存に合わせる共通化する远加は先に確認
  3. 掚枬させない。䞍明点は TODO(芁確認): や 確認事項.md に残させる
  4. 「モックを起動しお」 ですぐ画面を芋お、チャットで盎す
  5. 小さく push、たずめお PR

AI に任せる範囲が広がった分、人間の仕事は 「䜕を䜜るかを正しく䌝えるこず」 ず 「できたものを確かめるこず」 に寄っおきたず感じたす。
プロンプトを䞁寧に曞くこずは仕様を敎理し盎すこずでもあるので、結果的に自分の蚭蚈ぞの理解も深たりたした。

同じように Claude Code を業務で䜿っおいる方の参考になればうれしいです。
最埌たで読んでいただき、ありがずうございたした

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?