AIが遅いと感じますか?それは、AIが「頭が悪い」からではないかもしれません。
AIが遅く感じられることが多いのは、一度に一つのタスクしか処理できないからです。タスクはキューに並び、一つのモジュールが終わるまで次のモジュールは開始されません。
これは、並列エージェント(parallel agents)を使用することで解決できます。
多くのモジュールは互いに依存していません。これらを分割すれば、複数のエージェントが同時に作業できます。その結果、同じ作業をはるかに短い時間で完了できます。
並列AIワークフローを構築する方法は以下の通りです:
まずアーキテクチャを整える 並列化にはクリーンな設計が必要です。モジュールは疎結合(loosely coupled)である必要があります。明確なインターフェースを通じて通信できるようにしてください。乱雑なコードに無理やり並列化を適用すると、エラーの塊を生み出すことになります。設計フェーズでAIを活用し、これらのインターフェースを計画しましょう。
特定の役割を割り当てる 時間とコストを節約するために、タスクごとに異なるモデルを使用します:
- リード (Opus): 全体像を管理し、タスクを割り当て、最終チェックを行います。
- プランナー (Sonnet): テスト駆動開発 (TDD) と実装計画を担当します。
- ワーカー (Haiku): 実際のコードを書き、テストを実行します。
制限を設定する エージェントを増やせば良いというわけではありません。一度に10個のエージェントを設定してみましたが、マシンのメモリが不足してしまいました。そこで5個に減らしたところ、他のタスクと組み合わせることで10倍の高速化を実現できました。並列実行数(concurrency)は、マシンの性能とクォータ(割り当て制限)に合わせて調整してください。
レビューにはリードを使用する 作業をレビューするために別個のエージェントを雇わないでください。そのエージェントはタスク全体を一から学習する必要があり、トークンの無駄になります。リードエージェントにレビューを行わせましょう。リードは既に自分が何を割り当てたかを知っているため、より速く、より正確に作業をチェックできます。
不必要な分割を避ける 順序を守らなければならないタスクもあります。密結合(tightly coupled)なモジュールを無理に分割すると、品質が低下します。AIには次のように指示してください:「これらのモジュールは結合しています。無理に分割しないでください。」
今日から始める方法:
- グローバル指示(global instructions)に「可能な限り並列化せよ」を追加する。
- 設定で最大同時実行サブエージェント数(max concurrent subagents)を増やす。
- タスクを与えるたびに、AIに並列化を促す。
Optional learning community: https://t.me/GyaanSetuAi