タスク志向で、ツール志向にならない
shanone_search_toolsはタスクの説明との関連度でランキングされる仕組みであり、ツール名による検索ではありません。タスクを具体的に表現したクエリは、少数の使いやすい結果を返します。一方、大規模なインテグレーション(Slackは139個、Stripeは328個のツールを持つ)に対して単にサービス名だけを渡すと、結果が多すぎたり、的外れなものが返ってきたりします。
- 良い例
- 悪い例
“Post a message to a Slack channel”“Create a GitHub issue with a title and body”“Get the ETH balance of an address”
「すべて」が欲しいときは全件リストを依頼する
あなた(またはエージェント)が本当に欲しいのが、そのサービスの最も関連性の高い数件ではなく完全なツール一覧である場合は、それを明示的に伝え、shanone_search_toolsではなくshanone_list_service_toolsをエージェントに呼び出させてください。これは特に大規模なインテグレーションで重要です。
shanone_search_toolsは、このくらいの規模のサービスであってもすべてのツールを表示することを保証するものではありません——レスポンス内のhas_moreを確認し、trueであればクエリを絞り込むか、shanone_list_service_toolsに切り替えてください。
スキーマ確認のステップを働かせる
不慣れなツールについては、shanone_execute_toolの前にエージェントにshanone_get_tool_schemaを呼び出させてください。これにより、引数名の当てずっぽう(Shanoneのツールはわかりやすいものの、必ずしも直感的とは限らないフィールド名を使います——例えばslack_post_messageはchannel_idではなくchannelを取ります)を避け、必須項目と任意項目を事前に把握できます。
1
検索する
タスクを表現したクエリで
shanone_search_toolsを呼び出す。2
確認する(不安なとき)
検索結果から得た正確なツール名で
shanone_get_tool_schemaを呼び出す。3
実行する
スキーマに合わせた引数のJSON文字列で
shanone_execute_toolを呼び出す。ワークフローはSkillとして保存し、繰り返さない
同じ複数ステップの指示をエージェントに何度も伝えていることに気づいたら(例:「Notionのプロジェクトページを確認し、要約してSlackに投稿する」)、shanone_create_skillで保存しましょう。Skillはサーバー側に保存されるため、同じワークフローがShanoneアカウントに接続するどのマシン、どのIDE、どのエージェントからでも利用できます——さらにShanoneのWebダッシュボードにも表示されます。
まず確認する
複雑な複数ステップのタスクに取り掛かる前に
shanone_list_skillsを呼び出す——チームの誰かが既に保存しているかもしれませんわかりやすい名前を付ける
Skillの
nameとsummaryだけが一覧結果に表示されます——後で見て分かるくらい具体的な名前にしましょう認証の壁はうまくいなす
shanone_execute_toolがreason: "auth_required"または"auth_expired"を返したとき、それは回避すべき失敗ではありません——Shanoneが「そのサービスはまだ接続されていない」と伝えているだけです。ユーザーにconnect_linkを提示し、OAuthの完了を待ってから、まったく同じツール呼び出しを再試行してください。
auth_requiredに遭遇したときに、エージェントに別のツールや回避策を試させないでください。対処法は常に同じです。接続リンクにアクセスしてから再試行する、それだけです。権限は最小権限を保つ
RootユーザーまたはSA2の委任管理者である場合、デフォルトで全メンバーに全サービスを有効化することは避けましょう。あるロールに不要なサービス(例: エンジニアへの請求ツール、営業担当へのインフラツール)はshanone_set_user_service_permissionで無効化し、新しい社員のオンボーディング時に権限セット全体を一括で設定する場合はshanone_batch_set_user_permissionsを使ってください。詳しいモデルは権限とアクセス制御を参照してください。