大きなタスクをAgentサイズのチャンクに切る:タスク分解

タスク分解の目標は、各タスクチャンクがcontextの崩壊前に完了することを保証することだ。これには2つの次元に沿った分割が必要となる。

空間次元では、モジュール化とAPI Contractが各Agentの作業フェンスを定義する。各モジュールには完全な入出力定義があり、Agentはフェンス内で自由に操作し、フェンス外の依存関係はモックで分離される。これにより、各Agentは限られたcontext window内で完全に自己完結した作業環境を得る。システム全体を理解する必要はなく、担当するモジュールとその外部とのインターフェース契約を理解するだけでよい。

API Contractはここで重要な役割を果たす。モジュール間の技術的境界であると同時に、Agentの作業範囲の認知的境界でもある。明確に定義されたAPI ContractはAgentに告げる。このインターフェースの背後のロジックの実装があなたの責任だ。入力のフォーマット、出力のフォーマット、エラーケースの処理方法はすべて契約に書かれている。契約の向こう側のシステムはあなたにとって透過的であり、関知する必要はないし、すべきでもない。

時間次元では、同じモジュール内でもタスクを小さなチャンクに分割する。各チャンクは完了時に受け入れを行い、出力が期待を満たすことを確認してからcontextを再構成して次のチャンクに進む。これは長い推論チェーンにおける初期の決定が忘れ去られる問題に直接対処する。頻繁なcontextリセットにより、各ステップはクリーンで集中したcontextの中で実行される。

粒度の判断基準は実践的な経験から来る。タスクチャンクの理想的なサイズは、Agentが単一セッション内で完了でき、出力が独立して検証可能で、完了したコードが統合可能な状態にあることだ。タスクチャンクの実行中にAgentが自己矛盾する兆候が見られた場合、粒度が大きすぎるのでさらなる分解が必要だ。

両方の次元を組み合わせると、ハイブリッド実行モードが得られる。要件フェーズでは反復的な探索を使い、曖昧さや試行錯誤を許容する。実行フェーズに入ると、厳密に順序通りに進む:仕様、テスト、コード、受け入れ。仕様が分割線だ。仕様の前:自由な反復。仕様の後:厳密な実行。このパターンは「アジャイルな要件定義、ウォーターフォールな実行」と要約できる。AI Agentはタイトな制約の下で最も良いパフォーマンスを発揮する。緩いプロセスはcontextの汚染とドリフトを招く。

results matching ""

    No results matching ""