Claude × CO-STARプロンプト術|XMLタグを組み合わせると精度が段違いに上がる理由

CO-STARの6要素をXMLタグで仕切った弁当箱のイラスト

CO-STARを覚えた翌日、意気揚々とClaudeに6要素を全部書いて投げた。出てきた文章を読んで、正直こう思った。「あれ、そこまで変わらなくない?」

Context も Tone も Audience もちゃんと書いた。なのに、なんとなく指示の一部がスルーされている。特に Tone と Style が混ざった感じの、どっちつかずの文体が返ってくる。CO-STARの要素は揃っているのに、Claudeが「どこからどこまでがToneで、どこからがStyleなのか」を取り違えている。

原因はすぐに分かった。弁当箱だ。

仕切りのない弁当箱に、煮物とフルーツと漬物を詰めたことがある人なら分かるはず。食べる頃には全部の味が混ざっている。CO-STARの6要素をベタ書きでClaudeに渡すのは、仕切りなしの弁当箱と同じだ。要素は揃っているのに、境界が曖昧だから味が混ざる。

この記事では、Claudeに CO-STAR を渡すとき、XMLタグという「仕切り」を入れるだけで精度が段違いに上がる理由と、具体的な書き方を実測つきで解説する。

3行まとめ

  • CO-STARをベタ書きで渡すと、Claudeは要素の境界を取り違えることがある
  • 各要素をXMLタグ(<context> <tone>等)で囲むだけで、解釈精度が劇的に上がる
  • Claude は公式にXMLタグの理解を推奨しており、CO-STARとの組み合わせは現状の最適解
目次

なぜClaudeだけXMLタグが効くのか

先に種明かしをしておく。

ChatGPTやGeminiにXMLタグ付きプロンプトを投げても、効果はほぼない。せいぜい「読みやすくなったね」程度だ。ところがClaudeは違う。Claudeは学習段階からXMLタグの構造を理解するように訓練されている。 Anthropic公式ドキュメントにも「XMLタグを使うことで、プロンプトの各パートを明確に区切ることを推奨する」と書いてある。

つまりClaudeにとってXMLタグは「読みやすい装飾」ではなく、「ここからここまでが1つの意味のかたまりだ」という構造情報そのものだ。

弁当箱の比喩に戻ると、仕切りを入れた瞬間に「これは煮物ゾーン、これはフルーツゾーン」と認識が切り替わる。ベタ書きだと全部が1つのテキストの流れとして処理されるが、XMLタグがあると要素ごとに独立した情報ブロックとして処理される。この差が、出力の精度に直結する。

詳しくは ClaudeのXMLタグ完全ガイド で5つの基本パターンを解説しているが、この記事ではCO-STARとの組み合わせに絞る。

実測Before/After ― 3段階で精度はこう変わる

理屈はいい、結果を見せろ、という話だ。

フリーランスのポートフォリオ紹介文を書かせるタスクで、3パターンを試した。指示内容は同一、プロンプトの書き方だけが違う。

パターン1: CO-STARなし(ベタ書き)

Webデザイナーのポートフォリオ紹介文を書いてください。
フリーランス3年目、ECサイト制作が得意、
クライアントは中小企業のマーケ担当、
プロフェッショナルだけど親しみやすい文体で。

結果: 「はじめまして。私はWebデザイナーの○○です。フリーランスとして3年間活動しております」――テンプレ感満載の自己紹介文。Toneが曖昧なので「プロフェッショナル」と「親しみやすい」のどちらにも振り切れず、結果どちらでもない無難な文章が出てくる。

パターン2: CO-STARあり(ベタ書き)

Context: Webデザイナー歴3年のフリーランス。ECサイト制作が専門。月間売上50万〜80万円規模の中小企業案件が中心。
Objective: ポートフォリオサイトのトップページに掲載する自己紹介文を作成する。
Style: 実績ベースの説得力ある構成。数字と具体的な成果を盛り込む。
Tone: プロフェッショナルかつ親しみやすい。硬すぎず、軽すぎず。
Audience: 中小企業のマーケティング担当者。Web制作の外注を検討中。予算感は30万〜80万円。
Response: 300字程度の紹介文。段落は3つ以内。

結果: パターン1よりは格段に良い。実績ベースの構成になり、数字も入った。ただし Style と Tone の境界が曖昧 で、「プロフェッショナルかつ親しみやすい」の解釈が中途半端。具体的には、1段落目は硬い文体、2段落目は急にカジュアル、3段落目はまた硬い、というトーンのブレが出た。

パターン3: CO-STAR + XMLタグ

<context>
Webデザイナー歴3年のフリーランス。ECサイト制作が専門。
月間売上50万〜80万円規模の中小企業案件が中心。
直近の実績: アパレルEC月商120万→210万(リニューアル後3ヶ月)。
</context>

<objective>
ポートフォリオサイトのトップページに掲載する自己紹介文を作成する。
</objective>

<style>
実績ベースの説得力ある構成。数字と具体的な成果を必ず盛り込む。
冒頭で結論(何ができるか)、中盤で根拠(実績)、末尾で次のアクション。
</style>

<tone>
プロフェッショナルだが堅すぎない。一人称は「私」。
敬語ベースで、ところどころ体言止めを混ぜてリズムを出す。
</tone>

<audience>
中小企業のマーケティング担当者。Web制作の外注を検討中。
予算感は30万〜80万円。技術用語は避け、成果(売上・CVR)で語る。
</audience>

<response>
300字程度の紹介文。段落は3つ以内。最後に問い合わせへの導線を1文入れる。
</response>

結果: Tone のブレが消えた。最初から最後まで「敬語ベース+体言止め」で一貫。Style の「冒頭で結論→中盤で根拠→末尾でアクション」の構成もきっちり守られている。Audience の「技術用語は避け、成果で語る」も正確に反映され、「Shopify」「LP」ではなく「月商75%アップ」「問い合わせ数2.3倍」という表現で書かれていた。

仕切りを入れただけで、6要素が全部独立して効いている。

書き方のコツ ― 5つだけ覚えればいい

CO-STAR × XMLタグの書き方で、押さえるポイントは5つだ。

1. タグ名はCO-STARの要素名をそのまま使う

<context> <objective> <style> <tone> <audience> <response> の6つ。凝ったタグ名は不要。Claudeは素直にタグ名を読むので、<writing_style_specification> みたいに長くしても精度は変わらない。短いほうが書く側もラクだ。

2. 1タグ1要素、混ぜない

<style> の中に Tone の指定を書くと、仕切りの意味がなくなる。「文体」と「トーン」は別タグに分ける。当たり前だが、仕切りなし弁当箱に戻る唯一のパターンがこれだ。

3. 閉じタグを忘れない

<context> を開いて </context> で閉じる。HTMLと同じだ。閉じ忘れると、Claudeはその後のテキスト全部を context の一部として解釈する。煮物のゾーンが弁当箱の端まで広がるようなものだ。

4. タグの外に「指示」を書く

以下のCO-STAR指定に従って、紹介文を作成してください。

<context>
...
</context>

<objective>
...
</objective>

この「以下のCO-STAR指定に従って〜」の部分はタグの外に書く。指示文はメタ情報であってCO-STARの要素ではないから、タグの中に入れるとノイズになる。

5. Responseタグに「やってほしくないこと」も書く

<response> にはフォーマット指定だけでなく、制約条件も入れる。

<response>
300字程度。段落は3つ以内。
箇条書きは使わない。「いかがでしたか」系の定型文は禁止。
</response>

Claudeは <response> タグ内の制約をかなり忠実に守る。「やってほしくないこと」を Tone に書くより Response に書いたほうが効く。

応用 ― XMLタグで「追加情報」を渡す

CO-STARの6要素に加えて、Claudeに参考情報を渡したいときがある。競合の文章、過去に書いた原稿、参考URL の要約。こういう追加データは、CO-STARのどの要素にも入れにくい。

そんなときは CO-STARタグの外に、独自タグを追加する

<context>
...
</context>

<objective>
...
</objective>

<reference>
以下は競合3社のポートフォリオ紹介文(冒頭100字):
- A社: 「デジタルで、ビジネスを加速する。...」
- B社: 「あなたのビジョンを、コードで実装します。...」
- C社: 「中小企業に特化したWeb制作チーム。...」
</reference>

<style>
上記の競合と差別化できるトーンで書く。A社のような抽象表現は避け、具体的な数字で勝負する。
</style>

<reference> はCO-STARの正式な要素ではないが、Claudeは問題なく理解する。XMLタグの柔軟性とCO-STARの構造を組み合わせることで、フレームワークの枠を超えた精度が出せる。

これが CO-STAR × XMLタグの真価だ。6要素の「型」と、XMLタグの「拡張性」を掛け合わせると、プロンプトの設計自由度が一気に上がる。

実務で即使える ― CO-STAR × XMLタグ テンプレ3選

理論だけでは動けない。フリーランスが明日使えるテンプレートを3つ置いておく。

テンプレ1: クライアント向け提案メール

以下のCO-STAR指定に従って、提案メールを作成してください。

<context>
Web制作フリーランス。既存クライアントのECサイトリニューアルを提案する。
先方の現サイトは3年前に構築、モバイル対応が不十分、
直近3ヶ月のモバイル比率は68%だが CV率はPCの半分以下。
</context>

<objective>
リニューアル提案メールを作成する。
先方が社内稟議に回せるレベルの根拠を含める。
</objective>

<style>
課題提起→数値根拠→提案→次のステップの4段構成。
箇条書きは3項目以内。長文は避け、全体で400字以内。
</style>

<tone>
ビジネスパートナーとしての信頼感。
「御社」ではなく「〇〇様」で距離を詰めつつ、敬語は崩さない。
</tone>

<audience>
EC事業部のマネージャー。40代。技術には詳しくないが数字には敏感。
「売上が上がるか」が最大の関心事。
</audience>

<response>
メール本文のみ。件名は含めない。署名は不要。
</response>

Tip: Audience に「数字には敏感」と書いたことで、Claudeはモバイル比率やCV率の数字を自然に本文に織り込んでくる。これをベタ書きで渡すと、数字が1つも入らないメールが返ってくることがある。仕切りの効果が最も分かりやすいシーンだ。

テンプレ2: ブログ記事の構成案

以下のCO-STAR指定に従って、ブログ記事の構成案を作成してください。

<context>
フリーランス向けメディアの運営者。
SEO集客がメイン、月間PVは約3万。
ターゲットキーワード: 「フリーランス 確定申告 経費」
</context>

<objective>
H2・H3レベルの見出し構成案を作成する。
上位10記事との差別化ポイントを各H2に1つずつ注記する。
</objective>

<style>
見出しは体言止め。「〜とは」「〜について」は禁止。
H2は5つ以内、各H2の下にH3は2〜3個。
</style>

<tone>
見出しそのものにフリーランスの「あるある感」を入れる。
読者が目次を見ただけで「あ、これ自分のことだ」と思えるレベル。
</tone>

<audience>
開業1〜3年目のフリーランス。確定申告は自力でやっている。
税理士には頼んでいない。経費の線引きに不安がある。
</audience>

<response>
Markdown形式の見出し一覧。各H2の後に【差別化ポイント】を1行で注記。
本文は不要、見出しのみ。
</response>

Tip: Style に「体言止め」「『〜とは』禁止」を入れることで、ありがちなテンプレ見出しが消える。Tone の「あるある感」も、XMLタグで独立させているからこそ、Style の制約と干渉せずに効く。

テンプレ3: SNS投稿文(X / Twitter)

以下のCO-STAR指定に従って、X(Twitter)の投稿文を作成してください。

<context>
AI活用術を発信しているフリーランスのアカウント。
フォロワー1,200人、エンゲージメント率は平均4.2%。
今朝Claudeで議事録要約を試したら、精度が想像以上だった。
</context>

<objective>
体験ベースの投稿文を作成する。
「自分もやってみよう」と思わせるのがゴール。
</objective>

<style>
1ツイート(140字以内)。改行は2回まで。
冒頭にフック、中盤に具体、末尾にオチまたは問いかけ。
</style>

<tone>
興奮しているけど冷静。「!」は1回まで。
フォロワーに話しかける温度感。説教臭さゼロ。
</tone>

<audience>
AIに興味があるが、まだ本格的に使っていないフリーランス。
「すごそうだけど自分には関係ない」と思っている層。
</audience>

<response>
投稿文のみ。ハッシュタグは2つまで。URLは含めない。
</response>

Tip: 140字の短文でこそ、仕切りの効果は大きい。ベタ書きだとClaudeは「冷静なのか興奮しているのか」で迷い、結果どちらでもない無難なツイートを出す。Tone を独立タグで明示すると、「興奮しているけど冷静」というニュアンスまで再現してくれる。

よくある質問(FAQ)

Q: ChatGPTでも同じことをやったら効く?

ほぼ効かない。 ChatGPTはXMLタグを「装飾」として読むので、タグの有無で出力が大きく変わることは少ない。ChatGPTの場合はMarkdownの見出し(#, ##)やセクション分けのほうが効果的だ。CO-STAR × XMLタグは Claude専用の最適化テクニック だと割り切っていい。

Q: タグの順番はCO-STARの順番じゃないとダメ?

どの順番でも動く。 Claudeはタグ名で内容を判別するので、Audience を先に書いても問題ない。ただし、C→O→S→T→A→R の順番で書くと自分が見返しやすいので、習慣として揃えておくのがおすすめだ。

Q: タグ名は英語じゃないとダメ?

日本語でもOK。 <文脈> <目的> <文体> でもClaudeは理解する。ただし、英語のほうがトークン数が少なく済むし、CO-STARの原語と一致するので、英語タグが無難だ。

Q: 毎回6要素全部書かないとダメ?

不要な要素は省略していい。 コードレビューを頼むなら Style と Tone は要らない。CO-STARフレームワーク完全ガイド でも書いたが、6要素はフル装備であって必須装備ではない。案件に応じて3〜4要素でも十分効く。

まとめ ― 仕切りを入れろ。味が変わる

CO-STARは「何をAIに伝えるか」のフレームワーク。XMLタグは「どう伝えるか」のフォーマット。この2つを掛け合わせたとき、Claudeの出力精度は最大になる。

やることは単純だ。

  1. CO-STARの6要素を書く
  2. 各要素を <context> <objective> … で囲む
  3. 閉じタグを忘れない
  4. 必要なら <reference> 等の独自タグを追加する

弁当箱に仕切りを入れるだけで、同じ食材でも味が混ざらなくなる。プロンプトも同じだ。

CO-STARの6要素がまだ身体に入っていない人は、まず CO-STARフレームワーク完全ガイド で基礎を固める。XMLタグの書き方をもっと深掘りしたい人は ClaudeのXMLタグ完全ガイド へ。すぐに使えるテンプレートが欲しい人は CO-STAR実践テンプレート集 で10シーン分のコピペ発注書を手に入れてほしい。

仕切りを入れろ。同じ材料でも、味は変わる。

AIに経費管理まで任せてみる?

フリーランスのプロンプト設計が固まったら、次は日々の経費管理もAIに投げてしまおう。LANCE はレシートをLINEで撮って送るだけで、AIが自動仕訳してくれるフリーランス向け家計簿アプリだ。確定申告の準備まで自動化できる。

LANCE — レシートを撮るだけのAI家計簿(無料)

目次