はじめに
Clineのv3.25.0でのアプデが良かったので紹介したい。
Cline v3.25.0でのアップデート内容
先の公式ブログが全てなのだが、掻い摘んで紹介する。
Combine the trio of Deep Planning, the Focus Chain, and Auto Compact to unleash a coding agent capable of solving complex problems.
1. Deep Planning
Deep Planningは、PlanモードにDeep Research要素を加えた機能である。/deep-planning
コマンドを実行すると、ClineはPlanモードでコードベースを調査し、必要に応じて質問を行い、その結果をimplementation_plan.md
にまとめる。その後、計画を元に新しいタスクを実行(/newtask
)して、Planの内容を実行する。
通常のPlanモードとの差分はこれらである。
- ユーザに対する理解を深めるための追加質問
- プランの結果をファイル出力する
- セッションを切り替えてActを進める
なぜ通常のPlan→Actのように同じセッションで実施しないのか。セッション内で会話を続けるほどにLLMの「記憶」が曖昧になる様子は下の図が詳しい。
"LLMs Get Lost in Multi-Turn Conversation": https://arxiv.org/abs/2505.06120
会話を重ねるほどに、生成された仮定や誤りの訂正、ツールの入出力、失敗した記録も積み重なっていく。推論が残置された不要な情報に引きずられる現象を「チェーホフの銃の誤謬」と呼ぶが、まさにこの積み重なった履歴によってコンテキストが汚染される。この汚染はコンテキストウインドウサイズの大きさでも解決できるわけではなく、先日のClaude4 Sonnetの100万コンテキスト対応後もコンテキスト汚染は同様に発生してしまう。
Deep Planningでは、初期の計画を凝縮して引き継ぐ。つまり明示的に探索の過程や思考過程をいったん「捨てる」ため、マルチターンによる劣化を防ぐことが期待できる。
2. Focus Chain
Focus Chainは、Todoリストを生成してタスクにフォーカスし続けるための機能である。v3.25.0からはデフォルト有効になった。(設定から無効化も可能)
単なるTodoリストを作るだけでなく、UIにプログレスバーが表示される。このリストはプログレスバーをクリックすれば編集可能で、過不足に気付いたらサッと編集できる。また、リマインダ機能で定期的に更新され、完了・進行中・未着手の項目をモデルへリマインドし、「いま何をしているか」「次に何をするべきか」を見失わずに済む。
この辺りの思想はこちらのBlogも詳しい。
3. Auto Compact
Auto Compactは、対話履歴がコンテキスト上限に近づいた際、コンテキストを自動で圧縮する機能である。これは以前のClineにもあったので新機能なのか?と疑ったのだが、機械的にルールベースで切り捨てるロジックを変更し、summarize_task
というツールで要約するようになった。
要約は以下のプロンプトで行われるようだ。
サマリーには技術的決定や変更経緯が含まれ、過去のやり取りを要約して引き継ぐ仕組みになった。
この機能群は何を示しているのか?
この3つの機能群は明確にClaude Codeの「Todoリスト」、Kiroの「仕様駆動開発」を踏まえて実装されたモダンな機能であり、知ってる人は「ああ、アレね」とわかる。とはいえあまり言語化されていないため、可能な範囲で整理する。
Todoリスト
タスク進行中にTodoリストを自動生成し、その通りにタスクをこなしていく。素朴でなんてことない話にも思えるが、これは対話中に本来の目的やプロセスが抜け漏れしやすいAIエージェントにとって実績のあるテクニックであり、Cursor, Windsurf, Claude CodeなどのCoding Agentでも実装されている。
例えばClaude Codeでは、記録では4/29でリリースされている。
Windsurfでも「Planning Mode」、Cursorでも7月に「Agent To-dos」がリリースされている。
ここまで読むとわかる通り、Clineの「Focus Chain」は明確にこれらのトレンドを踏まえている。
作業計画をTodoリストに落とし込み、定期的にリストを確認する一連の作業は、作業コンテキストを途中で忘れるエージェントに本来の目的と実施すべきタスクを思い出させる効果があるのだろう。
実際にTodoリストの機能がなかったClineに対し.clinerules
でこのようなプロンプトを書いていたが、明確に自走力が高まっているのを確認できており、これまで愛用していた。
- 実施項目は検証できる単体タスクに分解し、Todoリスト形式で管理する。
- タスクリストは`progress/progress-<something>`ファイルに書き込み、タスク完了毎に常にチェックし、管理しながら漏れなく進める。
- 完了したタスクリストは`progress/done/progress-<something>`へ移動する
Coding Agent界隈においてTodoリストによるタスクの補正は当たり前になっているといっても過言ではないだろう。
仕様駆動開発
2025年7月にAWSからKiroのプレビュー版が登場した。一般的なCoding Agentの動きをする「Vibe」モードと、Kiroチームが提唱する仕様駆動開発(Spec Driven Development)を駆使した「Spec」モードがある。
Specモードの大まかな流れを記す。
- ユーザープロンプトから要件定義(
requirement.md
)を作成する - 要件定義から設計文書(
design.md
)を作成する - 設計文書から(
tasks.md
)を作成する - tasks.mdの順にタスクを実施する(Vibeモードと同様)
ざっくり言うとSpecモードとは、Vibeモード前に強制的にPlan相当を実行し、シームレスにTodoベースで開発するためのフレームワークである。実際に使うと滑らかなユーザー体験があり、UX的にも良くできているが、Spec戦略自体は他のCoding Agentと比べて強い独自性があるわけではない点は押さえておきたい。見た目ほど特異ではないが、必要な機能を綺麗に抽象化している。
Cline v3.25.0を「仕様駆動開発」の文脈で振り返る
そろそろ本ブログのタイトルに触れて締めよう。Clineのv3.25.0のアップデートを振り返ると
- Deep Planningで要件定義・設計文書(
implementation_plan.md
)を作成する - Focus ChainでTodoリスト化しタスクを実施する
- Context汚染への対策として、「Deep Planning」「Auto Compact」でコンテキストをクリーンに保ち続ける
という流れで事実上の仕様駆動開発を実現できる。ここまでSpecに寄せなくても、機能群を個々にも使えるし既存のClineのPlan/Actとも統合されているので使い方が圧倒的に広がる。
自走力が圧倒的に高まったので、GitHub Codespacesとか立ててほったらかし起動しつつ、時々介入する使い方も便利だ。またClaudeモデル以外のGPT5・Geminiやローカルモデル勢にも最新のAgent Codingのナレッジを扱えるのが良い。