phone-call について
fluents.ai を通じて電話対応のワークフローを自動化するスキルです。通話を扱うエージェント向けに、設定、監視、文字起こしの分析、結果報告を行います。
主な機能
- 01タスク別の電話エージェント作成
- 02通話の発信と監視
- 03文字起こしの分析と情報抽出
- 04結果と次の対応案の報告
- 05失敗の振り返りと改善点の検討
活用シーン
- 01レストランの予約電話
- 02相手への会議確認
- 03顧客からの製品フィードバック収集
- 04電話の一括発信
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ teamily-ai/ phone-call-skill --skill phone-callインストール後、Claude Code で/phone-callを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.env.exampleBEST_PRACTICES.mdLICENSEREADME_FOR_AGENTS.md.gitignoreREADME.mdrequirements.txtexamples/outbound_reservation.shcomparison_bad_vs_good.mdreferences/examples.mdfluents_api.mdscripts/analyze_call.pyget_call_result.pydiagnose.pyget_recording.pymake_call.pymake_call_simple.pyphone_call.shcreate_agent.pytest_connection.py詳細
Phone Call Skill
電話発信のワークフロー全体を管理するインテリジェントな AI スキルです。エージェントの作成、電話の発信、会話の分析、実行可能なインサイトの提供を行います。
🚀 クイックな使い方
このスキルを呼び出す AI エージェント向け:
# Single command to make a complete phone call:
scripts/phone_call.sh \
--to "+16576102352" \
--purpose "Make dinner reservation for 2 people tonight at 8 PM. Name: John Smith"
できること:
- ✅ 最適化された AI エージェントを作成します
- ✅ 電話を発信します
- ✅ 完了まで待機します
- ✅ 会話を分析します
- ✅ 推奨事項を添えて成功/失敗を報告します
出力: 抽出した情報を含む、明確な成功/失敗のレポートです。
主な機能
このスキルは、電話発信を包括的に管理します。
- ✅ エージェントの作成 - 用途に特化した AI 電話エージェントを作成します
- ✅ 電話の実行 - 電話を発信し、通話を監視します
- ✅ 会話の分析 - 通話の文字起こしを分析し、重要な情報を抽出します
- ✅ インテリジェントなレポート - 明確で実行可能な要約をユーザーに提供します
- ✅ 継続的な最適化 - 失敗から学び、エージェントのパフォーマンスを改善します
このスキルを使う場面
ユーザーが次のことを希望する場合に、このスキルを使います。
- 誰かに電話をかける(レストラン、顧客、ベンダーなど)
- 特定のタスク向けに自動電話エージェントを作成する
- 電話を一括で発信する
- AI エージェントに電話で連絡させる
- 通話の文字起こしを分析し、インサイトを抽出する
- 電話での会話のインテリジェントな要約を得る
クイックスタート - AI エージェント向け
簡単な使い方:
# Navigate to skill directory
cd ~/.openclaw/workspace/skills/phone-call
# Make a call (automatic agent creation)
./scripts/phone_call.sh \
--to "+1234567890" \
--purpose "Make a dinner reservation for 2 people tonight at 8 PM"
# Analyze results
./scripts/phone_call.sh --analyze "call-id-xxx"
スクリプトがすべて処理します:
- 目的に応じて最適化されたエージェントを作成します
- 電話を発信します
- 完了まで待機します
- 結果を分析して報告します
高度な使い方については、以下の「完全なワークフロー」を参照してください。
完全なワークフロー
1. ユーザーの意図を把握して情報を収集する
ユーザーから電話の依頼があった場合、次の情報を抽出して確認します。
必須情報:
- 電話番号:連絡先の番号(国番号を含む)
- 通話の目的:具体的な目標(例:「午後8時に2名でテーブルを予約する」「会議を確認する」)
- 重要な詳細:タスクの完了に必要なすべての情報
- 言語:希望する言語
- 緊急度:時間的な制約
ユーザーからの依頼例:
- 「今夜午後8時に2名でテーブルを予約するため、+1-657-610-2352 に電話してください」
- 「このレストランで夕食の予約をしてください」
- 「明日午後3時の会議を確認するため、クライアントに電話してください」
あなたが行うこと:
- ユーザーから必須情報をすべて抽出します
- 不足している情報があれば、先に確認します
- タスクの目的全体を確認します
2. インテリジェントな電話エージェントを作成する
適切な安全対策を講じ、特定のタスクに最適化されたエージェントを作成します。
📚 重要:効果的なエージェントの作成に関する詳しいガイダンスは、BEST_PRACTICES.md をお読みください!
最もよくある失敗パターンは、特に発信時の発信者と受信者の取り違えです。エージェントは次の点を理解する必要があります。
- 誰が誰に電話しているのか(発信時には、あなたが相手に電話をかけます)
- 何を言ってはいけないか(例:発信時に「どのようなご用件でしょうか?」とは絶対に言わない)
- 具体的な会話の流れ(曖昧な目的ではありません)
エージェントの設定要件:
- 明確な目的:何を達成するのかを明示した指示
- タスク完了の基準:タスクが完了したと判断する条件をエージェントに伝えます
- 失敗時の対応:タスクを完了できない場合の対応
- タイムアウト設定:適切な idle_time と call_duration
- 会話の安全対策:「タスクの完了が確認されるまで通話を切らないでください」
主な設定:
{
"prompt": "Clear, step-by-step instructions + completion criteria",
"idle_time_seconds": 15,
"endpointing_sensitivity": "relaxed",
"ask_if_human_present_on_idle": true,
"noise_suppression": true,
"conversation_speed": 1.0
}
3. 電話を発信して監視する
電話を発信し、進行状況を追跡します。
あなたが行うこと:
- fluents.ai API を使って電話を発信します
- 通話が完了するまで待機します(通話の途中で中断しないでください)
- 通話が早期に切断されていないか監視します
- 通話時間とステータスを記録します
注意すべき兆候:
- ⚠️ 通話が30秒未満で終了する(失敗した可能性が高い)
- ⚠️ 会話が検出されない
- ⚠️ ステータスが短時間で
human_disconnectedになる
4. 通話結果を分析する
重要:すべての通話を分析し、成功したか失敗したかを判断する必要があります。
分析スクリプトを使用します:
python scripts/analyze_call.py --call-id "call_xxx"
必須の分析項目:
-
タスク完了の確認:
- ✅ 目的は達成されましたか?(例:予約が確定しましたか?)
- ❌ 達成されなかった場合、失敗した理由は何ですか?
-
会話の品質:
- AI は伝えるべきことをすべて伝えましたか?
- 相手は応答しましたか?
- 情報は適切にやり取りされましたか?
-
失敗パターンの検出:
- 通話時間が短すぎる(30 秒未満)=早期に通話が切られた可能性があります
- 一方通行の会話=認識または応答に問題があります
- 確認がない=タスクが完了していません
-
重要情報の抽出:
- 確認番号
- 提案された代替の時間/日付
- 拒否や失敗の理由
- 必要な対応事項
5. ユーザーに役立つレポートを提供する
重要:常に明確で、次の行動につながる要約をユーザーに提示してください。
レポートに含める項目:
✅ 成功時のレポート形式:
✅ Task Completed Successfully!
Reservation Details:
- Restaurant: [Name]
- Date: Tonight
- Time: 8:00 PM
- Party size: 2 people
- Name: John Smith
- Confirmation: [if provided]
Call Duration: 1m 45s
❌ 失敗時のレポート形式:
❌ Task Failed - [Reason]
What Happened:
- Call duration: 15 seconds
- Issue: Restaurant hung up immediately
- Transcript: [show what was said]
Root Cause Analysis:
- [Specific problem identified]
Recommended Actions:
1. [Specific next step]
2. [Alternative approach]
3. [When to retry]
📊 必ず含める項目:
- 成功/失敗を示す明確な表示
- 達成したこと(または達成できなかったこと)
- 抽出した重要情報
- 次のステップまたは対応事項
- 再試行を推奨するかどうか
6. 最適化して学習する
通話後に、改善点を特定してください。
通話に失敗した場合:
- 失敗した理由を分析する
- エージェントの改善案を提案する
- 再試行に適したタイミングを推奨する
- 代替の方法を検討する
通話に成功した場合:
- うまくいった点を記録する
- エージェントの効率をさらに高められるか検討する
- 成功につながったパターンを確認する
一般的な最適化:
- 待ち時間を調整して、より辛抱強く応答できるようにする
- プロンプトをより明確にする
- ノイズ抑制を追加する
- 会話の速度を変更する
- 音声または口調を変更する
- 遅延を伴う再試行ロジックを追加する
環境設定
1. 依存関係をインストールする
pip install -r requirements.txt
2. API キーを設定する
.env ファイルを作成します:
FLUENTS_API_KEY=your_api_key_here
FLUENTS_API_URL=https://api.fluents.ai
WEBHOOK_URL=https://your-webhook.com/callback
3. 接続をテストする
python scripts/test_connection.py
API ドキュメント
fluents.ai API の詳細なドキュメントについては、以下を参照してください:
references/fluents_api.md- API ドキュメント一式references/examples.md- 使用例
セキュリティに関する考慮事項
- プライバシー保護:対象の電話番号に発信する許可を得ていることを確認してください
- 法令遵守:現地のテレマーケティングおよび迷惑行為防止に関する規制に従ってください
- キーのセキュリティ:API キーをバージョン管理にコミットしないでください
- ログ管理:データセキュリティに注意しながら、通話記録を適切に管理してください
使用例
例 1:簡単な通話
ユーザー:「13800138000 に電話して、明日の午後 3 時の会議を確認してください」
Claude は次の処理を行います:
- 電話をかける意図を特定する
- 情報を抽出する(番号:13800138000、目的:会議の確認)
- エージェントを作成し、会話スクリプトを設定する
- 電話をかける
- 通話が終了するまで待つ
- 結果を返す:「13800138000 に電話し、明日の午後 3 時の会議に出席することを確認しました」
例 2:複雑な会話
ユーザー:「お客様に電話して、製品についてのフィードバックを集めてください」
Claude は次の処理を行います:
- お客様の電話番号を尋ねる
- 自由形式の会話ができるエージェントを作成する
- 会話のガイドラインを設定する(製品の使用感について尋ね、フィードバックを集める)
- 電話をかけて会話を行う
- AI が会話の内容を分析する
- 構造化されたフィードバックレポートを提供する
トラブルシューティング
問題:fluents.ai API に接続できない
- API キーが正しいか確認してください
- ネットワーク接続を確認してください
- API サービスのステータスを確認してください
問題:電話に応答がない
- 電話番号の形式が正しいか(国番号を含む)確認してください
- 相手がサービス提供エリア内にいるか確認してください
- 通話ログで詳細を確認してください
問題:音声認識が不正確
- 言語設定が正しいか確認してください
- 音声の明瞭度に関するパラメーターを調整してください
- 周囲のノイズの影響を考慮してください
テクニカルサポート
- fluents.ai のウェブサイト:https://fluents.ai
- API ドキュメント:
references/ディレクトリを参照してください - 問題の報告:GitHub Issue を提出してください
ライセンス
MIT License - 詳細については LICENSE ファイルを参照してください