【要約】【Claude Code】/insights のレポートが上書きされないように逃がしておきたい [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
Claude Codeを利用する開発者が、使用状況レポートの管理において不便を感じている。具体的には、以下の課題に直面している。
- ・
/insights実行時にreport.htmlが上書きされ、過去の履歴が消失する。 - ・生成されるレポートが英語のみであり、内容の把握に手間がかかる。
- ・Claude CodeのStop Hookでは、ファイル書き込み完了を正確に検知できない。
// Approach
開発者が、macOSの
launchdを用いて、レポートの変更を検知し自動翻訳するエージェントを実装した。Claude Codeのプロセスから完全に独立させるため、以下の手法を採用している。- ・
launchdのWatchPathsでファイルの変更を監視する。 - ・BeautifulSoupを用いて、HTMLからテキストノードのみを抽出する。
- ・抽出したテキストを4分割し、Claude CLIを用いて並列に翻訳する。
- ・翻訳後のテキストを元のHTML構造へ再注入し、タイムスタンプ付きで保存する。
// Result
この自動化により、ユーザーはレポートの履歴を日本語で容易に蓄積できるようになった。特に、LLMの特性を活かした最適化により、処理時間が大幅に改善された。
- ・HTML全体を翻訳する場合、Haikuでも約3分を要した。
- ・テキスト抽出と4並列化の組み合わせにより、約57秒まで短縮した。
- ・macOSの通知機能により、処理の開始と完了を即座に把握できる。
Senior Engineer Insight
> 既存ツールの制約をOSレベルの仕組みで補完する、極めて合理的な設計である。アプリケーションのライフサイクルに依存せず、
launchdで監視を行う判断は、レースコンディションを回避する上で実戦的だ。また、トークンコストとレイテンシを抑えるため、HTML構造を維持しつつテキストのみを抽出・並列処理する手法は、LLM活用における定石と言える。運用面では、監視対象ファイルの肥大化に伴うリソース消費に留意すべきだ。