Playbook は、繰り返し行うタスク向けの、共有しやすく再利用可能なプロンプトです
Playbook は、繰り返し行うタスクのためのカスタム system プロンプトのようなものです。たとえば、アプリケーションのさまざまな箇所で、同じサードパーティライブラリを統合する Devin セッションが多数必要な場合、Playbook を使うとよいでしょう。
Playbook は共有しやすく再利用も簡単なため、誰かが Devin を使ってうまくいったら、他の人もその成功をより簡単に再現できます。
ほとんどのベストプラクティス、スタイルガイド、その他プロジェクト固有の指示は、
Knowledge を使って Devin と共有することをおすすめします。どの方法がニーズにより適しているか理解するために、Playbook を作成する前に Knowledge のドキュメントを読むことをおすすめします。
次のような場合に Playbook の利用をおすすめします。
- あなたやチームメイトが、複数のセッションで同じプロンプトを再利用する予定がある場合。
- Devin に対して、同じ注意点やリマインダーを繰り返し伝えている場合。
- そのユースケースが、組織内や Devin ユーザーコミュニティ内の他の人にも関係しそうな場合。
Playbook は、Devin が幅広い領域で即戦力として貢献できるようにする強力な仕組みですが、現時点では作成に一定のスキルが必要です。プロンプトエンジニアリングと同様に、Playbook の作成には試行錯誤が伴います。ただし、その成果物は、Redshift へのデータ投入やデータベース移行から、Together、Plaid、Stripe、Modal、Springboot、Odoo、Storybook など多様なソフトウェアや API の活用まで、Devin が複雑な作業に自律的に取り組めるようにするドキュメントです。
まずは、Devin に任せたいシンプルなマルチステップのタスクを題材に、最初の Playbook を作成してみてください。
- 次の内容をまとめたドキュメントを作成します:
- Devin に最終的に達成してほしい成果
- その成果に到達するために必要なステップ
- 任意: Procedure、Specifications、Advice、Forbidden Actions、Required from User といったセクションを追加します
- Procedure: タスクの全体像を記述します。セットアップ、本作業、成果物の提示について、それぞれ少なくとも 1 つのステップを含めてください。
- Specifications: 事後条件を記述します ― Devin の作業完了後に、何が満たされているべきか?
- Advice: Devin の事前の前提や思い込みを補正するためのヒントを記載します
- Forbidden Actions: Devin が絶対に行ってはならない行動を記載します
- Required from User: ユーザーから必要となる入力や情報を記載します
- Web アプリで「Create a new Playbook」をクリックして、Playbook を直接作成します。あるいは、拡張子
.devin.md のファイルとして保存し、Devin セッション開始時に Web アプリへドラッグ&ドロップします
セッションに Playbook が正常に添付されると、青いピル状の表示が現れ、セッション開始前に Playbook を編集できるインラインコンポーネントが表示されます。
手順セクションでは、次の点を満たしてください。
- 1 行につき 1 つのステップとし、各行は命令形で記述する
- タスクの範囲全体をカバーする
- セットアップ・実際のタスク・成果物のそれぞれに少なくとも 1 つのステップを含める
- ステップは 相互排他的 (Mutually Exclusive) かつ 網羅的 (Collectively Exhaustive) になることを目指す
- 追加のヒント
- 手順は、コードにおける if/else/loop/goto のように、Devin のアクションの順序を定義するのに役立つべきです
- 本当に必要な場合を除き、タスクを過度に細かくしすぎないでください。Devin の問題解決能力を損なう可能性があります
- 各手順のステップには、Write や Navigate to などのアクション動詞を含めてください
次のような場合は、Devin にアドバイスやポイントを共有してください。
- タスクの進め方について、好みや標準的なやり方がある場合
- アドバイスがタスク全体、または複数のステップに適用される場合。特定の 1 ステップにのみ当てはまるアドバイスは、そのステップの箇条書きの下にサブの箇条書きとして記載してください
- Devin の事前の想定を修正したい場合。アドバイスは、その実行に影響を与える疑似コード上のコメントのように機能します。
アドバイスが 1 つの Procedure ステップにのみ適用される場合は、そのステップの下にネストされた箇条書きを使って記載してください
Specifications セクションは、プレイブックの事後条件、つまり Devin の実行が完了した時点で何が満たされているべきかを記述するのに役立ちます。
Devin の制御範囲外だが、実行に必要となるものを洗い出してください。たとえば、Devin からはアクセスできないトークンや非公開情報をユーザーが提供する必要がある場合などです。
- 同じプレイブックで 2 つ以上の Devin を並行実行して、起こりうるエラーをすばやく洗い出します。
- Devin が助けを必要としている場合は、チャットでやり取りして手助けしてください。そのうえで、次回は介入なしでも Devin が成功できるようにプレイブックに追記します。
成果物が何なのか、そして Devin が完了したことをどのように伝えるべきかを明示します(例: どのファイルを添付するか、どのリンクを共有するかなどを、必要に応じて指定する)。
Devin が取りうるさまざまな判断パターンを洗い出し、プレイブック内で最も効率的な経路に沿って Devin を導きます。
特定のコマンドや「呪文」めいた指定、文字列もどんどん使ってよい
- それらが、動くプレイブックと壊れたプレイブックを分ける決定要因になり得ます。
- たとえば次のような指定は、とても有用な詳細になり得ます。
alloy や tts-1 は Devin が自分では選ばなかった可能性が高く、この指定によって、より成功しやすい方向に Devin を導けます。
3. Create request dict with model: "tts-1", voice: "alloy"
以下のプレイブックを使ったセッションの例はこちらおよびこちらから確認できます。
Playbook: R データサイエンスチュートリアル
## Overview
R Markdown ノートブックを使用してデータサイエンスのチュートリアルを作成します。
## What’s Needed From User
- データセットへのリンク(CSV ファイルの添付または Kaggle のリンク)
- どのようなデータサイエンスチュートリアルを作成するかの具体的なタスク内容
## Procedure
1. ユーザーが提供したデータセットをダウンロードします。
- 必要に応じて、Kaggle CLI を使用してデータセットをダウンロードします。この際、認証情報は不要です。
2. `data_science_tutorial.Rmd` という名前の R Markdown ノートブックを作成します。
3. 中間コードを書いて保存するための `tmp.Rmd` ファイルを作成します。
4. `data_science_tutorial.Rmd` ファイル内に 5 つのメインセクションを作成し、`tmp.Rmd` ファイルから以下を含むコードを追加します。
- データセットの統計情報: データセットの統計的な要約を生成します。
- EDA(Exploratory Data Analysis / 探索的データ分析): 提供されたデータに対して棒グラフと散布図を作成します。
- 学習用・テスト用データの分割: データを 80:20 の比率で分割し、学習用データとテスト用データを保存します。
- 機械学習モデルの学習: モデルを学習させ、学習済みモデルを保存します。
- 保存済みモデルでの推論: 保存したモデルを読み込み、ユーザーが指定した評価指標を用いてテストデータ上で性能を評価します。
5. コードが書き終わったら、各セクションごとに短い説明文を追加します。
6. R Markdown ノートブックを HTML 形式に変換します。
7. 最終的な R Markdown ノートブック、HTML ファイル、保存したモデル、およびテストデータをユーザーに送信します。
## Specifications
1. R Markdown ノートブックと HTML ファイルをユーザーに送信します。
2. 保存したモデルとテストデータをユーザーに送信します。
## Advice and Pointers
1. すでにインストールされているパッケージを再インストールしないでください。
2. このタスクを完了するために RStudio へのサインインは不要です。
3. 各セクションにコードを追加した後、ノートブック全体を実行してください。
## Forbidden Actions
1. `data_science_tutorial.Rmd` ファイルを上書きしないでください。