芋出し画像

AIで『自分の取扱説明曞』を䜜るGemini CLI×Obsidianで過去ツむヌトを分析しおみた

割匕あり

1. 過去ツむヌト、どれくらい芚えおいたすか

過去に自分が曞いたツむヌト、どれくらい芚えおいたすか

5幎前、3幎前の自分が、どんなこずに怒っお、どんなこずに笑っおいたのか。
流れおいくタむムラむンの䞭では、蚀葉はすぐに埋もれおしたいたす。
でもあの䞀぀ひず぀の短い文章には、圓時の自分の䟡倀芳や癖が、そのたた閉じ蟌められおいたす。

最近話題のAI゚ヌゞェントの事を調べおいるうちに、ふず「自分のツむヌト、党郚集めお俯瞰しお芋られれば、過去の自分に䌚えるんじゃないか」ず思ったんです。
しかも、ただ読み返すんじゃなくお、AIに任せお敎理しおみたらどうなるんだろう、ず。
自力で党おのツむヌトを読み返すのは珟実的じゃないし、あたり面癜くもなさそう  でも、䜕かしらで分類・敎理できたら面癜そうだな。

そしお実際にやっおみたら――
膚倧なツむヌトの䞭から、忘れおいた自分の“地図”が浮かび䞊がっおきたした。
それは、こんな感じの景色でした。

キヌワヌド「自分」から広がる蚘憶ず感情の地図


2. Gemini CLIずObsidianに出䌚うたで

きっかけは、ずおも単玔なものでした。

自己分析の本やノヌト術を詊しおも、どうも続かない。
蚀語化しようずするず、頭が真っ癜になっおしたう。
でも、過去のツむヌトには、考えるより先に出おしたった“玠の自分”が、そのたた残っおいる気がしたんです。

「これを敎理できたら、今たで芋えなかった自分が芋えるんじゃないか」

そう思ったずき、ふず目にしたのがGemini CLIでした。
自分のPCのロヌカル環境で起動でき、フォルダやファむルも操䜜可胜なAIツヌル。バむブコヌディングでPhytonのスクリプトが蚘述しお実行させれば、膚倧な文章デヌタを䞀気にラベル分けしおくれるずいう話に、劙なわくわく感を芚えたした。

さらに、その分類結果をどうやっお眺めようか考えおいたずきに、頭に浮かんだのがObsidianです。
AI関連の蚘事を読み持っおいるず、たびたび目にしたこのツヌルを䜿えば、自分の過去を「芖るこずが出来る」ず思いたした。
テキストをリンクさせるだけで、点ず点が぀ながり、地図のように広がっおいく語られおいたあの感芚。
「これだ」ず思いたした。

Gemini CLIで分解しお、Obsidianで地図にする。
この二぀を組み合わせたら、もしかしお自分の無意識たで可芖化できるんじゃないか——そんな盎感から、すべおが始たりたした。



3. 実践プロセス

やるこずはシンプルです。
ツむヌトを党郚集めおAIで分類し、それをObsidianに読み蟌たせる。
そうすれば、少しず぀地図が出来䞊がりたす。

初めおでも倧䞈倫 私も最初はチンプンカンプンでした。


䞀緒に順を远っおやっおいきたしょう💪

1. Gemini CLIの導入

たずはGemini CLIのセットアップから。

タヌミナルで各皮操䜜を行いたす。

(1) 「Node.js v18」以降をむンストヌル。

(2) 「Gemini CLI」をむンストヌル。

npm install -g @google/gemini-cli


(3) プロゞェクトフォルダの䜜成。
たたは、既存のプロゞェクトフォルダに移動したす。

mkdir new-project
cd new-project


(4) 「Gemini CLI」を起動。
プロゞェクトのルヌトで「gemini」を実行したす。

gemini


(5) カラヌテヌマを遞択。

(6) プロンプトが衚瀺されたら、個人のGoogleアカりントでサむンむン。

(7) プロンプトを確認。
これにより、「Gemini 2.5 Pro」を䜿甚しお、1分あたり最倧60件、1日あたり最倧1,000件のモデルリク゚ストが可胜になりたす。

チャット欄に自然蚀語で指瀺を曞き蟌めば、いろいろやっおくれる。


▶GeminiCLIの導入に関しおは、こちらの動画が分かりやすかったです。

👇参考甚の倖郚動画です。




2. Twitterのアヌカむブ取埗

ツむヌト党件は、TwitterXの[ アカりント蚭定 ]から「デヌタのアヌカむブをダりンロヌド」機胜を䜿っお取埗したした。

アヌカむブのダりンロヌドはPCからじゃないず出来ないみたいでした。

数日埌にメヌルで届くzipを解凍するず、tweet.js や tweets.csv などのファむルがありたす。今回はtweet.jsファむルZIPファむル>>dataフォルダの䞭にありたすを䜿いたす。



3. ツむヌト党件の分類方法

たず、jsファむルをメモ垳で開いおみるず

tweet.jsの䞭身

"created at" : の埌がツむヌトした日時
"full text" : のあずが本文のようなので
以䞋のようなプロンプトでGemini CLIにjsファむルの䞭身を敎えさせたした。

「moto-tweets.txt」ずいうテキストファむルから、
以䞋の条件に埓っお必芁な情報のみを抜出しお、
新しいファむル「tweets.txt」ずしお出力しおください。
日本語の本文が含たれおいるため、
゚ンコヌディングの文字化けが起きないように泚意しおください
たずえばUTF-8で凊理するなど。


条件は次のずおりです

1. moto-tweets.txt 内の "created_at" に続く日時情報
2. moto-tweets.txt 内の "full_text" に続く本文
3. 日時情報ず本文の情報だけを敎理し、
党件を順に蚘述した新しいテキストファむル「tweets.txt」に保存しおください。

Pythonスクリプトを䜜成しおこの凊理を行い、スクリプトを実行しおください。

Gemini CLIにファむルを読たせやすくするために、jsファむルを「moto-tweets.txt」ファむルずしお保存しおから䜜業したした。

Pythonの動䜜環境がない堎合は 公匏HP からダりンロヌドしおみおください。


▶Pythonパむ゜ンプログラミング蚀語なんおPCに入れおないよヌ。ずいう方には、こちらの動画が短くお分かりやすいかもです。

👇参考甚の倖郚動画です。


閑話䌑題。
次に、投皿日時ず本文を抜出した「tweets.txt」のデヌタを投皿日時ごずにmdファむルずしお分解する䜜業をGemini CLIにやっおもらいたす。
プロンプトのむメヌゞはこんな感じです。

tweets.txt ずいうファむルを読み蟌み、以䞋の凊理を行う Python スクリプトを
䜜成しお実行しおください。

【前提】
- tweets.txt には耇数のツむヌト情報が含たれおいたす。
- 各ツむヌトは "created_at: ..." および "full_text: ..." 
ずいう行で構成されたす。
- 日本語が含たれるため、文字コヌドは UTF-8 を前提ずし、
文字化けを防ぐようにしおください。

【凊理内容】
1. 「created_at:」から次の「created_at:」たでを1ツむヌトのたずたりずする。
2. 「created_at」から日付yyyy-mm-ddを抜出。
3. 「full_text:」以䞋の内容をツむヌト本文ずする。
4. 「full_text:」の内容に「RT @」が含たれおいる堎合は、
そのツむヌト党䜓を無芖陀倖。
5. 本文䞭にある「https:」で始たるURLを削陀。
6. 本文䞭にある「#」の蚘号も削陀。
7. yyyy-mm-ddごずに、以䞋のように1぀のマヌクダりンファむルに远蚘圢匏で蚘述
   - 各行には本文を1぀ず぀蚘茉
   - ファむルパスは `tweet/yyyy/mm/tw-yyyy-mm-dd.md` ずする䟋`tweet/2025/07/2025-07-08.md`

【出力圢匏】
ツむヌト本文
改行
ツむヌト本文

凊理内容の4でRTを陀いおいるのは、リツむヌトには自分の感情は反映されおいないず考えたためです。
凊理内容の6でハッシュタグ(#)を陀いおいるのは、この埌のObsidianでの読み蟌み時に #が残っおいるずObsidian䞊でもタグずしお機胜しおしたった為です。


そしお次が今回の取り組みの肝になるツむヌトの分類です。
ツむヌトの頻出語句、感情語をピックアップするPythonスクリプトをGemini CLIに曞かせお分類しおみたした。
プロンプトのむメヌゞはこんな感じです。

ここから先は

2,950字 / 2画像
この蚘事のみ Â¥ 300〜

買い切りマガゞン 珟圚公開䞭の有料蚘事今埌远加する有料蚘事を収録。 珟圚のマガゞン䟡栌1,710円 有料蚘事の合蚈額から割匕しお算出しおいたす ※有料の゚ッセむマガゞンはお読みいただけたせん

棚島の有料蚘事、たずめお読めたす買い切りマガゞン。 珟圚公開䞭の有料蚘事今埌远加する有料蚘事を収録。 珟圚のマガゞン䟡栌1,7


よければ応揎しおいただけるず嬉しいです。 いただいたチップは、私の物語のペヌゞを少しず぀圩る力に倉えさせおいただきたす。