8月28日、Eivind Kjosbakkenが「Why Claude Code Time Estimates Are Poor」と題した記事を公開した。この記事では、Claude Codeが実装工数の見積もりを大幅に過大評価する理由と、より正確な見積もりを引き出す2つのアプローチについて詳しく紹介されている。
「1日で終わる作業」が「3〜4週間」と返ってくる
Claude Codeに「この機能の実装はどのくらいかかる?」と質問すると、こんな回答が返ってくることがある。
For a single engineer, this might be 3-4 weeks of work
だが実際には、仕様が明確であれば1日以内に実装が完了することも珍しくない。Kjosbakkenはこの現象を繰り返し経験しており、特に「あと何分で終わる?」のような短時間の見積もりを求めた場合に顕著だと指摘する。
工数見積もりの精度は、プロダクトマネージャーへの報告や、自分の作業に依存している同僚への連絡など、チーム内コミュニケーションに直結する。不正確な見積もりはそのまま信頼性の問題につながる。
なぜ過大見積もりになるのか
原因はシンプルで、学習データの問題だ。
Claude(および他のLLM)は、インターネット上の人間が書いたテキストで学習している。ブログ記事やGitHubの統計など、その大半はAIアシスタントが存在しなかった2022年以前のデータだ。つまり、「ある機能の実装に4週間かかった」という記録は、人間が一人でコードを書いていた時代のものである。
LLMはそうした人間の工数感覚をそのまま学習しているため、見積もりを求められると人間基準の数字を返してしまう。Kjosbakkenは「今後、LLMを使った開発の所要時間に関するデータがインターネット上に蓄積されれば、自然と見積もりの精度は上がるだろう。ただし、それにはまだ相当な時間がかかる」と述べている。
精度を上げる2つのアプローチ
1. 過去の実績データをスキルとして与える(推奨)
最も効果的な方法は、自分のプロジェクトにおける実績データをClaudeに参照させることだ。
ここで言う「スキル(skill)」とは、Claude Code固有の概念で、プロジェクト固有のコンテキストをMarkdownファイルとして定義し、Claudeに読み込ませる仕組みを指す。ルールや背景知識だけでなく、過去の作業実績のような定量データもスキルとして渡すことができる。
具体的には、LinearやNotionなどのツールで各タスクの開始・完了時刻を記録していく。十分なデータが蓄積されたら、以下のようなスキルを作成する。
1. Feature A <description of the feature> - 12 hours
2. Feature B <description of the feature> - 3 hours
3. Understanding and solving bug B <description of the bug and how it was fixed> - 4 hours
新しいタスクの見積もりを求める際、Claudeはこのスキルを参照して過去の類似タスクと比較し、より現実的な数字を出せるようになる。
なお、完璧な見積もりは原理的に不可能だ。実装中に予期しない課題が発生したり、他の作業との兼ね合いでリベース(ブランチの基点を付け替え・統合調整する作業)が必要になったりすることは避けられない。それでも、このアプローチは「何もしないよりはるかにマシ」な精度を実現するとKjosbakkenは述べている。
2. サブタスクに分解し「LLMならどのくらいか」を明示して聞く
実績データがまだない場合に使えるアプローチだ。
タスクをより細かいステップに分解し、「人間ではなくLLMが実行した場合の所要時間」を明示的に指定して見積もらせる。
例えば、ある機能の実装であれば:
- トピックのリサーチ
- パート1の実装
- パート2の実装
- テスト
といったサブタスクに分割する。各ステップの見積もりを積み上げることで、全体の精度が上がる。
LLMは自身の能力についてある程度の知識を持っている。たとえば、情報収集はGoogleで手動検索するより大幅に速いといった特性を、見積もりに反映できる。それぞれのサブタスクの見積もりを合算することで、より現実に近いトータルの所要時間が得られる。
AIコーディングツールの普及が進む中、「LLMと人間の時間感覚をどう揃えるか」は開発チームにとって実務的な課題になりつつある。Kjosbakkenが提示する2つのアプローチ——実績データをスキルとして与えることと、サブタスク分解による明示的な問い方——はいずれもClaudeに限らず、GitHub CopilotやCursorなどの他のAIコーディングツールにも応用できる考え方だ。特に実績データの蓄積は一朝一夕には進まないが、記録を習慣化しておくことが長期的な精度向上の土台になる。チームとしての信頼性を維持するためにも、AIの見積もりをそのまま使うのではなく、こうした補正の仕組みを取り入れることが重要といえる。
詳細はWhy Claude Code Time Estimates Are Poorを参照していただきたい。