なぜAIの回答には「**」や「##」が付いてくるのか
AI文章の整形コラム
今回は、「そもそもなぜAIの文章には『**』や『##』が付いてくるのか」という仕組み側の話です。
消し方については別の記事(ChatGPTの文章の「**」や「##」を一括で消す方法)にまとめてあるので、ここでは理由の方を掘り下げます。
正体はMarkdownという記法
「**」や「##」は、Markdown(マークダウン)という文書記法の記号です。
# 見出し→ 見出しになる**強調**→ 太字になる- 項目→ 箇条書きになる
記号で文章の構造を示すルールで、エンジニアの世界では標準的な書き方として広く使われています。
チャット画面では記号が「見えない」
ポイントは、ChatGPTなどのチャット画面は、Markdownを装飾に変換して表示していることです。
AIが出力しているのは「**強調**」という記号付きのテキストですが、画面上では変換後の太字だけが見えています。
そしてコピーで取り出されるのは、多くの場合、変換前の記号付きテキストの方です。
画面では見えなかった記号が、貼り付けた先で現れる。
「コピペしたら**が付いてきた」の正体はこれです。
記号が後から付いてきたのではなく、最初からそこにあったものが見えるようになった、という方が正確です。
なぜAIはMarkdownで書くのか
理由として公式に語られることは少ないようですが、次の2点で説明されるのが一般的です。
- 学習データにMarkdownの文書が大量に含まれている(技術文書やWeb上のテキストの多くがMarkdownで書かれているため)
- 見出しや箇条書きで構造を示せるので、チャット画面での表示に都合がいい
チャットの中で完結する分には、これは合理的な仕組みです。
困るのは、その文章をWordやメールなど、Markdownを解釈しない場所へ持ち出したときだけです。
出力させない指示と、その限界
「Markdownを使わず、プレーンテキストで回答して」と指示すれば、記号なしの回答になります。
ただし、会話が長くなると元のスタイルに戻ってくることがあり、新しい会話のたびに指示し直す必要もあります。
根本的に止める設定は現状ないようなので、「出てきた記号を後から消す」処理をどこかに挟むのが現実的です。
消し方の選択肢は冒頭で触れた別記事にまとめていますが、当サイトのSuppinizeに貼り付ければ、記号の役割ごとにまとめて処理できます。
まとめ
AIの回答に付いてくる記号は、バグでも文字化けでもなく、Markdownという記法として意味を持った記号です。
仕組みが分かると、「チャット画面とコピペ先で見た目が違う」現象にも説明が付きます。
記号の正体を知った上で、消すなり活かすなり選べるようになるのが一番良い状態かもしれません。
余計な記号をワンクリックで除去
Suppinizeなら、文章をペーストするだけでマークダウンや行頭絵文字をすっきり除去できます。