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の出力精度は最大になる。
やることは単純だ。
- CO-STARの6要素を書く
- 各要素を
<context><objective>… で囲む - 閉じタグを忘れない
- 必要なら
<reference>等の独自タグを追加する
弁当箱に仕切りを入れるだけで、同じ食材でも味が混ざらなくなる。プロンプトも同じだ。
CO-STARの6要素がまだ身体に入っていない人は、まず CO-STARフレームワーク完全ガイド で基礎を固める。XMLタグの書き方をもっと深掘りしたい人は ClaudeのXMLタグ完全ガイド へ。すぐに使えるテンプレートが欲しい人は CO-STAR実践テンプレート集 で10シーン分のコピペ発注書を手に入れてほしい。
仕切りを入れろ。同じ材料でも、味は変わる。
AIに経費管理まで任せてみる?
フリーランスのプロンプト設計が固まったら、次は日々の経費管理もAIに投げてしまおう。LANCE はレシートをLINEで撮って送るだけで、AIが自動仕訳してくれるフリーランス向け家計簿アプリだ。確定申告の準備まで自動化できる。
—

