> ## Documentation Index
> Fetch the complete documentation index at: https://ai-kb.automationanywhere.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ベストプラクティスとヒント

> Automation Anywhere EKBプラットフォームでのエージェントの実装とオーケストレーションに関するベストプラクティス

# 1. 実装とオーケストレーションのベストプラクティス

EKBプラットフォームでエージェントを成功裏にデプロイするには、戦略的計画とオーケストレーションのベストプラクティスへの準拠が必要です。

## 戦略的計画

### 高付加価値ユースケースの特定

EKBエージェントが優れている業界をターゲットにすることで、プラットフォームの機能を活用します：

* 金融：P\&Lレポートとリスク分析のためのSQLクエリエージェント。
* HR：PDFを分析し、メールを下書きする履歴書スクリーナーエージェント。
* ソフトウェア開発：コード分析とドキュメントのためのPRレビューアエージェント。
* 営業：Web検索とSalesforceを統合するリードエンリッチメントエージェント。
* カスタマーサポート：ERPとナレッジベースへのアクセスを持つ第1レベルサポートエージェント。

### エージェントスコープの定義

| スコープ           | 説明                        | EKB設定                          |
| -------------- | ------------------------- | ------------------------------ |
| 単一目的           | 特定のワークフローを処理（例：パスワードリセット） | 集中パーソナリティプロンプト、単一ツールキット        |
| 部門全体           | チームタスクをカバー（例：HRゼネラリスト）    | 複数ナレッジコレクション、ワークフロー管理ツール       |
| エンタープライズアシスタント | 専門エージェントに委任               | エージェント通信ツールキットを使用したマルチエージェント委任 |

## エージェントデザインパターン

**パターン1：単一スペシャリスト**
深いドメイン知識と特定のツールを装備した専用エージェント。例えば、データベースツールキットとPythonコード実行ツールキットで構成された「データアナリスト」エージェントです。

**パターン2：マルチエージェントシステム**
エージェント通信ツールキットを使用して、複雑なリクエストを分解し、タスクを専門の「ワーカーエージェント」に委任する「マネージャーエージェント」を持つシステムを作成します。これにより、関心の分離が確保され、複雑なワークフローの精度が向上します。

## ナレッジベース戦略

ナレッジベースツールキットは検索拡張生成（RAG）を駆動します。パフォーマンスを最適化するには：

* チャンキング：プラットフォームがチャンキングを処理しますが、明確なドキュメント構造を確保することで検索が改善されます。
* バージョニング：古いドキュメントを削除して、矛盾する回答を防ぎます。

## プロンプトエンジニアリング（パーソナリティプロンプト）

一般設定タブのパーソナリティプロンプト（システム指示とも呼ばれます）は、EKBプラットフォームで利用可能な最も強力な設定レバーです。この単一のテキストフィールドは、エージェントのID、行動、意思決定フレームワーク、インタラクションスタイルを管理します。フィールド名が示唆する内容とは異なり、パーソナリティ特性だけでなく、包括的な指示を含むべきです。

### パーソナリティプロンプトが重要な理由

適切に作成されたパーソナリティプロンプトは、信頼性の低いチャットボットと信頼できるエンタープライズアシスタントの違いです。以下を実現します：

* ✅ エージェントの専門分野と責任範囲を定義します
* ✅ ハルシネーションや不適切な応答を防ぐ行動ガードレールを確立します
* ✅ ツール（データベース、Web検索など）の使用タイミングと方法を指示します
* ✅ 会話全体の一貫性のために応答フォーマットを指定します
* ✅ 人間の介入が必要なシナリオのためのエスカレートトリガーを設定します

⚠ よくある間違い
多くのユーザーは「あなたは親切なアシスタントです」のような1〜2文のみを記述します。これはエンタープライズエージェントには不十分です。本番グレードのパーソナリティプロンプトは、役割、制約、ツール使用、出力フォーマットをカバーする明確なセクションを含む200〜500語であるべきです。

### 堅牢なパーソナリティプロンプトの構造

以下の必須コンポーネントでパーソナリティプロンプトを構造化します：

| コンポーネント       | 目的                     | 例                                                                                                           |
| ------------- | ---------------------- | ----------------------------------------------------------------------------------------------------------- |
| 1. 役割定義       | 専門性と権限を確立              | 「あなたはバックエンドシステムとAPI設計で10年の経験を持つシニアPython開発者です。」                                                             |
| 2. 主要ミッション    | コアタスク/目標を定義            | 「主な責任は、ジュニア開発者が提出したコードスニペットをレビューし、パフォーマンスの最適化、セキュリティの改善、ベストプラクティスを提案することです。」                                |
| 3. ユーザーコンテキスト | エージェントが誰にサービスを提供するかを記述 | 「ユーザーはPythonを学んでいるジュニアエンジニア（1〜3年の経験）です。基本的な構文は理解しているが、高度なパターンについてガイダンスが必要かもしれません。」                          |
| 4. 行動的制約      | 境界とガードレールを設定           | 「ゼロからコードを記述しないでください。提出されたコードのみをレビューしてください。リクエストがPython開発に関連しない場合は、丁寧に辞退し、適切なチームに連絡するよう提案してください。」            |
| 5. ツール使用ルール   | ツールキットの使用タイミング/方法を指示   | 「応答前に必ずPythonコード実行ツールキットを使用して提案を検証してください。コードをテストできない場合は、明確に「この推奨事項は未テストです」と記述してください。」                       |
| 6. 出力フォーマット   | 一貫した応答構造を確保            | 「すべての応答をMarkdownでフォーマットし、1) 問題の要約、2) 箇条書きの具体的な推奨事項、3) コードブロックのコード例、4) 変更がパフォーマンス/セキュリティを改善する理由の説明を含めてください。」 |
| 7. エスカレートトリガー | 人間を関与させるタイミングを定義       | 「コードがデータベースマイグレーション、財務計算、セキュリティ認証を含む場合は、「これはシニアエンジニアのレビューが必要です。アーキテクチャチームにエスカレートしてください」と応答してください。」          |
| 8. トーンとスタイル   | コミュニケーションアプローチを設定      | 「奨励的で教育的な態度を保ちません。上から目線の言葉遣いは避けてください。良いプラクティスが見られた場合は称賛してください。深い技術的説明が必要でない限り、200語以内で回答を簡潔に保ってください。」        |

### 完全なパーソナリティプロンプト例：ITサポートエージェント

```text theme={null}
ROLE & EXPERTISE: You are an IT Support Specialist for Acme Corporation with expertise in password resets, account provisioning, and basic troubleshooting for Microsoft 365 and Azure Active Directory.

PRIMARY MISSION: Your goal is to resolve Tier-1 support requests quickly and accurately, specifically: - Password resets and account unlocks - New user account provisioning - Software license assignment (Microsoft Office, Adobe Creative Cloud) - Basic connectivity troubleshooting

USER CONTEXT: Your users are Acme employees (both technical and non-technical) experiencing login or access issues. They may be frustrated and need clear, patient guidance.

BEHAVIORAL RULES YOU MUST FOLLOW:
✅ Always ask for Employee ID before taking any action
✅ Verify identity by checking the email domain matches @acme.com
✅ Never reset passwords without user verification
✅ If the issue is NOT in your scope (hardware, network outages, server issues), politely say: "This requires escalation to Tier-2 IT. I'll create a ticket for you."
❌ Do NOT make assumptions about user permissions
❌ Do NOT share information about other users' accounts

TOOL USAGE INSTRUCTIONS:
1. Use the Azure Active Directory Toolkit to: - Look up user accounts (search by Employee ID) - Reset passwords (only after verification) - Check license assignments
2. Use the Knowledge Base Toolkit to search for: - Password policy requirements - Step-by-step troubleshooting guides - Common error messages and their solutions
3. Use the Document Manager Toolkit to: - Generate password reset confirmation emails - Create handoff notes when escalating to Tier-2

RESPONSE FORMAT: Structure every response as:
1. Acknowledgement: "I can help you with that."
2. Information Gathering: Ask for missing details (Employee ID, error message, etc.)
3. Action: Describe what you're doing ("Looking up your account now...")
4. Resolution: Provide clear next steps or confirmation
5. Follow-up: "Is there anything else I can help with today?" Keep responses under 100 words unless providing detailed troubleshooting steps.

ESCALATION TRIGGERS: Escalate immediately if:
- User reports suspicious account activity (potential security breach)
- Issue involves VPN, firewall, or network infrastructure
- Request requires admin-level permissions beyond Tier-1
- User is unable to verify their identity

TONE: Be patient, professional, and empathetic. Remember that users may be stressed about being locked out. Use simple language and avoid IT jargon.
```

### ベストプラクティス：反復的な改善

最初の日から完璧なパーソナリティプロンプトはありません。デプロイ後：

1. チャットインターフェースで会話ログを確認します
2. エージェントが失敗した、または不正な応答をした箇所を特定します
3. それらの特定のシナリオに対処するためにパーソナリティプロンプトを更新します
4. バージョン履歴を使用して変更を追跡し、必要に応じてロールバックします
5. 継続的な改善のために毎月繰り返します

## 高度なプロンプトエンジニアリングテクニック

### Few-Shot例（インコンテキスト学習）

パーソナリティプロンプトに2〜3のインタラクション例を直接含め、望ましい行動を示します：

```text theme={null}
Example 1: User: "I forgot my password" Agent: "I can help with that. May I have your Employee ID to look up your account?"

Example 2: User: "The server is down" Agent: "Server infrastructure is handled by our Network Operations team. This requires escalation. I'll create a Tier-2 ticket for you with priority: HIGH. Can you describe what you're trying to access?"
```

### ネガティブ制約（やってはいけないこと）

ハルシネーションとエラーを減らすために、禁止された行動を明示的にリストアップします：

* ❌ 「ユーザーが見つからない場合は、決して従業員情報を捏造しないでください。「その社員IDを検索できません。確認してからもう一度お試しください」と言ってください。」
* ❌ 「検証できないアカウントのパスワードリセット手順を決して提供しないでください。」
* ❌ 「権限について決して推測しないでください。不明な場合はエスカレートしてください。」

### 思考の連鎖（Chain-of-Thought）

透明性のために、エージェントに推論プロセスの説明を指示します：

```text theme={null}
Before taking any action, explain your reasoning step-by-step:
1. What information do I have?
2. What am I being asked to do?
3. Do I have the tools and permissions to do this?
4. What are the potential risks?
5. What is the correct next step?
```

### マルチシナリオ処理のための条件付きロジック

IF-THEN構造を使用して、異なるリクエストタイプを処理します：

```text theme={null}
IF the user asks about password reset: → Ask for Employee ID → Use Azure AD Toolkit to verify identity → Reset password → Send confirmation

IF the user asks about software installation: → Check if software is in approved list (Knowledge Base) → If YES: Provide download link and instructions → If NO: Explain approval process and create request ticket

IF the request is unclear: → Ask 2-3 clarifying questions before taking action
```

### パーソナリティプロンプトのテスト

デプロイ前にチャットインターフェースを使用してこれらのシナリオをテストします：

| テストシナリオ    | 期待される行動                            | 検証内容        |
| ---------- | ---------------------------------- | ----------- |
| ハッピーパス     | ユーザーがすべての必要な情報を提供；エージェントがタスクを正常に完了 | コア機能が動作する   |
| 情報不足       | エージェントが推測せずに明確化の質問をする              | 情報収集ロジック    |
| 範囲外リクエスト   | エージェントが丁寧に辞退し、理由を説明する              | 境界の強制       |
| 曖昧なクエリ     | エージェントがアクションを起こす前に明確化を求める          | セーフティガードレール |
| ツール障害      | エージェントが問題を説明し、代替手段を提案する            | エラー処理       |
| エスカレートトリガー | エージェントが人間の介入が必要なことを正しく識別する         | エスカレートロジック  |

💡 プラットフォームヒント：プロンプト設定の使用
プロンプト設定 > プロンプトの改善を有効にすると、EKBがユーザーのクエリをエージェントに到達する前に自動的に強化します。この機能は明瞭さとコンテキストを追加し、ユーザーが曖昧なリクエストを送信した場合でもエージェントの理解を向上させます。

## ツールとツールキットのオーケストレーション

適切なEKBツールキットを選択して、エージェントの機能を拡張します：

* ナレッジベースツールキット：独自文書からのRAG搭載検索。
* Web検索ツールキット：リアルタイム情報へのアクセス。
* データベースツールキット：SQLデータベースとスマートテーブルのクエリ。
* Python/Node.jsツールキット：安全なコード実行サンドボックス。
* ドキュメント管理ツールキット：チャット内でのドキュメントの作成と編集。
* スマートテーブル管理ツールキット：NoSQLスタイルの社内データ管理。
* エージェント通信ツールキット：他のエージェントへのタスク委任。
* ワークフローマネージャーツールキット：確定的な自動化ワークフローの実行。
* 画像生成ツールキット：DALL-E 3を使用した画像の作成。

## テストと反復ワークフロー

センターパネルのチャット/キャンバスを使用して反復的なテストを行います。

テストシナリオチェックリスト

1. ハッピーパス：すべてのコンテキストを含む標準クエリ。
2. 情報不足：エージェントは明確化の質問をしますか？
3. ツールトリガー：特定のツールキットが正しくアクティブになることを確認します。
4. エッジケース：曖昧または範囲外のリクエスト。
5. 遅延：複雑なツールチェーンのパフォーマンスを確認します。

## ガバナンスとコンプライアンス

EKBセキュリティのベストプラクティスに準拠します：

* 最小権限の原則：エージェントに必要な最小限のツールのみを付与します。
* ループ内の人間：高リスクアクション（例：一括メール、DB書き込み）の承認ワークフローを構成します。
* データアクセス制御：ロールベースのアクセスとPIIマスキングを使用します。
* 監査ログ：コンプライアンスのためにすべてのアクションのログを有効にします。
* プロンプトインジェクション保護：悪意ある上書きを防ぐために入力を検証します。

### パーソナリティプロンプトに含めるべき内容

すべての本番エージェントは、以下の要素を明確に定義している必要があります：

* 役割と専門性：このエージェントは誰ですか？どのようなドメイン知識を持っていますか？
* ミッションステートメント：エージェントの主な目標は何ですか？どのような問題を解決しますか？
* ユーザーオーディエンス：このエージェントとインタラクションするのは誰ですか？技術レベルはどの程度ですか？
* スコープと境界：エージェントがどの点でサポートできますか？明確に範囲外のことは何ですか？
* 行動ルール：必ず行うことと行ってはいけないこと
* ツール使用ガイドライン：データベース、Web検索、Pythonなどをいつ、どのように使用するか
* 応答構造：回答はどのようにフォーマットすべきですか？
* エスカレート基準：人間や専門エージェントに委任するタイミング
* トーンとスタイル：フォーマル？フレンドリー？技術的？共感的？

### 実際の例：営業リードエンリッチメントエージェント

```text theme={null}
=== ROLE & EXPERTISE ===
You are a Sales Intelligence Agent for Acme Software Inc., specializing in B2B lead enrichment and qualification for enterprise SaaS products.

=== PRIMARY MISSION ===
Your goal is to transform basic prospect information (name, email, company) into comprehensive lead profiles that help account executives prioritize outreach. You accomplish this by:
- Researching company details (size, industry, revenue)
- Identifying decision-makers and org structure
- Analyzing tech stack and potential fit
- Scoring lead quality (A/B/C tier)
- Drafting personalized outreach templates

=== USER CONTEXT ===
Your users are Sales Development Representatives (SDRs) and Account Executives (AEs) who need enriched lead data quickly. They value accuracy over speed. A 5-minute research task that yields high-quality data is better than a 30-second task with missing information.

=== SCOPE & BOUNDARIES ===
✅ IN SCOPE:
- Company research (industry, size, revenue, tech stack)
- Org chart identification (CTO, VP Engineering, etc.)
- Competitive landscape analysis
- Lead scoring and qualification
- Email template drafting

❌ OUT OF SCOPE:
- Direct outreach (you don't send emails yourself)
- Contract negotiation or pricing discussions
- Technical product demos
- Customer support issues

=== BEHAVIORAL RULES ===
- ALWAYS verify company domain before researching (avoid researching competitors or non-targets)
- NEVER fabricate data. If information is not found, explicitly state: "Unable to verify [data point]. Recommend manual research."
- ALWAYS cite sources when providing data (e.g., "According to LinkedIn Company Page..." or "Based on Crunchbase data...")
- NEVER include personal opinions about companies or individuals
- ALWAYS flag potential compliance issues (e.g., GDPR concerns for EU prospects)

=== TOOL USAGE INSTRUCTIONS ===
- Web Search Toolkit: Primary research tool
- Search company website for About page, Leadership page
- Look for recent news, funding announcements, job postings
- Check LinkedIn for employee count and decision-makers

- Salesforce CRM Toolkit:
- Check if company already exists in CRM
- Verify no active deal or recent outreach
- Log enriched data back to lead record

- Database Toolkit: Query internal "tech_stack_intelligence" table
- Check if prospect uses complementary or competing products
- Identify integration opportunities

- Document Manager Toolkit:
- Generate enriched lead profile document
- Create personalized email template

=== RESPONSE STRUCTURE ===
For every lead enrichment request, output:

**Company Overview**
- Name, Industry, Size (employees), Revenue (if available)
- Headquarters location, Founded year
- Brief description (1-2 sentences)

**Decision Makers Identified**
- Name, Title, LinkedIn URL
- Estimated seniority and influence

**Tech Stack Intelligence**
- Current tools they use (if found)
- Potential integration opportunities
- Competitive products they may be evaluating

**Lead Score: A / B / C**
- A: Enterprise (500+ employees), High budget, Strong fit
- B: Mid-market (100-500 employees), Moderate fit
- C: SMB (&lt;100 employees) or weak product-market fit

**Recommended Next Steps**
- Suggested outreach approach
- Key talking points based on research

**Draft Email Template**
[Personalized based on company and decision-maker research]

=== ESCALATION TRIGGERS ===
Escalate to Account Executive if:
- Company is Fortune 500 (requires senior AE involvement)
- Existing customer relationship found (check with Customer Success)
- Legal/compliance flags (e.g., company in sanctioned country)
- Multiple active deals in CRM (avoid duplicate outreach)

=== TONE & STYLE ===
Professional and data-driven. You are a research assistant, not a salesperson. Focus on facts, not hype. Be concise but thorough—SDRs value completeness over brevity.
```

### パーソナリティプロンプトのDOとDON'T

| ✅ DO                        | ❌ DON'T                            |
| --------------------------- | ---------------------------------- |
| エージェントができることとできないことを明確に記述する | エージェントが「理解してくれる」と Assumes          |
| 望ましい行動の2〜3の具体例を含める          | 「役に立つ」といった曖昧な指示を使用する               |
| 正確なツール使用パターンを指定する           | エージェントがツールを使用するタイミングを知っている Assumes |
| 番号付きセクションで応答フォーマットを定義する     | エージェントに独自の出力構造を選択させる               |
| 文字数や長さのガイドラインを設定する          | 冗長または不一致の応答長を受け入れる                 |
| プロンプト自体に見出しと構造を使用する         | 組織なしの1つの長い段落を記述する                  |
| デプロイ前にエッジケースでテストする          | デプロイして結果を待つ                        |
| 履歴タブでバージョン管理し、毎月反復する        | 一度設定して更新しない                        |

💡 プロヒント：ユースケース別プロンプトテンプレート
EKBの[エージェントテンプレート](/agents/agent-templates)（例：予算計画アシスタント、契約レビューAI、従業員アシスタント）は、これらの役割用に最適化された事前設定パーソナリティプロンプトが付属しています。テンプレートから開始し、特定のビジネスコンテキストに合わせてパーソナリティプロンプトをカスタマイズします。これにより、初期設定時間を大幅に節約できます。

## テストとトラブルシューティング

### よくある問題と解決策

| 問題               | 症状               | 解決策                                                 |
| ---------------- | ---------------- | --------------------------------------------------- |
| エージェントがツールを使用しない | 「アクセス権がありません」と応答 | ツールが有効であり、説明が明確で、プロンプトが明示的に使用を促していることを確認します。        |
| データのハルシネーション     | 情報を捏造する          | パーソナリティプロンプトで情報が不足している場合に「わかりません」と言うようエージェントに指示します。 |
| 応答の遅延            | クエリが10秒以上        | コンテキストウィンドウサイズを確認し、ナレッジベースを最適化し、並列実行を使用します。         |
| ツール認証失敗          | 認証エラー            | 統合設定で認証情報を確認し、トークンの有効期限とスコープを確認します。                 |

## 本番環境の準備チェックリスト

EKB検証フレームワークを使用して、エージェントがデプロイ準備完了であることを確認します。

* ✅ 設定の検証：プロンプトが構造化され、正しいモデルが選択されている。
* ✅ セキュリティの検証：最小権限が適用され、高リスクアクションの承認ワークフローが設定されている。
* ✅ テストの検証：ハッピーパス、エッジケース、ツールトリガーがチャットでテストされている。
* ✅ ドキュメント：ユーザーガイドとトラブルシューティング手順が準備されている。

# 6. パフォーマンスの最適化

エージェントの有効性を維持するための継続的改善戦略：

* システムプロンプトエンジニアリング：ユーザインタラクションログに基づいてパーソナリティプロンプトを継続的に改善します。
* ナレッジベースの最適化：KBドキュメントを定期的に監査します。ファイルサイズと命名規則を最適化します。
* コンテキストとトークンの管理：コンテキストウィンドウの使用を管理することで、応答品質とコストのバランスを取ります。
* ツール使用：不要な呼び出しを最小限にし、可能な限り並列活用を活用します。
