【要約】claude -pに全く同じ質問を10回投げたら、速さと長さは毎回違うのにモデルだけは1回も揺れなかった [Zenn_Python] | Summary by TechDistill
// Problem
- ・処理時間の見積もり:実行時間が一定でないと、タイムアウト設計が困難になる。
- ・後処理の設計:応答の長さに依存するロジックは、文字数の変動により失敗する恐れがある。
- ・モデルの特定:標準出力(plain)では、実際にどのモデルが応答したかを判別できない。
// Approach
- ・実行コマンド:
claude -p "<プロンプト>" --output-format jsonを使用した。 - ・記録項目:所要時間(duration_ms)、ターン数(num_turns)、応答本文(result)、モデル使用量(modelUsage)を収集した。
- ・モデル特定手法:
modelUsage内の各モデルのinputTokensと、トップレベルのinput_tokensを照合してメインモデルを特定した。
// Result
- ・変動する指標:所要時間(2424〜3118ms)、応答文字数(89〜106字)、補助モデルの有無。
- ・固定される指標:ターン数(1回)、メイン応答モデル(claude-sonnet-5)、エラーの有無。
- ・結論:メインモデルは安定しているが、実行時間や補助モデルの挙動は不安定である。そのため、時間や文字数に依存した厳密な条件分岐は避けるべきである。