こんにちは。今回は自分の学習ログとして、ChatGPTにMarkdown形式で記事を出力してもらうときに感じた難しさや工夫したことをまとめてみます。Qiitaに記事を書くときってMarkdownが基本ですが、AIに任せようとすると意外とつまずきポイントがありました。
なぜAIにMarkdown出力をお願いしたのか
最初に理由から。
私は時々Qiitaに学習ログを投稿しているのですが、投稿内容はchatGPTに考えてもらっています。
こんなことを学習したからまとめて!って感じで投げています。
ただ、投稿内容をmarkdown形式で出力するように言ってもうまくいかなくて、どうにか出来ないかなと思ったのが始まりです。
最初に遭遇した問題:コードブロックの閉じ忘れ
一番最初に困ったのがコードブロックが閉じられていない問題でした。
ChatGPTに「Markdownで出力して」とお願いしたのに、コードブロックが開きっぱなしで閉じられていなかったり、Qiitaにコピペしたら全体が崩れてしまったりしました。
\```
<h1>Hello World</h1>
## 見出し
コードブロック外に表示したいのに、、、
↑こんな感じで閉じの```が抜けてしまうケースです。
このとき学んだのは「ChatGPTに対して細かく指示するのが大事」ということでした。
たとえば「必ずコードブロックはで閉じてください」とか「出力全体をひとつのMarkdownコードフェンスで囲んでください」、「文章全体を````で囲って、内部のコードブロックはで囲ってください}と具体的にお願いしたらうまくいきました。
次の問題:水平線(--- や ***)の扱い
Qiitaで水平線を多用するのは見栄えが悪く感じて嫌いなのですが、ChatGPTはよく文章の区切りに --- を出してきます。
これをそのままQiitaに貼ると、ちょっと雑多に見えてしまいました。
なので、これは自分のルールとして「水平線は禁止、見出し(##)に置き換える」と決めました。
ただ、一言「水平線は禁止!」というだけではなかなか言うことを聞いてくれず最終的に下のようなプロンプトになりました。
- Markdownの見出しは`##`を主に使い、読みやすい構成とする
- **水平線(`---` や `***`)は絶対に使用禁止。これはQiitaでの視認性を下げるため、
出力内に含まれていた場合はエラーとみなし、必ず見出し(##)と空行に置き換えて修正すること**
- 出力内に禁止記法が含まれる場合は自動で修正してから返す
工夫したこと:テンプレート化
毎回「Markdownで〜」と細かく書くのは正直面倒です。
そこで、自分なりにプロンプトのテンプレートを作りました。
例:
ロール:IT初心者の学習ログ
投稿内容:◯◯について
文字数:1000〜2000
必ず1つのコードフェンスで囲んでMarkdown形式にしてください。
Qiita用なので水平線は使わず、見出し(##)を使ってください。
これをコピペして、必要なところだけ変えるようにしたら一気に安定しました。
学んだこと:AIに頼むときは人間側の工夫も必要
今回の経験で思ったのは、**「AIが間違えるのは当たり前。だからこそ、どう指示するかと自分でどう直すかが大事」**ということです。
AIは便利なんですけど「一度で完璧な答えが返ってくる」と思うと期待外れになることが多いです。
逆に「ベースをAIに作ってもらって、自分で仕上げる」という意識を持つとかなり効率的に学習ログを書けました。
実際にQiitaに投稿してみての感想
QiitaにMarkdownで出力してもらった記事を投稿したとき、やっぱり整っていると読みやすいなと実感しました。
特に「## 見出し」をちゃんと使っていると自分で読み返すときも頭の整理になります。
ただし、AIの文章って少し“きれいすぎる”感じがするので、自分の体験や感情を足してオリジナル感を出すことは必要だと思いました。
まとめ
- ChatGPTにMarkdown出力をお願いするときは指示を細かくすることが大事
- コードブロックの閉じ忘れや水平線の扱いに注意
- テンプレートを作って再利用すると効率が上がる
- 最後は必ず自分で整形&加筆するのがおすすめ
今回の学習ログを通して、Markdownの基礎やAIとの付き合い方について理解が深まりました。
今後はもっと複雑な記事(コード例が多いもの)でも、このやり方を応用していきたいです。