注意
この記事は、筆者のNote記事「【AI術】ChatGPTの「余計な一言」を秒で消す。執筆効率を最大化するたった2行の指示」を、Qiita向けに技術的な観点から再構成したものです。
はじめに
生成AIにドキュメントの整形や校正を依頼した際、以下のような「丁寧な前置き(Preamble)」が出力されてイラッとしたことはないでしょうか。
「はい、承知いたしました! ご指示通りに整形した文章を以下に提示します。ご確認ください。」
エンジニアや研究者にとって、AIは「良き話し相手」である以前に、**「入力に対して期待した出力を返す関数」**であってほしい場面が多々あります。特にObsidianやVSCodeでドキュメントを書いている時、この前置きを手動で削除する作業は明確な「ノイズ」です。
今回は、ChatGPT等のLLMを**「純粋なテキスト変換関数」**として振る舞わせ、Markdown形式で即コピペ可能な状態で出力させるためのプロンプトハックを紹介します。
解決したい2つの課題
ドキュメント作成において、通常のチャットUIには2つの阻害要因(ボトルネック)があります。
-
ノイズ(前置き・解説)の混入
- 成果物をコピーする際、冒頭の挨拶や末尾の解説を手動でトリミングする必要がある。
-
Markdownのレンダリング問題
- チャット画面上でMarkdownがレンダリング(太字や見出しが適用)されてしまうと、コピーした際にリッチテキスト情報が付与され、貼り付け先(QiitaやNotionなど)で書式が崩れる原因になる。
- 欲しいのは「レンダリング後の表示」ではなく、
#や**を含んだ**「Raw(生)データ」**である。
解決策:制約条件にこの2行を加える
プロンプトの最後に、以下の条件を追加します。
1. 解説や前置きは一切不要です。コードブロックの中身のみを出力してください。
2. 結果をそのままコピペできるように、全体をコードブロックで囲んだマークダウン形式にしてください。
なぜこれが効くのか?
-
stdout のみを要求する
- 「解説や前置きは一切不要」と明記することで、LLMにシステムメッセージ的な出力を抑制させます。これにより、Unixコマンドのように「入力→出力」だけのフローを実現します。
-
コードブロックによる「Rawデータ化」
- ここがポイントです。普通に出力させるとWeb UIはMarkdownを解釈して表示してしまいますが、**「全体をコードブロックで囲む」**ように指示することで、AIは出力を「ソースコード」として扱います。
これにより、Markdown記法(# や *)がレンダリングされずにそのまま文字列として保持され、右上の「Copy」ボタンをワンクリックするだけで、完全なMarkdownソースを取得できます。
【コピペ用】汎用プロンプトテンプレート
私が実際にObsidianでのメモをQiita/Zenn/Note用に整形する際に使用しているプロンプトです。辞書登録やスニペットツール(Raycastなど)に登録しておくと、執筆速度が劇的に向上します。
# 命令書:
以下のテキストを、技術記事(Qiita/Zenn)として適切な形式に整形・校正してください。
# 制約事項:
1. **形式指定:** 結果をそのままコピペできるように、全体をコードブロックで囲んだマークダウン形式にしてください。
2. **出力制限:** 解説や前置きは一切不要です。コードブロックの中身(記事本文)のみを出力してください。
3. **文体:** 「です・ます」調に統一し、技術的な文脈に沿って読みやすくしてください。
# 入力テキスト:
(ここに下書きをペースト)
まとめ:LLMを「関数」として定義する
私たちはChatGPTをつい「チャットボット」として扱ってしまいますが、タスクによっては**「引数(入力テキスト)を受け取り、戻り値(整形済みMarkdown)だけを返す関数」**として定義した方が、生産性は圧倒的に高まります。
- 前置きを削除する3秒
- 書式崩れを直す10秒
この「マイクロなストレス」を排除することで、執筆のリズム(Flow)を維持することができます。ぜひ試してみてください。
