プロンプトはどこまで粗くても動くのか
Claude Codeを使うにあたって、「指示をどの程度丁寧に書けばよいのか」と迷われる方は多いかと思います。仕様を細かく書いた方がよいのか、それとも簡単な一言でも意図を汲んでくれるのか。
今回はその点を確かめるため、プロンプトの粒度を4段階に変えて同じタスクを実行してみました。お題は「フォーマットの異なるPDF3枚をExcelにまとめる」という小さなタスクです。各レベルでどのようなExcelが生成されたかをご紹介したいと思います。
※ Claude CodeはAnthropicが提供するCLIツールです。ターミナルから起動し、ファイル操作・コード生成・ライブラリのインストールまで自然言語で指示できます。
実験の設定
プロンプトの粒度だけを変えて比較するため、素材は4回とも同じものを使用しました。
使用したサンプルPDF
今回使用したPDF自体も、Claude Codeに生成させたものです。フォーマットや項目をわざと変えた3種類を用意しました。

▲ 請求書(テクノサービス) ― 青系レイアウト、4明細

▲ 請求書(フジデザイン) ― 緑系ヘッダー、単位列あり、5明細

▲ 領収書(鈴木オフィスサポート) ― 異なる文書種別、シンプル構成
※ 登場する会社名・人名・住所はすべて架空のものです。実在する企業・個人・団体とは一切関係ありません。
これら3枚を同じフォルダに入れ、Claude Codeを新規起動した状態からプロンプトを入力しました。紹介する順は「丁寧→粗い」です。粗い側ほどClaude Codeの自律的な動きが顕著になりますので、最後まで読んでみていただければと思います。
レベル④ 丁寧:列名・ルール・シート名・ファイル名をすべて指定
最初は比較の基準として、列名・ルール・シート名・ファイル名をすべて明記したプロンプトです。要件を網羅的に書いた、最も丁寧なパターンとなります。
「pdfフォルダにある3つのPDFを読み込んで、以下の列を持つExcelファイルを作成して。
列:文書種別・発行元会社名・宛先会社名・発行日・請求書番号・小計・消費税額・合計金額
ルール:
– 金額は数値型で入力(円マークやカンマなし)
– 領収書の場合、請求書番号の列は「領収書番号」の値を入れる
– 発行日はYYYY/MM/DD形式
– シート名はsummary
– 出力ファイル名はoutput.xlsx」

▲ レベル④ のプロンプト入力画面

▲ レベル④ の出力結果(前半:3件分のデータ抽出)

▲ レベル④ の出力結果(後半:完了メッセージ、処理時間 1分38秒)

▲ レベル④ の生成Excel(summaryシート)
summaryシートに指定通り8列が並び、3件のデータが整理されました。金額はルールで指定したとおり数値型(カンマなし)で出力され、発行日もYYYY/MM/DD形式で揃っていました。
ただし列幅が自動設定のままで、一部の文字が見切れている点は気になりました。列幅の指定はプロンプトに含めていなかった部分です。
詳細なルールを書くことで出力のブレは抑えられますが、プロンプトを書く手間は増えます。このバランスについては、次のレベルと比べてみると見えてくるかと思います。
レベル③ 普通:欲しい列名だけ伝える
次は、場所と欲しい列の名前だけを書いたプロンプトです。ルール・ファイル名・シート名は一切指定せず、残りの判断はClaude Codeに委ねています。
「pdfフォルダにある請求書と領収書を読んで、Excelにまとめて。会社名・日付・合計金額を出して」

▲ レベル③ のプロンプト入力画面

▲ レベル③ の出力結果(処理時間 57秒)

▲ レベル③ の生成Excel(請求書・領収書一覧シート)
No.・種別・会社名・発行日・合計金額(税込)・ファイル名の6列一覧が完成しました。プロンプトで指定したのは「会社名・日付・合計金額」の3項目のみでしたが、「No.」「種別」「ファイル名」列と最終行の合計(¥832,700)がいずれも自動で追加されています。いずれも指示には含まれていませんでしたが、実用上あると便利な項目かと思います。
レベル④と比べると指定列数は少なく、プロンプトも短くなっています。それでいて出力の実用性はほぼ変わらない、あるいは上回る結果となりました。4段階を通じて、実用上のバランスが最もよいのはこのレベルだと感じました。
レベル② 粗い:目的だけを一行で伝える
「何をしたいか」だけを伝え、フォーマットや列名は一切指定しないパターンです。
「pdfをExcelにして」

▲ レベル② のプロンプト入力画面

▲ レベル② の出力結果(処理時間 3分22秒)

▲ レベル② の生成Excel(請求書_テクノサービスシート)

▲ レベル② の生成Excel(請求書_フジデザインシート)

▲ レベル② の生成Excel(領収書_鈴木オフィスサポートシート)
PDF1枚につき1シートという構成で、シート名はファイル名と同じになっています。各シートには請求書番号・発行日・支払期限・品目の明細・小計・消費税・合計まで、PDFに含まれる情報が網羅的に整理されていました。
フォーマットを指定しなかった分、Claude Codeは各PDFの情報をできるだけ取り込む方向で判断したと考えられます。処理時間が3分22秒と最も長くなったのも、3枚分の明細を1枚ずつ整理したためかと思います。3枚が別シートに分かれているため横断的な集計には向きませんが、書類ごとに内容を確認したい場合はこの構成でも十分かと思います。
レベル① 超粗い:「まとめて」→「pdf」の計7文字
最後は、プロンプトをできる限り短くしたパターンです。最初のプロンプトは一言だけです。
「まとめて」

▲ レベル① 最初のプロンプト「まとめて」→ 何をまとめるか聞き返される
「何をまとめますか?現在のプロジェクト(pdf_to_excel_01)のコードや進捗についてですか?」と確認が返ってきました。情報が不足している場合はこのように聞き返してくれます。そこで2回目に返したのは、次の一言です。
「pdf」

▲ 「pdf」と返すと自律的に処理を開始。フォルダ内のPDFを確認し、ライブラリのインストールエラーも自己解決しながら処理を進める
「pdf」の3文字を受け取ると、Claude Codeはフォルダを自分で確認し、3つのPDFを発見して読み込みを開始しました。途中、Excelライブラリのopenpyxlがインストールされていないエラーが発生しましたが、自らpip installを実行して処理を再開しました。

▲ レベル① の最終出力結果(処理時間 1分19秒)

▲ レベル① の生成Excel(一覧シート)

▲ レベル① の生成Excel(明細シート)
完成したのは「請求書_領収書まとめ.xlsx」で、シート構成まで自律的に設計された2シート構成となっています。
「一覧」シートはNo.・書類種別・書類番号・発行日・支払期限・発行元・請求先・小計・消費税・合計(税込)の10列構成で、合計行とネイビーのヘッダーデザインも付いています。「明細」シートには各書類の品目・単位・数量・単価・金額が書類ごとにグループ化されて記録されています。
この結果が「まとめて」→「pdf」の2往復、合計7文字のやり取りから生成されたものとなります。シート構成やデザインを含めて、Claude Code側で判断・設計されています。
まとめ
4段階の結果を整理します。

どのレベルでも、最終的にExcelファイルは完成しました。レベルが変わるにつれて出力のフォーマットは変化しますが、「動かない」という結果にはなりませんでした。
プロンプトが短くなるにつれて変わるのは「出力の形式」であり、その分Claude Codeが構成・設計・補完を自律的に行っています。出力フォーマットに強いこだわりがなければ、短いプロンプトでも実用的な結果が得られるかと思います。
今回の実験では「まとめて」→「pdf」の計7文字(1回の確認あり)でもExcelファイルが完成することを確認できました。
おわりに
Claude Codeへの指示は、必ずしも詳細に書く必要はないかと思います。短い指示でも意図を汲んで動いてくれる場面が多く、不足していれば確認を返してくれます。
まずは簡単な一文で試してみて、結果を見ながら指示を補っていくアプローチでも、十分に活用できるツールかと思います。
