Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Claude Codeのログから 学びを得る

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for MIZUTANI RYOTA MIZUTANI RYOTA
April 02, 2026
2

Claude Codeのログから 学びを得る

26/3/26の社内勉強会で使用した資料です

Avatar for MIZUTANI RYOTA

MIZUTANI RYOTA

April 02, 2026
Tweet

Transcript

  1. 2 自己紹介 ▪ 氏名 ▪ 水谷亮太 ▪ 所属 ▪ GOドライブ株式会社 

    ▪ AI本部 AI技術開発2部 データサイエンティスト ▪ 業務内容 ▪ 次世代AIドラレコサービス『DRIVE CHART』の機能開発 ▪ Competition ▪ Kaggle Expert ▪ SIGNATE Grandmaster ▪ オプト レコメンドエンジン作成コンペ 2位入賞 ▪ Motion Decoding Using Biosignals 重心位置予測部門 4位入賞
  2. ▪ 変化が早い分野なので本資料の内容は数ヶ月後には仕様が変わっている可能 性があります ▪ バイブコーディングが流行っている(定着しつつある) ▪ 特に今はClaude Codeに勢いがある ▪ 将棋では数年前からAIの方が人間より強くなった。ここ1年くらいでコーディ

    ングでも同様の事象が発生した。 ▪ 将棋ではAIから人間が学ぶ人が増えたが、コーディングにおいても同じこと をすることで恩恵があるのではないか?(競技性はないので純粋に同じではな いですが) はじめに 3
  3. 6 機能毎の役割について Claude code human ・ツールの実行  (Bash,Read等) ・コンテキストの集約 ・プロンプトの作成 ・ツールの利用可否

    ・継続判断 ・完了報告 役割 LLM (ex.opus4.6) ・作業指示 一つ前の図のGather Context,Take ActionがClaude Code, Verify resultsがLLMの役割
  4. 格納場所 ▪ ~/.claude/projects/<プロジェクト名>/ ディレクトリ構成 ▪ ~/.claude/projects/<プロジェクト名>/ ├── <session-uuid>.jsonl # 会話ログ本体

    ├── <session-uuid>/ │ ├── subagents/ # サブエージェントのデータ │ └── tool-results/ # ツール実行結果 └── memory/    # Auto Memory(MEMORY.md + トピックファイル) Claude Codeのローカルログについて 7
  5. ▪ デフォルト設定で30日 ▪ 設定の変更方法 ▪ ~/.claude/settings.json に cleanupPeriodDays を追加 ▪

    360日の例: ▪ {"cleanupPeriodDays": 360} ローカルに保存されるログの保持期限 8
  6. {"type":"queue-operation","operation":"enqueue","timestamp":"2026-03-14T02:18:54.409Z","sessionId":"68f0d358-ea6c-4a3b-83c2-b14e29b7d0e6"} {"type":"queue-operation","operation":"dequeue","timestamp":"2026-03-14T02:18:54.410Z","sessionId":"68f0d358-ea6c-4a3b-83c2-b14e29b7d0e6"} {"parentUuid":null,"isSidechain":false,"promptId":"6bc75438-810c-406b-8234-f4ef96a65db3","type":"user","message":{"role":"user","content":[{"type":"text","text":"~/.claude/proje cts/ に格納されているログを可視化する webアプリを作成したい。具体的には claude codeが実行したコマンドと思考がわかるようにしたいです。計画を立てて markdownに出力してくださ い"}]},"uuid":"db2c4386-1079-4e31-9a79-473c8147bfbc","timestamp":"2026-03-14T02:18:54.419Z","permissionMode":"default","userType":"external","cwd":"/Users/rmizuta/Doc

    uments/program/claude/260314_parse_claudelog","sessionId":"68f0d358-ea6c-4a3b-83c2-b14e29b7d0e6","version":"2.1.76","gitBranch":"HEAD"} {"type":"file-history-snapshot","messageId":"db2c4386-1079-4e31-9a79-473c8147bfbc","snapshot":{"messageId":"db2c4386-1079-4e31-9a79-473c8147bfbc","trackedFileBacku ps":{},"timestamp":"2026-03-14T02:18:54.420Z"},"isSnapshotUpdate":false} {"parentUuid":"db2c4386-1079-4e31-9a79-473c8147bfbc","isSidechain":false,"message":{"model":"claude-opus-4-6","id":"msg_01N2m1vQbDW8Ck6z7A29vS5r","type":"messa ge","role":"assistant","content":[{"type":"text","text":"\n\nまず、Claude Codeのログの構造を理 解する必要がありま す。"}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":8807,"cache_read_input_tokens":6489,"cache_creation":{"ephemeral_ 5m_input_tokens":0,"ephemeral_1h_input_tokens":8807},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}},"requestId":"req_011CZ2AtTPmu3QkzP Rpp7yx4","type":"assistant","uuid":"1aa61c63-c52a-4564-a82b-2671017fd504","timestamp":"2026-03-14T02:18:57.261Z","userType":"external","cwd":"/Users/rmizuta/Documen ts/program/claude/260314_parse_claudelog","sessionId":"68f0d358-ea6c-4a3b-83c2-b14e29b7d0e6","version":"2.1.76","gitBranch":"HEAD"} {"parentUuid":"1aa61c63-c52a-4564-a82b-2671017fd504","isSidechain":false,"message":{"model":"claude-opus-4-6","id":"msg_01N2m1vQbDW8Ck6z7A29vS5r","type":"messa ge","role":"assistant","content":[{"type":"tool_use","id":"toolu_01Xrmnq6ajKHrvpMTN3aVHWU","name":"Bash","input":{"command":"ls ~/.claude/projects/ | head -20","description":"List Claude projects directory"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":8807,"cache_read_input_tokens":6489,"c ache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":8807},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}},"requestId": "req_011CZ2AtTPmu3QkzPRpp7yx4","type":"assistant","uuid":"0b390c94-bb1f-474b-90aa-18c5b762668c","timestamp":"2026-03-14T02:18:57.699Z","userType":"external","cw d":"/Users/rmizuta/Documents/program/claude/260314_parse_claudelog","sessionId":"68f0d358-ea6c-4a3b-83c2-b14e29b7d0e6","version":"2.1.76","gitBranch":"HEAD"} ``` JSONログのフォーマット 9 ~/.claude/projects/<プロジェクト名>/<session-uuid>.jsonlの中身の例
  7. 12 ログ確認例①(ログ構成に関して質問) subagentにタスクを移譲し入力文を補足。 目 次となるドキュメント を確認。 ※subagentとは • 特定の種類のタスクを処理する特化した AI

    アシスタントでClaude がサブエージェントの 説明に一致するタスクに遭遇すると、タスクを そのサブエージェントに委譲する仕組み • 下記のメリットがある ◦ タスク毎にモデルを切り替えてコストを 最適化 ◦ 探索と実装をメインの会話から分離し コンテキスト汚染を防止
  8. 14 ログ確認例①(ログ構成に関して質問) bashコマンドで下記の情報を順次確認 • .claude配下のファイル確認 (ls) • あるプロジェクトフォルダの配下のファ イル確認(ls) •

    jsonlファイルのサイズ確認 (wc) • jsonlのkeyの確認(python) • jsonlをパースし入力値の確認 (python) ・・・ agentはsubagentの出力情報では不足と判 断し追加操作を実施
  9. 22 ▪ Claude CodeはBashの操作が上手いので、自身が知らない方法で調査を実行 していたりして興味深い ▪ ipynbファイルをjson形式で読み込むとか ▪ 反面、長文や使い捨てのPythonスクリプトも難なく書けるので人間が真似で きない部分も多い

    ▪ Claude Codeが意図通り動かない時はログを確認することで解決策が見つか るかもしれない ▪ ファイルの読み込みが甘い、または不要なものをコンテキストに含めている ▪ 指示があいまいであったり、コンテキスト不足によるタスク具体化の失敗 感想