ChatGPTのしくみがわかる本
サイボウズ・
本書はChatGPTの使い方よりも、ChatGPTの仕組みに重点を置いています。ChatGPTを実現する大規模言語モデル
これまでAIに興味を持つのは専門家かそれに近い人ばかりであり、そうした関連知識を前提としても問題ありませんでした。しかし現在は、IT関係以外の会社や、IT技術者ではない営業や人事といった職種の人までAI技術に興味津々、ChatGPTやLLMなどを使ってこれまでできなかったことをしたい!
当初は限られた人のものだったコンピュータやインターネットも、その中身や技術を特に理解していなくても、今では当たり前のように使いこなせますよね。同じように、いずれはLLMなどのAI技術も詳しい知識がなくても自然に使えるようになるでしょうし、AIの民主化
ChatGPTで効率的に書籍を書くには?
さて、話は変わって。本書では扱わなかった
第1回の今回は本書の執筆にAIをどのように用いたか、実際にどういうことに使えて、どういう工夫が必要だったか、という話をします。本書はChatGPTの本ですから、執筆にChatGPTを活用するのはむしろ正義ですよね! 前著
書籍のようなまとまった量の文書でもAIでラクラク完成!
文書の執筆は以下の3つの段階に大きく分かれます。
- 執筆 - ゼロから文章を書き始める
- 推敲 - 書いた文章をブラッシュアップし、分量などを調整する
- 校正 - 内容の誤りや誤字脱字などのチェックを行う
順番にChatGPTをどのように活用できるものなのか、見ていきます。
LLMによる執筆の課題
まず、執筆段階でLLMを活用することについて考えてみましょう。たしかに、ChatGPTに
それでも執筆の段階でLLMをどうにかして使いたいなら、解決すべき問題点がいくつかあります。
- (a) 内容のコントロールが難しい
- (b) 生成された文章が不自然
(a)については、プロンプトで読者層や扱うテーマなどを具体的に指定したり、対話的に修正の方向を伝えたりすることで、短文ならある程度のコントロールができます。しかし、長さが数ページ分に増えただけでもかなり面倒になりますし、書籍レベルの長さとなると不可能に近いくらい難しいです。
試行錯誤する中で多少なりともうまくいきそうに思えたアプローチは、扱いたいテーマの情報や自分が書いた文章やフレーズなどの断片を大量に用意してコンテキストとして提供しつつ、それをリライトするように指示することです。完成品の文章の8~9割の素材を用意すると、かなりイメージに近い出力が得られます。
そんなに多くの素材を用意しなければならないなら、自分で書くのと変わらないと思うかもしれませんが、この素材は完璧でなくても良く、
(b)の
しかし書籍ほど長い文章になると、複数回に分けて生成した文章をつなげることになります。すると、文章スタイルの一貫性の点で不自然さが目につき始めます。さらに
LLMによる執筆サポートの試み
これらの問題を完全に解決するのは難しいですが、試した範囲で一番うまくいったのは、自分の過去の文章をサンプルとして提供し、
つまり(a)と(b)の対策をあわせると、例えば次のようなプロンプトで執筆を指示します。
リライトが必要な文章と、参考にするサンプル文章を提供します。サンプル文章の書き方、スタイル、構成、論調、例の出し方に基づき、指定された文章を以下の条件で再構成してください。
- 初心者が理解しやすい内容にしてください。専門用語には簡潔な説明を追加し、複雑な概念は適切な例を用いて説明してください。
- 提供された素材はアトランダムな部分が含まれるため、順序や内容の流れを適切に整理してください。情報が欠落しないようにしつつ、読みやすく再編成してください。
- 文体、語調はサンプル文章に合わせ、読者に親しみやすいものにしてください。
- 指定された文章にある全ての情報を残す必要はありませんが、内容をなるべく維持し、過度に削ることのないようにしてください。
以下がリライトが必要な文章です。
----
【素材をできるだけ多く】
----
これ以降がサンプルの文章です。
----
【例文をできるだけ多く】
----
ここまでやってようやく使えそうな文章が出てくる
長い期間にわたって1冊の本を書くとなると、どうしても筆が止まってしまうスランプの時期もありました。時間をかけられるなら思う存分悩めばいいですが、ChatGPTの本という題材だとスピードも重要です。そういうとき、次の手順でChatGPTに原稿の素案のようなものを書かせたりしていました。
- 書きかけの文章からLLMに質問リストを考えさせる
- その質問に口頭で答えて録音、テキストに書き起こし
- 元の文章と書き起こしを素材とし、上のプロンプトで文章を生成
書き起こしはOpenAI Whisperなどで行いますが、音声認識ミスや表記揺れはある程度発生してしまいます。しかし上でも述べたように、コンテキストにする素材は
こうして書かせたものをそのまま採用することはさすがにできませんでしたが、
LLMによる推敲と校正
一転して、推敲の段階ではLLMは大変役立ちます。推敲してほしい文章そのものが素材とサンプルを兼ねていて、LLMが必要とするコンテキストが揃っているからです。後で追加情報が必要になるパターンも紹介しますが、基本的にはプロンプトを頑張るだけで良い感じの推敲を行えます。
例えば本書の推敲では以下のようなプロンプトを使っていました。
あなたは優秀で親切な編集者です。以下のルールに従って初心者向けの大規模言語モデルの解説文書の推敲を行ってください。
* 文書はマークダウン形式です。架空の文章を推敲せず、必ず元の文書を参照して推敲してください。
* 必ず推敲を具体的に行ってください。明示的に指示された場合を除いて、全体のまとめや総評、構造の分析などは一切不要です。
* 内容や記述・構成などに間違いやわかりにくい所があれば具体的に指摘し、その部分について文書のスタイルは変えずに書き換え案を出してください。
* 書き換え案は、必ず書き換え前の文章と書き換え後の文章を併記してください。書き換えの必要がないことの言及は不要です。
* フォーマルな表現への書き換えは不要です。短く易しい表現が好ましいです。
* 親しみやすさのために、多少の口語的表現は許容します。ただ、読みにくさや馴れ馴れしさにつながると考えられる場合は、その旨を指摘し書き換え案を出してください。
* 文書が長くて一度に推敲できない場合は、節ごとに分けて推敲してください。部分的に推敲を行った場合は、回答の末尾で「続きを推敲しますか?」と尋ねてください。
* 書くべき知識の欠落や、事実に反する記述があれば指摘してください。
* ⦅~⦆は脚注を表します。組版時にその部分は切り離されて、そのページの下部に挿入されます。
* "■" や "■参照" は TODO を表しています。基本的には無視して構いませんが、そこに入れるべき適切な知識や文章が存在する場合はそれを具体的に指摘してください。最終的に追記されることは決まっているので、"■" の箇所に補足や明記すべきというだけの指摘は不要です。
* 表記ゆれは、明らかに問題があるもの以外は無視して大丈夫です。
* 出力は常に日本語にしてください。
* 不明な点があれば質問してください。
ChatGPTを使うときのコツを紹介する書籍やブログにはこうしたプロンプトが数多く紹介されていますので、それらを持ってきて使うのでももちろん構いませんが、自分用にカスタマイズするのがおすすめです。上のプロンプトも最初は
ChatGPTやClaudeなど多くのチャットAIツールでは過去の発言を編集できますので
むしろ望ましくない出力に対し、会話の続きとして修正指示を出すより、前の発言を編集して指示を出し直すほうがLLMの負荷は低いかもしれません。チャットの会話履歴全体はLLMに改めて入力し直されるため、望ましくない出力も改めてもう一度LLMに入力されるからです。そうすると処理時間も延びますし
執筆には文章の圧縮も重要
また、紙の書籍や論文のように紙幅に制限がある文書の場合は、文章を短く圧縮する必要が発生することもあります。例えば本書が属する
またそうした制限がないブログなどの記事でも、文章の圧縮は有効です。同じ内容の文章なら短いほうが基本的にはわかりやすい
これもLLMに手伝わせましょう。原稿を書いていると、どうしても自分の文章に対する愛着が湧いたり、苦労して書いたから削りたくない気持ちに勝てなかったりします。しかし短くできないと思っていた文章でも、試しにLLMに短縮させてみると、
文章圧縮のプロンプトは
LLMが苦手とする校正を行う方法
最後に、文章の間違いを見つける校正をLLMに手伝わせましょう。実はLLMはその仕組み上、校正のような
まとめ
書籍のような大きめの文書を執筆する際もLLMは役立ちます。ただし、執筆の段階ごとに作業の種類が大きく変わり、LLMの適用しやすさや、適切なプロンプトも変わってきます。
次回は、本書で触れられなかった