Skip to content

原文(日本語に翻訳)

/btw が使用するたびに会話全体のコピーをディスクに書き込んでいた問題を修正しました。

原文(英語)

Fixed /btw writing a copy of the entire conversation to disk on every use

概要

/btw(by the way)コマンドはClaude Codeにメタ情報や補足情報を伝えるために使用されますが、このコマンドを呼び出すたびに会話履歴全体がディスクに書き込まれるというバグがありました。長い会話では特にI/Oパフォーマンスへの影響が大きく、不必要なディスク使用量の増加を引き起こしていました。このアップデートにより、不要な書き込みが抑制されます。

基本的な使い方

bash
# /btw コマンドで補足情報を追加
/btw このプロジェクトはTypeScript 5.0を使用しています

# 修正前: 会話全体がディスクに書き込まれる(重い処理)
# 修正後: 必要な情報のみが効率的に処理される

実践例

/btwコマンドの効果的な使い方

bash
# セッションの開始時に重要なコンテキストを追加
/btw このプロジェクトはモノレポで、packages/ ディレクトリ以下に各パッケージがあります

# 作業中に追加情報を提供
/btw APIのエンドポイントは http://localhost:3000/api です

# 制約や注意点を伝える
/btw Node.js 18以降の機能は使用しないでください(Node.js 16サポートが必要)

# 修正後: これらの操作でパフォーマンスへの影響が大幅に軽減

長期セッションでのパフォーマンス改善

bash
# 長期セッションで/btwを頻繁に使用するシナリオ
# 修正前: 1000メッセージの会話で /btw を使うたびに全履歴が保存される
# 修正後: 必要な増分データのみが保存される

# 技術的な選択を記録する際に活用
/btw データベースはPostgreSQL 14を使用。マイグレーションはFlywayfで管理
/btw テストフレームワークはJest。カバレッジ80%以上を維持すること
/btw APIはRESTful。OpenAPI 3.0仕様書は docs/api.yaml に存在

# これらの操作がディスクI/Oに与える影響が最小化された

/btwと/compactの組み合わせ

bash
# コンテキストを圧縮してから重要情報を追加
/compact

# 圧縮後に重要なコンテキストを再追加
/btw プロジェクトの目標: ユーザー管理システムの実装
/btw 使用技術: React + TypeScript (フロント), Fastify + Prisma (バック)
/btw デプロイ先: AWS (ECS + RDS)

# 修正後: これらの /btw 操作が軽量に実行される

ディスク使用量の監視

bash
#!/bin/bash
# Claude Codeのディスク使用量を監視するスクリプト

monitor_disk_usage() {
  local claude_dir="$HOME/.claude"
  
  echo "Claude Code データ使用量:"
  du -sh "$claude_dir/sessions/"
  du -sh "$claude_dir/logs/"
  
  # セッションファイルの変化を監視
  # 修正後: /btw 使用時の急激な増加がなくなる
  echo ""
  echo "リアルタイム監視(10秒ごと):"
  while true; do
    echo "$(date): $(du -sh $claude_dir/sessions/ | cut -f1)"
    sleep 10
  done
}

# 別のターミナルで Claude Code を使用しながらこのスクリプトを実行

注意点

  • この修正は /btw コマンドのパフォーマンスに関するバグ修正です
  • ユーザーが意識しなくても自動的に改善が適用されます
  • 長い会話履歴を持つセッションで特に効果が大きい修正です
  • /btw コマンドの機能自体は変わりません(補足情報をClaudeに伝える機能)
  • ディスクI/Oが多い環境(SSDが遅いマシンや、多数の並行セッションを持つサーバー)で特に恩恵を受けます

関連情報