Claude Codeを使い倒せ!生産性を爆上げするセッション活用の極意
Maximizing the value of your Claude Code sessions
Maximizing the value of your Claude Code sessions
Claude Codeを活用して開発スピードを最大化するためのベストプラクティスを共有します。セッションを効率的に運用し、AIの能力を最大限に引き出すためのヒントをまとめました。
予期せぬキャッシュの再書き込みでかなりのコストがかかってることに気づいた。キャッシュのTTL(有効期限)を1時間に設定してるし、再書き込みを誘発するようなことは何もしてない(応答は時間内だし、モデルやツール、作業内容の変更もない)。トークン使用量が40万ぐらいの時にメッセージを送ると、/usageではキャッシュ書き込みが少し増える程度。それが次のメッセージでは80万に跳ね上がって、最終的には特に理由もなく200万キャッシュ書き込みに達することがよくある。これって/btwを使ったり、コードレビューを頼んだり、他にもランダムなタイミングで起こるみたいなんだけど、一体何が起きてるのか誰か分かる?
正直、この手のブログ記事って笑うしかないよね。ひねくれた見方をすれば、エンタープライズ環境でエンジニアに責任を押し付けてるだけに見えるよ(「トークン使いすぎだよ。あの『価値最大化』のブログ記事読んだ?君のせいだよ」みたいな)。確かにClaudeは色々なことができるけど、それは使い方次第!だからその面倒くさいコツを全部覚えろと……だってタスクを完了するのにお金がかかるようになったんだから。昔のテキストエディタを使ってた頃みたいに「無料」じゃないんだよ、今の時代にそんなこと言ってるのはおじいちゃんかな?それに、そんなテクニックも確実に変わっていくはず。だってClaudeの教祖様たちが、私たちが仕事をするためのシステムを勝手にいじくり回してるんだから。中身がどうなってるかなんて分からないし、コードも公開されてない。まあ大丈夫、私たちを信じて、ってことなんだろうけど。この開発モデルについて語ること自体がめちゃくちゃ馬鹿げてる。自分がやりたいことをやるまでの間に壁が多すぎる。エージェントは素晴らしいけど、数ヶ月後には全く別物になってるような、中身が不透明でコストのかかるツールをいかに使いこなすか、なんていう「ベストな裏技」を追い求めるのはかなり滑稽だよね。変わらないものって何だと思う?それは最高にイカしたテキストエディタ、あるいは自分のpiの設定、それと自分が動かして信頼できるローカルモデルだよ。
プレフィックスキャッシュがなぜ「努力(effort)」に紐づいているのか、誰か説明できる?自分は統計モデリングをする時に、よくFableをxhigh(最高レベルの努力)で回してるんだけど、自分の学部レベルの知識をはるかに超える内容になってる。Claude Fableは修士レベルの出力を出してくれるから、その後何度も往復して、色々な部分を説明してもらうようにしてるんだ。最初の部分は間違いなくその余分な努力を使ってるんだろうけど、その後の質問攻めはもっと単純なモデル、あるいは同じモデルでももっと努力レベルを下げたもので十分答えられるはずなんだけど。
これ、Anthropic版の「持ち方が悪いんだよ(You're holding it wrong)(1)」って感じだな。
ファイル名を指定する代わりに @-mention を使う
Claudeは大好きだけど、デスクトップアプリの @ メンション機能が壊れてる。同じプロジェクトで同じクエリ「@ephem」を入力してもこうなる:
CLI: https://imgur.com/a/VZMUCOa (https://imgur.com/a/VZMUCOa) (良い、関連性のある結果)
デスクトップ: https://imgur.com/a/QLSo4Ms (https://imgur.com/a/QLSo4Ms) (悪い、無関係な結果)
これについてIssueを立てたけど、自動的に閉じられちゃった:
https://github.com/anthropics/claude-code/issues/71421 (https://github.com/anthropics/claude-code/issues/71421)
Issueの書き方はもっと改善できたかも(VS CodeではなくCLIを比較対象にするなど)。でも、Claude自身が1分で直せる問題だってことは間違いないはず。
要するに、コストを節約するためにわざわざ色々なことを調べて手間をかけなきゃいけないってことか。でも結局のところ、AIに作業を頼んでる間に別のことをしていて戻ってきたら、キャッシュの有効期限が短すぎてコストが2倍になってた、なんていうのが根本的な問題じゃないの?
ファイル名を指定する代わりに @-mention を使う。ファイルがメッセージに直接添付されるので、Read呼び出しや、Claudeがファイルを探すための検索の手間が省ける。
これってアンチパターンだっていう意見を聞いたことがある。ファイルが大きいと、全体を読み込んでしまうから。Readや類似のコマンドなら、対象を絞った検索をして、関連する部分だけを読み込めるはず。今はもうそうじゃないのかな?
あと、/contextについてだけど、なんで実行にあんなに時間がかかるのか誰か教えてくれない?普段から数秒はかかるし、1分以上かかったこともある。
それに、ステータスラインとかに基本情報を表示してくれればいいのに。「120K/200K tokens」って表示するだけでいいでしょ。これを確認するために毎回 /context って打たなきゃいけないのが本当に嫌なんだ。拡張機能をインストールしなきゃいけないような状況も避けたいし。
最近 /handoff というスキルを見つけて、よく使ってる。/compactよりずっと良いよ。
基本的には:
/handoff file と打つと、現在のセッションの重要なコンテキストと、チェックリストとしての次のステップをまとめた短いドキュメントが作成される。
その後、/continue file で新しいセッションを始められる。
ClaudeからChatGPTに作業を引き継ぐ(あるいはその逆)ことも可能。セッション制限の時にはすごく便利。
加えて、ハンドオフファイルが後で参照できるプロジェクトメモとして役に立つ。
/compact や /clear を使うよりもずっと便利だと思う。コンテキストが1つのセッションに縛られず、ポータブルな形で保存されるからね。長いセッションを続けるよりも、20メッセージくらいごとにこれをやった方が結果が良いみたい。
キャッシュがどれだけ残ってるかっていう指標は、比較としては最善じゃない気がする。
同じコードベースで作業してるなら、キャッシュはかなり有効だし、キャッシュに頼るよりも同じファイルを何度も消去して読み直す方が安いなんてことはないはず。同じコードベースに対してClaudeに変更のアプローチを教え直すような作業を繰り返すのも同じことだ。
理想を言えば、キャッシュの古い部分を後の方の2つのタスクで再利用できればいいんだけど、claude-codeではそれが簡単じゃない。結局LLMにどこに戻るか選ばせたとしても、結局同じテキストを全部読み直すことになるなら、あまり節約にはならないよね。
Anthropicは、これら全てのポイントを賢く処理してくれるハーネス(とモデル)を構築すべきだよ。ユーザーに手動でやらせるんじゃなくてね。今見えてるのは、彼らが負荷をさばききれずにユーザーに厳しいクォータを押し付けているという言い訳ばかりだ。その間もOpenAIは絶えずクォータをリセットしてるのに。
Qwen 3.8 27Bが出てきたことで、サブスクリプションを置き換えられるようなオンデバイスLLMの実現に一歩近づいたね。