やりたいこと
データを読み込むだけで、以下が自動で行われる仕組みを構築したい。
- 読み込んだデータがElasticsearchに自動登録される
- データと指示内容がGeminiに渡され、PlaybookやTool/Schemaが自動生成される
- 生成された内容が自動でPlaybookやToolに反映され、管理用エージェントと紐づいて構成される
前回の調査日記
あわせて読みたい


AI Agent開発日記 2025/06/27
やりたいこと データを読み込むだけで、以下が自動で行われる仕組みを構築したい。 読み込んだデータがElasticsearchに自動登録される データと指示内容がGeminiに渡さ...
目次
コンソールに表示されるテキストの順序と内容を、分かりやすくなるように整理、調整する
- やりたいこと
- t.py実行時のテキスト全てを整理する
- 現状
- テキストの置き換えがひとまず完了したので、これから検証を行う。
修正前のテキスト
データ同期
===== データ同期テスト (BigQuery → Elasticsearch) =====
[データ同期テスト] を実行しますか? (yes/no): y
データ同期を実行しています...
リクエスト: POST http://localhost:8080/integration_service/data/sync_bq_to_es
レスポンス: 200
--- レスポンスキー 'status' の内容 ---
"Sync completed successfully. 100 rows processed."
--- 'status' ここまで ---
✅ データ同期が完了しました。
===== データ同期テスト 完了 =====
Tool/Playbook連続作成
===== Tool/Playbook連続作成フロー =====
[Tool/Playbook連続作成フロー] を実行しますか? (Agent: your-dialogflow-agent-id) (yes/no): y
[ステップ1] OpenAPIスキーマを生成しています...
リクエスト: POST http://localhost:8080/integration_service/generate/openapi_schema
レスポンス: 200
--- 生成されたOpenAPIスキーマ ---
{
"openapi": "3.0.0",
"info": {
"title": "Product Search API",
"version": "1.0.0"
},
"paths": {
"/products": {
"get": {
"summary": "Search for products",
"parameters": [
{
"name": "productName",
"in": "query",
"schema": { "type": "string" }
}
]
}
}
}
}
--- スキーマここまで ---
このスキーマでDialogflow Toolを作成しますか? (yes/no/retry_schema): y
Toolの表示名を入力してください (Enterでデフォルト値: 'Generated_Tool'): 物件検索ツール
最終的なTool表示名: 物件検索ツール_my_product_index
[ステップ2] Dialogflow Toolを作成しています...
リクエスト: POST http://localhost:8080/integration_service/dialogflow/create_tool
レスポンス: 200
✅ Tool '物件検索ツール_my_product_index' (ID: generated-tool-id) の作成に成功しました。
続けて、このToolを使ってPlaybookを作成しますか? (yes/no): y
[ステップ3] 関連Playbookを作成します...
Playbook Instructionsを生成しています...
リクエスト: POST http://localhost:8080/integration_service/generate/playbook_instructions
レスポンス: 200
--- 生成されたPlaybook Instructions (Markdown) ---
ユーザーの要望に応じて物件を検索し、結果を提示してください。
- 予算やエリアなどの条件を聞き出してください。
- 検索には ${TOOL:物件検索ツール_my_product_index} を使用してください。
- 該当する物件がない場合は、その旨を伝えてください。
--- Instructionsここまで ---
このInstructionsでDialogflow Playbookを作成しますか? (yes/no/retry_instructions): y
Playbookの表示名を入力してください (Enterでデフォルト値: '物件検索_testplaybook1'):
PlaybookのGoalを入力してください (Enterでデフォルト値: 'ユーザーの指示に基づいて適切な物件を提案する'):
Playbookを作成しています...
リクエスト: POST http://localhost:8080/integration_service/dialogflow/create_playbook
レスポンス: 200
✅ Playbook '物件検索_testplaybook1' (ID: generated-playbook-id) の作成に成功しました。
続けて、作成したPlaybookを親Playbook (ID: parent-playbook-id) に追加しますか? (yes/no): y
[ステップ4] 親PlaybookにサブPlaybookとして追加しています...
親Playbookの情報を取得しています...
リクエスト: POST http://localhost:8080/integration_service/dialogflow/get_playbook_instructions
レスポンス: 200
子Playbook '物件検索_testplaybook1' の説明を入力してください (親PlaybookのInstructionに追加されます): 都道府県や家賃から物件を検索します。
結合後の新しい親PlaybookのInstructionsプレビュー:
---
${PLAYBOOK:物件検索} や ${PLAYBOOK:FAQ} を使ってユーザーを案内します。
- - ${PLAYBOOK:物件検索_testplaybook1} - 都道府県や家賃から物件を検索します。
---
上記のプレビュー内容で親PlaybookのInstructionsを更新しますか? (yes/no): y
親Playbookを更新しています...
リクエスト: POST http://localhost:8080/integration_service/dialogflow/update_playbook_instructions
レスポンス: 200
✅ 親Playbook (ID: parent-playbook-id) の指示を更新しました。
===== Tool/Playbook連続作成フロー 完了 =====
スタンドアロンPlaybook作成
===== スタンドアロンPlaybook作成フロー =====
[スタンドアロンPlaybook作成フロー] を実行しますか? (Agent: your-dialogflow-agent-id) (yes/no): y
[ステップ1] Playbookを作成しています...
Playbook Instructionsを生成しています...
リクエスト: POST http://localhost:8080/integration_service/generate/playbook_instructions
レスポンス: 200
--- 生成されたPlaybook Instructions (Markdown) ---
顧客からの問い合わせ内容を分析し、適切な対応を行ってください。
- 問い合わせ種別(例:ログイン、請求)を特定してください。
- 関連情報を検索するには ${TOOL:Elasticsearch指定クエリ検索} を使用してください。
--- Instructionsここまで ---
このInstructionsでDialogflow Playbookを作成しますか? (yes/no/retry_instructions): y
Playbookの表示名を入力してください (Enterでデフォルト値: '顧客対応プレイブック'):
PlaybookのGoalを入力してください (Enterでデフォルト値: '顧客の問い合わせを解決する'):
Playbookを作成しています...
リクエスト: POST http://localhost:8080/integration_service/dialogflow/create_playbook
レスポンス: 200
✅ Playbook '顧客対応プレイブック' (ID: generated-playbook-id-2) の作成に成功しました。
続けて、作成したPlaybookを親Playbook (ID: parent-playbook-id) に追加しますか? (yes/no): y
[ステップ2] 親PlaybookにサブPlaybookとして追加しています...
(親Playbook情報の取得、子Playbookの説明入力、更新プレビュー)
親Playbookを更新しています...
リクエスト: POST http://localhost:8080/integration_service/dialogflow/update_playbook_instructions
レスポンス: 200
✅ 親Playbook (ID: parent-playbook-id) の指示を更新しました。
===== スタンドアロンPlaybook作成フロー 完了 =====