【ITニュース解説】Automate Your Complex Workflows with Sub-Recipes in goose
2025年09月27日に「Dev.to」が公開したITニュース「Automate Your Complex Workflows with Sub-Recipes in goose」について初心者にもわかりやすく解説しています。
ITニュース概要
gooseのサブレシピ機能は、複雑なタスクを複数のAIモデルに分担させ、自動化されたワークフローを構築する。ロゴ作成、コード生成、ドキュメント作成など、専門のAIを個別のレシピとして作り、メインレシピで連携・実行する。これにより、効率的で再利用可能な自動化が可能になる。
ITニュース解説
gooseにおけるサブレシピは、複雑なタスクを効率的に自動化するための強力な仕組みである。システムエンジニアを目指す初心者は、まず大規模な作業を小さく独立した部分に分割し、それぞれを専門のAIに担当させるという考え方を理解すると良いだろう。ちょうど、料理で簡単な一品料理から始めて、やがて複数の料理を同時にこなすフルコース料理を作るように、gooseのサブレシピも個々のタスクを実行する独立したレシピを組み合わせ、メインのレシピが全体を調整する形で機能する。
サブレシピが重要である理由は、それぞれのタスクに最適なAIモデルや設定を利用できる点にある。例えば、画像生成には創造性を重視するAIモデルを、技術文書の作成には正確性を求めるAIモデルを、コード生成には堅牢なロジックを期待するAIモデルを選ぶといった具合だ。これにより、一つの巨大なAIが全てのタスクをこなそうとするよりも、それぞれの専門家が自身の得意分野に集中することで、全体として高品質かつ効率的なワークフローを構築できる。メインのレシピは、これらの専門化されたサブレシピの実行を調整する司令塔の役割を果たす。
具体的な例として、プロジェクトのセットアップ自動化が挙げられる。このワークフローでは、プロジェクトのドキュメント、ロゴ、そして初期のコードベースを自動で生成する。親となるメインレシピは「Complete Project Setup」というもので、これが「image-creator(画像生成)」「code-writer(コード生成)」「readme-generator(README生成)」という三つのサブレシピの実行を管理する。メインレシピには、新しく作成するプロジェクトの名前、使用するプログラミング言語、プロジェクトの説明といった情報が入力される。これらの情報は、サブレシピが必要とする部分だけが適切に渡される。
サブレシピの実行順序も重要だ。デフォルトでは、サブレシピは並行して実行される。これは、複数のシェフが同時に異なる料理を作ることで、全体の時間を短縮するのに似ている。プロジェクトセットアップの例では、ロゴ画像の生成と初期コードの作成は互いに依存しないため、並行して進めることができる。これにより、全体の処理時間を大幅に削減できるのだ。しかし、あるタスクが別のタスクの結果を必要とする場合もある。例えば、READMEの生成は、ロゴ画像とコードベースが完成してから参照して作成する必要がある。この場合、メインレシピの指示の中で、画像生成とコード生成が完了し、かつ成功した場合にのみREADME生成を実行するように指定できる。
各サブレシピは、それぞれのタスクに特化して最適化されている。 「image-creator」レシピは、プロジェクトのロゴ画像を生成する。このレシピでは、OpenAIのDALL-Eという画像生成AIを直接呼び出すPythonスクリプトを生成し、それを実行することで画像を生成する。AIの出力のランダム性や創造性を制御する「温度(temperature)」というパラメータを低く設定(0.1)することで、より安定した、意図した通りの画像を生成することを目指す。これは、AIに「あまり自由な発想をせず、指示通りに正確に作業してほしい」と伝えるようなものだ。 「code-writer」レシピは、初期のコードベースを生成する。ここではAnthropic社のClaude SonnetというAIモデルが利用される。コード生成においては、創造性よりも技術的な正確性やベストプラクティスへの準拠が求められるため、ここでも「温度」パラメータは低く(0.1)設定されている。これにより、クリーンで保守性の高いコードが期待できる。 「readme-generator」レシピは、プロジェクトのREADME.mdファイルを生成する。ここではGoogleのGeminiというAIモデルが使われる。READMEはプロジェクトの概要、機能、インストール方法、使用例などを包括的に記述する必要があるため、適切な情報収集と構成能力が求められる。このレシピでは、完成したロゴ画像やコードを参照し、それらを盛り込んだ高品質なドキュメントを作成する。
サブレシピを使ったワークフローを構築する際、デバッグのヒントも役立つ。まず、個々のサブレシピが単独で正しく動作するかを必ず確認する必要がある。もし単独で失敗するサブレシピがあれば、それが組み込まれたワークフロー全体も機能しないからだ。また、ファイルパスを指定する際は{{ recipe_dir }}のような相対パスの指定を利用すると、レシピが異なる環境で実行された場合でもパスの問題を防ぐことができる。パラメータの検証も重要であり、必須のパラメータを明示し、適切な説明を付与することで、不必要なエラーを減らせる。ネットワーク通信や外部APIの呼び出しなど、不安定になりがちな操作には、自動で再試行する「リトライロジック」を実装し、失敗時のクリーンアップ処理も定義しておくと、ワークフローの堅牢性が向上する。最後に、複数のサブレシピを並行して実行する際は、AIサービスのAPI呼び出し制限(レートリミット)やシステムのリソース消費に注意し、必要に応じて実行戦略を調整することが望ましい。
サブレシピは、単なるgooseの機能に留まらない。これは、将来のAIとの協働のあり方を示唆している。AIが全てをこなすモノリシックなシステムとしてではなく、それぞれが特定の専門性を持つAIエージェントとして連携し、共通の目標に向かって協力する姿だ。各サブレシピは、再利用可能なコンポーネントとなり、専門知識を持ったAIツールキットのように機能する。これにより、さまざまなプロジェクトや課題に対して、最適なAIの組み合わせを柔軟に構築できるようになるだろう。システムエンジニアを目指す初心者にとって、このようなモジュール化されたAI活用は、今後の開発において非常に重要なスキルとなる。