エージェントベストプラクティス
以下は、Squid を使ってエージェントアプリケーションを構築する際に従うべきベストプラクティスの一覧です。何か知恵を共有したい、または質問がある場合は、Contact us にご連絡ください!
インストラクションガイドライン
Role, Background, and Context
エージェントが誰であるか、どのように振る舞うべきか、そしてその主要な目的が何であるかを指示してください。
You are a financial analyst capable of performing analysis on various financial documents and your main goal is to assist analysts in making faster and well-informed decisions.
入力と出力
Input: エージェントがどこからデータを取得すべきかを指定します(例: knowledge base files, the web, または他のエージェント)。
Output: エージェントがどのように応答するべきかを定義します(例: Text, JSON, PDFs, Bar Charts)。
制約事項
時間制限、フィルター、サイズ上限、及び例外処理を追加してください。
Answer only according to data from the database.
複雑なタスクの分割
段階的な手順を概説してください。必要であれば箇条書きを使用します。
1. Load the input dataset.
2. Identify null or inconsistent values.
3. Apply domain-specific cleaning rules.
4. Output a cleaned dataset and summary report.
明確に指示する
シンプルで直接的かつ曖昧さのない言葉を使用してください。「maybe」、「try to」、「could」は避けてください。
❌ *Try to clean the data if it looks messy.*
✅ *Remove any row where the email field is empty.*
成功基準の定義
エージェントがタスクを正しく完了したと判断する基準を明確にしてください。
Success = dataset has no nulls, consistent formats, and validation checks pass.
回答精度の向上
エージェントが提供する回答の精度を向上させるために、エージェントのインストラクションとそのモデルの両方を調整してください。これらの要素は、Squid の Agent Studio の Overview タブで容易に調整可能です。
マルチエージェントガイドライン
明確かつ明瞭な役割の割り当て
各エージェントは冗長や混乱を避けるために固有の責務を持つべきです。エージェントアプリケーションを構築する際は、各タスクを専門に担当する個々のエージェントを作成するのが最適です。専門エージェントを、相互作用を調整するルートエージェントに接続することで、より効率的かつ効果的なシステム を実現できます。
- 複数のエージェントに類似のタスクを割り当てて重複が生じるのは避けてください。
- 単一のエージェントに、ユーザー入力の受信、データベースへの接続、データの検証など、関連のない複数のタスクを行わせるのは避けてください。
- タスクは複数のエージェントに分割してください。
- Agent 1: Writes code
- Agent 2: Tests code
- Agent 3: Documents code
入力/出力契約の定義
エージェント間の通信方法を標準化し、フォーマットと期待されるデータを定義してください。
All agents exchange JSON with `task`, `input`, and `output` fields.
エージェントの調整
以下の方法でエージェント間の通信を促進してください:
- coordinator agent を使用して追加エージェントへの呼び出しを管理する
- または、必要に応じてエージェント同士が直接呼び出し合えるようにする
いずれの場合も、coordinator agent がプロセスのエントリーポイントを管理するべきです。例えば:
- User input
- API call
- Webhook
- Function calls