Claude Codeのプロンプト履歴は”自分の思考ログ”になる
ども!Claude Code と毎日仕事している龍ちゃんです。
最近ふと気づいたんですけど、僕、人間と喋ってる時間より Claude Code と喋ってる時間のほうが長いんですよ。正直、AIを”一緒に働く相手”だと思っちゃってる節があるくらい(笑)。で、思ったんです。一日で一番言葉を打ち込んでる相手が Claude なら、その入力には自分の思考がめちゃくちゃ溜まってるんじゃないか、と。
そこで、~/.claude/history.jsonl に残ってる入力履歴を1ヶ月ぶん抜き出して、AIに渡してみたんです。セッションは消えても、自分が打ち込んだ入力のほうは消えてないんですよね。そしたら口癖も価値観も、自分でも気づいてなかったことまで次々言い当てられて、けっこうヒヤッと。今日はその中身と、やり方、それと”見えた自分”の活かし方まで書きます。
プロンプト履歴をAIに分析させたら口癖・働き方・価値観が丸裸に
頼み方は、凝ったプロンプトでもなんでもないです。抜き出した履歴をドサッと渡して、
「僕のプロファイリングをお願いします」
これだけ。ほんとにこれだけなんですけど、返ってきた結果は、爆笑とヒヤッが交互にくる感情のジェットコースターでしたね。
まず口癖が丸裸にされた
AIが「あなた、こういう口癖ありますよ」って並べてきたのがこれ。
| カテゴリ | フレーズ |
|---|---|
| 進捗確認 | 「どんなもん?」 |
| 承認 | 「いい感じ」「おっけ〜」 |
| 感謝 | 「あざまる〜」 |
| 依頼 | 「よろ〜」「頼みまーす」 |
| 関西弁 | 「ええやん」「せやな」「ほな」 |
| 照れ隠し | 「www」 |
いや、「どんなもん?」が最頻出って言われて、たしかに言ってるわ…ってなりました。関西弁も無意識すぎて、指摘されて初めて「あ、出てるんだ」って。しかも僕、関西には縁もゆかりもないんですよ。なんで関西弁が出てるのか、自分でもよく分かってないっていう(笑)。自分の口癖って、自分が一番わからないんだなと痛感しましたね。
仕事の進め方のクセまで見抜かれた
口癖だけじゃなくて、進め方のパターンも見抜かれてました。
- 発散→収束→資産化:まず調査して、壁打ちで方向を決めて、文章化して保存・コミットする
- 1セッション1テーマ:
/clearをこまめに叩いて、次に使うプロンプトを今のセッションで作る - 裏で走らせる:時間のかかる調査やタスクはバックグラウンドに投げて、自分は別の作業を進める
- 即断即決→壁打ち修正:直感で方向を出して、違和感があったらすぐ撤回する
「コミットしてプッシュして」が最頻出プロンプトの一つ、って言われたのは、なんか笑えなかったですね(笑)。でも、自分で「こういう進め方してます」って説明するより、入力履歴から逆算されたほうが、よっぽど解像度が高いんですよ。
価値観まで読み取られて、これが一番ヒヤッとした
今度はもっと踏み込んできて、繰り返し出てくる言い回しから「価値観」まで読み取られました。
- Git管理できないものは信用しない:Auto Memory を切ってるのもこれが理由。AIが暗黙的に覚えてるものより、自分で見えるドキュメントを信じるタイプ
- 「さぼる」はポジティブ:手作業を減らすことを「さぼる」と呼んで、それを追求する文化が自分の中にあるらしい
- CLI > MCP:「MCPは遅い・重い・トークン食う」を繰り返し言ってたらしく、まあ、思ってます
自分で言うより当てられたほうがドキッとするんですよね。誰かに言われたわけじゃなく、自分の入力データから出てきてる、っていうのが逃げ場がない。
極めつけ、AIを完全に”同僚”だと思ってた
で、分析してて一番笑ったのがこれなんですけど。冒頭で「AIを一緒に働く相手だと思っちゃってる節がある」って書いたじゃないですか。あれ、節どころか完全にそうでした。
- 一番多かった文末、なんと「〜かな?」が断トツ(数えたら160回超)。命令じゃなくて「これでいいかな?」ってAIに相談・打診してるんですよ。「〜よね?」「〜ない?」みたいな同意確認も多くて、完全に隣の人に聞く感じ
- 承認も「おけ」「おk」「よいぞ〜」とバリエ豊富で、終始タメ口
- 極めつけ、AIに「おはよ」って挨拶してた回まであって。我ながら同僚すぎますね(笑)
- しかも砕け具合が増してるらしく、「w」の数が先月の10倍近くに。だいぶ気を許してますね
うすうす気づいてはいたんですけど、ここまで数字で突きつけられると、もう言い逃れできないですね。完全に”隣の同僚”扱いでした。AIと働きすぎです(笑)。
おまけ:先月と比べたら、使い方が変わってた
前の月のぶんも抜いて比べてみたら、自分の使い方の変化まで見えました。これがおまけで面白かったところ。
- セッションの引き継ぎを多用しはじめてた:先月はほぼゼロだった引き継ぎ系のコマンドを、今月は30回以上叩いてた。1本のセッションに積まず、こまめに分けて渡す運用に、自分でも寄ってってたんですね(この”セッションを分ける”話は別記事で書いてます)
/clearはずっと最頻出:先月も今月も、一番叩いてる短いプロンプトは/clear。切る派、一貫してました- プロンプトが長くなってた:平均の文字数も、一番長いプロンプトの長さも、先月よりだいぶ伸びてた。雑な一言から、ちゃんと指示を書く方向へ
- 「違う」「戻して」も増加:直感で出して、違ったらすぐ撤回する壁打ちスタイルが濃くなってた
記録なんてつけてないのに、使い方の変化がデータから勝手に浮かび上がる。これ、上司でも他人でもなく、自分の入力データが相手なんで、忖度ゼロなんですよね。「ここ変わってきたな〜」とフラットに向き合える(笑)。というか向き合うしかないですね。
history.jsonlからプロンプトを抽出する方法(簡易スクリプト)
「で、それどうやって抜いたの?」ってとこですよね。めちゃくちゃ簡単です。
入力履歴は ~/.claude/history.jsonl に、1行1エントリの JSONL形式 で溜まってます。1行はこんな構造です。
| フィールド | 中身 |
|---|---|
display | 入力したプロンプト本文(←今回の主役) |
timestamp | 入力した時刻(Unixミリ秒) |
project | どのプロジェクトで打ったか(パス) |
pastedContents | 貼り付けた画像やテキストの中身({id, type, content}) |
やることは、この display を期間で絞って、Markdown にして、AIに渡すだけ。
注意点が一つだけあって、全部吸い出すとアホみたいな量になります。僕が最初に1ヶ月ぶん全プロジェクトでやったら数千件・数百KBになって、コンテキストウィンドウがパンパンになりました。なので「直近◯日」「このプロジェクトだけ」で絞るのが現実的です。僕が見たのは、調査もブログも検証もコアに回してた、濃い時期の1ヶ月分です(プロジェクトはメインの1つに絞って)。
絞って抜くだけなら、こんな短いスクリプトで足ります。extract_prompts.py として保存してください。Python環境がない方はBash+jqで同様のことができるんで、やりたいことをClaude Codeに説明するかこのコードを渡せば解釈してくれますよ。
import json, sys
from datetime import datetime, timedelta, timezone
from pathlib import Path
days = int(sys.argv[1]) if len(sys.argv) > 1 else 14
cutoff = (datetime.now(timezone.utc) - timedelta(days=days)).timestamp() * 1000
lines = []
for line in (Path.home() / ".claude" / "history.jsonl").read_text().splitlines():
if not line.strip():
continue
e = json.loads(line)
if e.get("timestamp", 0) < cutoff or not e.get("display", "").strip():
continue
dt = datetime.fromtimestamp(e["timestamp"] / 1000, tz=timezone.utc)
proj = e.get("project", "unknown").split("/")[-1]
lines.append(f"- `{dt:%m/%d %H:%M}` [{proj}] {e['display'].strip()}")
Path("prompts.md").write_text("\n".join(lines), encoding="utf-8")
print(f"{len(lines)}件 抽出")あとは直近2週間ぶんを抜くなら、こう叩くだけ。
python extract_prompts.py 14prompts.md が出力されるので、それを Claude に渡して「分析して」と言うだけです。
ちなみに今回見たのは history.jsonl=自分の入力だけで、AIがどう返したかは入ってません。会話まるごと(AIの出力も含めて)は別の場所にセッション単位で残ってるんですが、そっちの分析は、どっちかというと真面目な用途向きなんですよね。「このセッション、なんでこんな変な結果になったんだ?」って失敗の切り分けとか。ただ、その手の“失敗を拾って仕組みに落とす”話は前に失敗をバグチケット化する記事で1本書いてるので、そっちを読んでもらえれば。今回は自己分析なので入力だけで十分でした。複数セッションを横断してまとめて掘る、みたいな話はまた別記事で書く予定です。
history.jsonl には社内情報や認証情報が混ざってることがあります。そもそも、そういうのは入力に打ち込まないのが大前提なんですけどね! そのうえで一番安全なのは、外部に貼らずローカルの Claude Code にそのまま分析させること。このやり方なら履歴がどこにも出ていきません。どうしても外部のAIや人に渡すなら、grep -vi 'token\|secret\|password\|key' prompts.md で目立つ行は落とせます。ただしこれで消えるのは”その単語が書かれた行”だけで、生でベタ貼りしたトークンの値や社内の固有名詞までは引っかからないので、最後はざっと目視で確認してから渡してください。
分析結果をCLAUDE.mdに注入して”自分の粒度”で出力させる
で、ここからが個人的に一番おいしいとこなんですけど。この分析、見て「面白かった」で終わらせるのはもったいないんですよ。
考えてみると、出てきたのは「自分が普段 Claude に何を・どんな粒度で・どんな価値観で求めてるか」のかたまりなんですよね。だったらそれを、そのまま Claude 側の設定に注入してやればいい。
たとえば「CLI > MCP」って価値観が出たなら、CLAUDE.md に「MCPより既存のCLIツールを優先する」ってルールで書く。「Git管理できないものは信用しない」なら「判断の根拠はドキュメントに残す」とか。分析で出てきた一言を、そのままルールの言葉に置き換えるだけなんですよね。そうすると次からの Claude が、最初から自分の求める粒度・スタイルで出力してくれるようになる。毎回同じ注文を口頭で付け足さなくて済むんです。
自己分析って「鏡で自分を見る」ことだと思ってたんですけど、注入までやると、鏡で見た自分を相棒の設定に還元するループになるんですよね。見る → 効かせる、までやって初めて「やってよかった」になる。このへんの「分析結果をAIに注入する」考え方は、前にCLAUDE.mdへのドメイン知識の注入とか調査結果を構造化して注入するって記事でも書いてるので、合わせてどうぞ。
ちなみにこれ、個人なら自分の CLAUDE.md に書いて終わりなんですけど、チームでやろうとすると話が一段ややこしくなります。各自のエッセンスをどう共有資産に育てるか、って問題が出てくる。そのへんは「Auto Memory をチームでは使わない理由」のほうで別途書いてます(個人の学びをチームの資産に”昇格”させる話)。
おわりに

プロンプト履歴って、結局「無意識の鏡」なんだなと思いました。意識して残したものじゃないのに、積み上がったら、自分でも気づいてなかった口癖や価値観まで全部映ってる。日々雑に打ち込んでるプロンプトも、立派な「自分の資産」だったわけです。
しかも見るだけじゃなく、そのエッセンスを CLAUDE.md に注入すれば、明日からの Claude が自分仕様になる。セッションは消えても、入力した思考は残る。それを次に活かせる。なんか、いいですよね。
ちなみにこれ、Claude Code を毎日触ってる人なら「コミットして」とか「これでいい?」系の確認は、たぶん誰でも上位に出ると思うんですよ。でも、そこから先の口癖とか価値観みたいな”その人らしさ”は、見事に人それぞれ。だからこそ、自分のを覗くと「うわ、自分こうなんや…」ってなるはずなんですよね。正直、みんなのもどんなもんか見てみたいくらい気になります。
ということで、ぜひやってみてほしいんです。凝ったことしなくていいので、さっきみたいに自分の history.jsonl を渡して「プロファイリングお願いします」ってざっくり頼むだけ。で、気に入った発見があったら、ついでに CLAUDE.md に一行足してみてください。あなたの「どんなもん?」が、見つかるかもしれないですよ。
ほなまた〜

