Take it easy

サッカーブログです。

サッカーブロガーが実践する、AI活用型文章作成術

はじめに

ChatGPTの登場以降、生成AI、特に大規模言語モデル(LLM)の発展は目覚ましい。Twitter(現X)に組み込まれているGrok、Google検索に組み込まれたGemini、Officeに組み込まれつつあるCopilotなどなど。普段使っているアプリにその名前を見かけることが日常の風景になった。とはいえ、本当にそれらのAIを有効に使えているのか?という疑問がつく。それはLLMの性質上仕方ないことでもある。何でもできるように見えてしまうので、逆に何に使って良いのかわからなくなるのだ。とはいえ、Twitterのレスバに使うのが正しいとは誰も思っていないだろう。

 今回の記事では、まだ模索中ではあるが、サッカーブロガーとしての自分(そして日常的に文章を書いている方々)に向けて、生成AI(LLM)の有効な使い方の一つをお伝えしたい。具体的には、自分専用のデータベースを作ってAIコードエディタと連携させることで、文章作成に生成AI(LLM)を役立てようという試みだ。LLM自体がスーパーなソフトウェアだけれども、LLMの本質とは人とデータをつなぐ仲介役だと個人的には思っている。LLMがあることで、人はデータと会話できるようになる。今回紹介する「Obsidian」と「Cursor」、この2つのツールを使って、個人でもその環境を作ることができるようになった。日常的に文章を書いている方々に、少しでも響くものがあれば幸いである。

 

メモ帳アプリ「Obsidian」

生成AIの台頭と共に注目度が増してきたのが「Obsidian」。オブシディアンと呼ぶ。どうして注目されるかは後述。要はメモ帳アプリである。

obsidian.md

Obsidianの特徴として、今どき珍しくオフラインでの使用が前提になっている。そのためアカウント登録の必要もない。あくまでも個人のメモ帳であるということなのだろう。メモ同士のリンクというのもなかなか素敵な機能だ。例えば、いくつか作ったメモにリンクを張ってインデックスページを作ったりできる。メモを書いたは良いが行方不明になってしまうリスクも減るのではないだろうか。

上のスライドでも書いているが、マークダウン記法に対応している。マークダウン記法というのは、簡単な文法で文字を大きくしたり、箇条書きができたりする。メモ帳とはいえ文章の構造を作りたい、かといってWordを使うほどでもない、というニーズに応えられる機能となっている。

youtu.be

ちなみにObsidianには有料ライセンスが一応あって、毎月の支払いによりオンラインでの共有ができるようになる。確かにスマホから書いたメモをPCで確認できたりすると便利かもしれないけど、今のところ自分はスマホで書いたメモは手作業でPCに移してる。

 

AIコードエディタ「Cursor」

続いてCursor。読み方はおそらく「カーソル」。このネーミングは正直どうかと思う。

cursor.com

Cursorは、AIコードエディタと呼ばれる。プログラムを書くことに特化したアプリである。Vs Codeと元に作られた。Vs Codeに生成AIを組み込んだのがCursorである。プログラム作成に生成AIのサポートが役に立つことはよく知られている。ならば一緒にしてしまえ!というツールがAIコードエディタとなる。

*注意 現状ではCursorは個人利用を目的とされているので、法人向けのライセンスは無い。そのため会社の業務で使うのは避けたほうが良いだろう。

見た目からも分かる通り、完全にコーディング分かってる人向けのツールである。生成AIを使えるウインドウを常に表示できるので、いちいち画面を切り替えなくても生成AIを使える。ちょっとしたことだけど、やりたいことが同じツール上で完結できるのは良いところ。

www.youtube.com

こちらは無料期間はあるものの、基本的には有料ツールである。高機能な生成AIを使う以上はどうしても料金が掛かってしまう。ただ有料なだけに十分な見返りがある。冒頭でも紹介したとおり、生成AI(LLM)の種類はたくさんある、加えて半年ごとに新しい、性能の良いものがリリースされている。Cursorではどの生成AIを使うのかユーザーが決めることができる。当然使用可能な生成AIは更新されていくので、常に最新の生成AIを取っ替え引っ替え使えるというのもCursorの利点である。

 

結局何ができるのか

「Obsidian」と「Cursor」。どちらもそれ自体で素晴らしいツールなのだが、組み合わせることでさらにパワーアップする。順を追って説明すると、Cursorの機能としてマルチルートワークスペースがある。要するにCursorで扱いたいファイルをフォルダ単位で登録できるというだけの話なのだが、この機能を使うことで、ObsidianのフォルダをCursorに登録できる。登録することでObsidianで書いたメモ帳がCursorで使用できる生成AIのデータ参照元として扱えるようになる。これが凄い。

「Obsidian」と「Cursor」の連携によって以下のようなタスクを実行できる。

  • 曖昧な質問によるファイル検索
    「◯◯に関して書いたことを探して」ぐらいの曖昧な指示をあたえると、生成AIはきちんと目当てのファイルを検索してくれる。適当な指示ができるのは大変楽。
  • 複数ファイルを横断した自動処理
    例えば「このフォルダにあるファイルの一覧表を作って」といった指示を与えると生成AIはObsidianで管理しているファイルを検索して、ファイル名とその要約を一覧にしてくれる。指示の仕方によってはリンクも付けてくれたりする。生成AIの登場以前では、なかなか上手く自動化できなかったタスクだ。
  • ファイル構造の整頓
    とにかく情報を集めた一時保管場所であったり、中身が上手く整頓できていないフォルダがあるとする。そんなフォルダに対して生成AIに整頓をお願いする。生成AIはファイルの中身をチェックして、分類の仕方を提案してくれる。

具体的な例は後述するが、こうして参照元になるデータを用意して生成AIにあれこれタスクを実行してもらうということだ。現在の生成AIは生成AIだけが持っているデータに基づいて回答しているのではなく、ネットの検索結果を付け加えて回答を返すという動作が基本になっている。これは根拠となるデータがあると回答の妥当性が高くなる、という生成AIの性質を利用している。ただ、これは生成AIあるあるなのだけれど、ネット上の情報を元にするため、肉でも魚でもない一般的な内容の回答を返してきてしまうことだ。これも役には立つのだけど、個人で生成AIを使うのだから、個人のコンテキストを理解した上で回答をしてくれるのが理想的な姿ではないかと思う。その個人のコンテキストを生成AIに教えるためにObsidianを使う。Obsidianで自分だけのデータ保管庫を作れば、生成AIは自分の事をよく知っているパートナーとして振る舞ってくれるだろう。

補足であるが、なぜObsidianなのかというと、生成AIとマークダウン記法が異様に相性が良いためである。マークダウン記法は余計なテキスト情報が入っておらず、かつ、文章の構造が示されているため、生成AIが文章の構造や重要度を判定しやすい、と言われている。

 

生成AIを利用したタスク例

管理下のファイルに対する雑な質問

以下のように、自分のObsidianには19/20シーズンから24/25シーズンまでのサッカー競技規則を保存している。当然マークダウン記法で作成している。この状態でCursor上の生成AIに質問してみよう。

 

youtu.be

タイポしてしまったが、見事に返答を返してくれた。途中でファイルを検索している表示が出るのが見て取れると思う。こうして、Obsidianに保存されたデータを元にして生成AIが返答を返してくれるのがわかる。頭に浮かぶ疑問を文字にするとこんな感じになるだろう。それを清書せずにそのままぶつけてもきっちり回答してくれるのは大変助かる。

複数ファイルに対する内容確認

次に試すのは複数にまたがって保存されている内容を確認する作業だ。参照するデータは当ブログの過去記事だ。はてなブログとして保存されているデータをエクスポートして、マークダウン記法に修正して、記事毎にファイルに分けて保存してある。このあたりの作業も生成AIにやってもらっている。

youtu.be

自分の記事の分析なだけにちょっと恥ずかしくなるのだが、こんな風に複数のファイルをまたがって検索と内容確認を行い報告してくれる。ログを見た感じでは全てのファイルを検索しているわけではなさそうなので、「◯◯年の記事だけ」「◯◯選手に関する記述」とか追加で条件をつけると、そのように振る舞ってくれるだろう。

雑多なデータの分類

ネット上で目についた記事をObsidianに保存するようにしている。そうするとどのファイルをどこに置くのか結構迷ったりするのだけど、それも生成AIにやってもらう。

youtu.be

所々絵文字が文字化けしてしまっているが、まずまず無難な分類をしてくれたのではないだろうか。まずいところがあれば、追加で指示を出すか、人の手で修正してしまおう。生成AIはあくまでもパートナーであり、完璧な仕事を望んでは行けない。60点くらいまでの仕事をしてもらい、それを100点にするのはやはり人がやるべきなのだろう。

文章作成の効率化

書きたいことはあるんだけど、どうやって文章にまとめたら良いかわからなくて筆がすすまない。こんな経験はないだろうか。そんな時にも生成AIの力を借りてみよう。

まずはとにかく書きたいことを書き出す。これはもう箇条書きみたいな書き方でいい。その後、生成AIに対していい感じにまとめてもらう指示を出すという流れになる。この時生成AIが出してくれる応答としては、プロトタイプ的なものなんだけど、それでもこれから清書していくためのヒントになる。0から1の作業は難しいけれど1を10にするのはそれよりはやさしい。生成AIに文章作成の依頼を出すと綺麗すぎる文章になって、書き手の味みたいなのが損なわれる可能性が高い。ただObsidianで大量の文章を蓄えておけば、生成AIは過去のデータを参照し、書き手の文体をも再現してくれる可能性も高くなる。

 

これからの文章作成プロセス

とめどなく書いてきたが、文章を書くときのプロセスはこんな感じになると思われる。

  1. Obsidianに情報をとにかく集める。この時の情報整理にCursorを通して生成AIの力を借りる。
  2. Obsidianで集めたデータを検索したり、メモ帳自体から文章案を作成する。
  3. とにかく書きたいことを書き、全体構成のプロットを生成AIに作成してもらい、それに修正追記する形で文章として完成させる。
  4. 表記揺れや誤字脱字を生成AIでチェック。

ここまでやる必要はあるのか?という話になるが、サッカー系のブログを書いている身としての経験から言うと、レビューを書くとしても毎週の様に試合はやってくるし、言いたいことはなんぼでもあるけれど、文章を書くコストを考えると全然追いつかないのだ。ブログを書くのは結構たいへんで、脱落していく人を数多く見てきた。どうにかして省力化を図るというのは、ブログ運営にとって大きな関心事なのである。そこで登場したのが生成AIである。Large Language Model(大規模言語モデル)というだけあって文章を扱うのに特化している。生成AIとデータ蓄積が両輪となることで、情報整頓、文章作成のありかたもちょっと変わってくるのではないかと思う。

 今後やってみたいのは、音声入力を元に文章を作ることだ。文章を書くことに比べると喋るというのはよりコストが小さい行為だ。ただ、喋ることそのものを使うには、論理展開が曖昧だったり、そもそも正確に文字起こしができないこともあって、文章に直すコストが余計にかかったりする。そこに生成AIを使う。生成AIの主なタスクとして議事録作成というものが良く紹介されており、音声を文章にまとめ直すことは得意としている。これを使えば、もっとアウトプットを増やせるのではないだろうか。

 

まだ当ブログの生成AI活用は始まったばかりなので、もっと手順がこなれてきたら、また情報提供をしたいと思う。

 

 

今回の記事は以下を参考にさせていただいた。こっちも読むのをおすすめする。

honeshabri.hatenablog.com

 

note.com