カスタムエージェントを作成・最適化する際のベストプラクティス
目標を明確にし、ソースを絞り込み、結果を反復することで、カスタムエージェントの信頼性を高めるベストプラクティスをご紹介します。
適切に設計されたカスタムエージェントは、Notionクレジットの消費を抑え、より良い結果をもたらします。すべての実行から最大限の成果を得るための方法は以下の通りです。
繰り返し発生する作業にはカスタムエージェントを使用してください。一度限りの依頼には、プランに含まれているNotionエージェントを使用してください。カスタムエージェントは、オンラインかオフラインかに関わらずバックグラウンドで自律的に動作するため、Notionクレジットを消費します。
特定のトリガーを選択してください。すべてのメッセージやデータベースの更新ではなく、特定の@メンションやプロパティの変更をトリガーにします。これにより、誤作動や無駄な実行が減ります。
コンテキストを絞り込んでください。エージェントが必要とする特定のページやデータベースを指定します。そうすることで、エージェントは必要なものだけを読み取り、各実行の焦点が維持されます。
「完了」の定義を事前に明確にします。エージェントに対して、実行が完了した状態とはどのようなものかを正確に伝えてください。指示が明確であるほど、結果に早く到達できます。
独立したタスクをバッチ処理します。例えば、複数の情報源を一つずつではなく、一度にまとめて読み取るように指示します。
✅ 「プロジェクトデータベースと#support Slackチャンネルの情報を読み取り、週次アップデートを作成してください。」
🚫 「プロジェクトデータベースを読み取ってから、週次アップデートを作成する。次に、#support Slackチャンネルを読み取って、週次アップデートに追加する。」
ワークフローが似ている場合は、既存のエージェントから開始します。必要なワークフローがすでにカスタムエージェントとして存在する場合は、ゼロから作成するのではなく、複製してください。エージェントを開き、
•••を選択して複製を選びます。コピーはデフォルトで非公開に設定されています。
複製後は、Slackなどのツールで再認証を行い、トリガーが期待通りに引き継がれているかを確認し、必要に応じてWorkersを再デプロイしてください(Workersは複製に含まれていません)。これは、機能しているエージェントのチーム向けバリエーションを迅速に立ち上げる際に特に便利です。カスタムエージェントの複製については、詳しくはこちらをご覧ください。
カスタムエージェントのご利用は初めてですか?
カスタムエージェントを使い始めるには、まずカスタムエージェントをご覧ください。カスタムエージェントとは何か、その仕組み、および連携可能なツールについてご紹介しています。
カスタムエージェントは、明確な役割、適切な情報源、そして「完了」の定義が厳密である場合に最も信頼性が高まります。この記事では、より良い指示の書き方、適切なトリガーの選択方法、そして時間の経過とともに結果を改善する方法について解説します。
どこから始めればよいかわからない場合は、チームが頻繁に繰り返す作業から始めてください。カスタムエージェントは、ワークフローが予測可能でレビューしやすい場合に最も効果を発揮します。
次のようなワークフローを探します。
レポートの作成、受信したリクエストのトリアージ、Slackでのよくある質問への回答など、反復可能なワークフロー
頻繁に、毎日または毎週発生するワークフロー
評価が簡単で、出力が正しいかどうかをすばやく判断できるワークフロー
ワークフローを選択したら、まずはエージェントの最もシンプルなバージョンを作成してください。複雑な機能を追加する前に、確実に動作するようにしましょう。
プロセスが安定して予測可能になったら、トリガーやスケジュールを追加して完全に自動化できます。
カスタムエージェントに明確な指示を与えると、より一貫性のある信頼性の高い結果が得られます。成功とはどのような状態かを重視し、それを実現するために必要なコンテキストを提供してください。
望む結果から始める
すべてのステップをリストアップするのではなく、最終的にどのような出力であるべきかを説明します
エージェントに、そこに到達する方法を決定させます
例:「完了したタスク、ブロッカー、次のステップをまとめた週次ステータス更新を作成してください」
実際の例を共有する
以前のステータス更新、フォーマットされたレポート、またはトリアージ済みリクエストを貼り付ける
抽象的な説明ではなく、具体的な例を使う
フォーマットと送信先を明確にする
出力先を指定する(Slack、データベース、既存のページなど)
どのプロパティやセクションに入力する必要があるかを明確にする
例:「#team-updatesに要約を投稿し、週次レポートデータベースに追加してください」
境界線を明確にする
エージェントがすべきことと避けるべきことを明確にします
例:「新しい週次レポートページではなく、既存の週次レポートページを更新してください」「#supportでのみ返信してください」
エッジケースを明確にする
データがない場合や報告すべき新しい情報がない場合の対処方法を説明します
例:「今週更新情報がない場合は、スキップせずに「更新情報なし」と投稿してください」
指示は短く、的を絞ったものにする
指示が短いほど、一貫性のある結果が得られます
設定が長くなる場合は、ワークフローを複数のエージェントに分割します
カスタムエージェントを設定する際は、作業をスケジュールに従って実行するか、アクションに応じて実行するか、またはその両方で実行するかを決定します。
予測可能な作業にスケジュールを使う
アクティビティに関係なく、タスクを一定の頻度で実行する場合は、スケジュールを選択します
週次レポート、日次ブリーフィング、月次サマリーなどの定期的な作業に最適です
レスポンシブな作業にはトリガーを使う
何かが起こったときにタスクを実行する場合は、トリガーを選択します。
例としては、Slackで報告されたバグ、データベースに追加された新しいページ、特定の送信者からのメールなどがあります
必要に応じてスケジュールとトリガーを組み合わせる
一部のワークフローには2つのパターンがあります
たとえば、トリガーベースのエージェントがバグの報告をトリアージし、別のスケジュールに基づくエージェントがトリアージされたバグの週次サマリーをまとめるといった具合です
頻度を低くして限定的な範囲から始める
毎日ではなく週単位のスケジュールから始める
5つのチャンネルではなく1つのチャンネルから始める
出力に一貫性があり信頼性が高いことを確認できたら、規模を拡大する
ワークフローを完全に有効化する前に、時間をかけて設定をテストし、調整します。
トリガーまたはスケジュールを有効にする前にテストする
実行をクリックし、エージェントを手動で実行します出力を確認し、期待どおりに動作することを確かめます
結果が正しく表示されたら、トリガーまたはスケジュールをオンにします
少人数でテストする
エージェントを数人のチームメイトと共有してフィードバックを収集します
早期のフィードバックを活用し、より広範囲に展開する前に問題を把握します
反復を想定する
ほとんどのエージェントは、正しく動作させるために何度かテストを実行する必要があります
指示は意図した内容ではなく、実際に表示される出力に基づいて調整します
まずアクティビティログを確認する
時計アイコンをクリックし、実行のトリガーを確認します
エージェントが行ったことと、どこで失敗した可能性があるかを確認します
ログを使って問題を診断し、アクセスを展開する前にエージェントが期待どおりに動作していることを確認します
一般的な修正点を把握する
「出力が正しくありません」は通常、指示をより具体的にする必要があることを意味します
「データがありません」は多くの場合、エージェントが追加のページまたはデータベースにアクセスする必要があることを意味します
ツールとアクセス「実行に失敗」は通常、権限のギャップや指示が不明確であることを示しています
適切に設計されたエージェントは、より高速に実行され、不要な作業を回避します。効率性に影響を与える3つの要因は以下の通りです。
エージェントの実行頻度
読み取るコンテンツの量
タスクを完了するために必要なステップ数
1. エージェントの実行頻度を減らす
パフォーマンスを向上させる最も簡単な方法は、不要な実行を制限することです。エージェントがアクションを起こす可能性が高い場合にのみ実行されるようにトリガーを設計してください。
小規模から始めて、徐々に拡大していく
毎日ではなく、週に1回の実行から始める
1つのチャンネルまたはワークフローを使ってから、さらに展開する
結果が信頼できるようになったら頻度を上げる
エージェントが必要なときだけ実行されるように、高信号トリガーを使う
Slackの場合:すべてのメッセージではなく、@メンションや特定の絵文字リアクションをトリガーにする
Notionの場合:すべてのデータベース更新ではなく、特定のプロパティ変更時にトリガーを実行する
Notionメールの場合:すべてのメッセージではなく、フィルタリングされたメールセットでトリガーする
「アクション不要」の実行が発生する可能性がある
これは、エージェントが何も対応することがないと判断した場合に発生します
これは正常で効率的な動作です。エージェントは終了前にトリガーと指示のみを確認します
2. エージェントが参照するコンテンツを意図的に設定する
エージェントが読み取るコンテンツが多いほど、実行ごとに必要な作業が増えます。スコープを絞り込んでください。
エージェントを可能な限り最小のスコープに絞り込みます。理想的には、単一のページ、または必要な場合にのみエージェントが読み込むことができる子ページにリンクする数ページに絞り込みます。
どのデータベースやページを信頼できる情報源として使うべきかがわかっている場合は、エージェントに広範囲の検索をさせることは避けましょう。
3. ステップ数を少なくする
実行中にステップが追加されるたびに作業が増えます。特に、カスタムエージェントが複数の検索を実行する場合は顕著です。
エージェントがより少ないステップで完了できるよう、「完了」の定義を明確にしてください。
エージェントが複数のツールを同時に呼び出す方が効率的です。可能な場合は、指示の中でツールの並列使用を推奨してください。
同時に実行可能: 「プロジェクトデータベース、エンジニアリングSlackチャンネル、最新のスプリントメモページを同時に読み取ってください。」 これら3つのソースは独立しているため、エージェントは1つずつではなく、すべてを同時に読み取ります。
順番に実行する必要がある: 「レポートデータベースに/summaryページを作成し、その/リンクをSlackの#team-更新一覧に投稿してください。」 エージェントは/リンクを投稿する前にページのURLが必要となるため、これらのステップは順番に実行されます。
4. ループと再試行に注意しましょう
エージェントが頻繁に複数のフォローアップの質問をしたり、同じアクションを再試行したり、同じページを再確認したり、予測可能な方法でエラーが発生したりする場合は、指示または設定を改善してください。
権限の問題(Slackでの返信権限がない、URLが信頼できないなど)によりエラーが頻発する場合は、
ツールとアクセスでエージェントのアクセス権を調整するか、指示の中でエージェントにそれらのアクションを避けるよう伝えてください。
