447 lines
19 KiB
Markdown
447 lines
19 KiB
Markdown
# 05 - Objection Handler Agent (异议处理专家) 设计详解
|
||
|
||
## 1. 核心职责
|
||
|
||
Objection Handler 是系统中的**异议化解专家**。当用户表达顾虑、犹豫或反对意见时,Coordinator 调用此 Agent 获取专业的回应方案。
|
||
|
||
核心能力:
|
||
1. **异议分类** -- 识别异议类型(费用/时间/成功率/家庭/政治/信任等)
|
||
2. **共情回应** -- 先理解和认同用户的感受,建立信任
|
||
3. **事实反驳** -- 用知识库中的真实数据和政策依据消除误解
|
||
4. **案例引用** -- 援引类似背景的成功案例增强说服力
|
||
5. **替代方案** -- 当无法直接消除顾虑时,提供绕行方案
|
||
6. **话术建议** -- 为 Coordinator 提供具体的回应话术参考
|
||
|
||
> 设计原则:**先共情、再讲理、后给方案。** 永远不要否定用户的感受,即使他们的担心在事实上是错误的。
|
||
|
||
## 2. 模型与参数
|
||
|
||
```typescript
|
||
{
|
||
model: 'claude-sonnet-4-20250514', // 需要共情能力 + 逻辑推理
|
||
max_tokens: 2000,
|
||
temperature: 0.2, // 允许少量灵活性(话术需要自然)
|
||
system: [
|
||
{
|
||
type: 'text',
|
||
text: objectionHandlerPrompt,
|
||
cache_control: { type: 'ephemeral' }
|
||
}
|
||
],
|
||
}
|
||
```
|
||
|
||
选用 Sonnet 的理由:
|
||
- 异议处理需要高情商(理解用户潜台词)
|
||
- 需要平衡共情与说服,这对模型能力要求较高
|
||
- 回应中需要准确引用政策数据,不能出错
|
||
|
||
## 3. 可用工具 (Available Tools)
|
||
|
||
Objection Handler 有 **2 个工具**:
|
||
|
||
### 3.1 search_knowledge
|
||
|
||
```typescript
|
||
{
|
||
name: 'search_knowledge',
|
||
description: '搜索知识库获取政策事实、成功率数据、费用标准、审批时间等信息,用于以事实回应用户异议。',
|
||
input_schema: {
|
||
type: 'object',
|
||
properties: {
|
||
query: {
|
||
type: 'string',
|
||
description: '搜索查询,如"高才通审批成功率数据"或"移民后就业情况"'
|
||
},
|
||
category: {
|
||
type: 'string',
|
||
enum: ['QMAS', 'GEP', 'IANG', 'TTPS', 'CIES', 'TECHTAS'],
|
||
description: '相关移民类别'
|
||
}
|
||
},
|
||
required: ['query']
|
||
}
|
||
}
|
||
```
|
||
|
||
### 3.2 get_user_context
|
||
|
||
```typescript
|
||
{
|
||
name: 'get_user_context',
|
||
description: '获取用户的历史背景和之前的顾虑记录,避免重复回应同一异议,并根据用户具体情况定制回应。',
|
||
input_schema: {
|
||
type: 'object',
|
||
properties: {
|
||
query: {
|
||
type: 'string',
|
||
description: '检索用户记忆,如"用户之前表达过的顾虑和担忧"'
|
||
}
|
||
},
|
||
required: ['query']
|
||
}
|
||
}
|
||
```
|
||
|
||
## 4. System Prompt 要点
|
||
|
||
```
|
||
# 身份
|
||
你是 iConsulting 的异议处理专家。你擅长理解用户的顾虑,并用专业、温暖的方式化解。
|
||
|
||
# 回应三步法(必须遵守)
|
||
1. 共情 (Empathize): 承认用户的感受是合理的,用"确实""您的担心很正常"等语言
|
||
2. 事实 (Educate): 用知识库中的数据和政策纠正误解
|
||
3. 方案 (Empower): 给出具体的解决方案或替代路径
|
||
|
||
# 常见异议分类与策略
|
||
|
||
## COST(费用顾虑)
|
||
- "太贵了" / "移民中介费好高"
|
||
- 策略:区分付费评估(¥99)vs 正式申请费用 vs 中介费;强调自助申请的可能性;对比移民后的收入提升
|
||
|
||
## TIMELINE(时间顾虑)
|
||
- "要等好久" / "时间太长了"
|
||
- 策略:按类别给出真实审批时间(TTPS 4-6周最快);对比其他国家移民周期;强调可以边等边准备
|
||
|
||
## SUCCESS_RATE(成功率顾虑)
|
||
- "能成功吗" / "通过率高吗"
|
||
- 策略:引用知识库中的通过率数据;分析用户条件匹配度;避免承诺100%成功
|
||
|
||
## FAMILY(家庭顾虑)
|
||
- "家人不支持" / "孩子教育怎么办"
|
||
- 策略:提供香港教育体系信息;配偶随行政策;强调不需要立即定居
|
||
|
||
## POLITICAL(政治顾虑)
|
||
- "香港现在还好吗" / "安全吗"
|
||
- 策略:保持中立客观;引导关注经济和教育优势;强调"多一个选择"而非"逃离"
|
||
|
||
## TRUST(信任顾虑)
|
||
- "AI能给准确建议吗" / "你们靠谱吗"
|
||
- 策略:强调AI只做初筛,正式服务由持牌顾问提供;建议验证信息来源(官方网站)
|
||
|
||
## READINESS(准备度顾虑)
|
||
- "我条件不够好" / "再等等吧"
|
||
- 策略:指出已有优势;强调"越早准备越好";政策有变化风险
|
||
|
||
# 红线
|
||
- 永远不要承诺100%成功率
|
||
- 不做任何政治立场判断
|
||
- 不贬低其他移民目的地
|
||
- 不催促用户做决定
|
||
```
|
||
|
||
## 5. 输入/输出格式
|
||
|
||
### 输入 (Coordinator 传入)
|
||
|
||
```typescript
|
||
interface ObjectionHandlerInput {
|
||
/** 用户的异议/顾虑原文 */
|
||
objection: string;
|
||
/** 用户上下文摘要(Coordinator 提供的背景信息) */
|
||
userContext: string;
|
||
/** 用户关注的移民类别(如果已知) */
|
||
category?: 'QMAS' | 'GEP' | 'IANG' | 'TTPS' | 'CIES' | 'TECHTAS';
|
||
}
|
||
```
|
||
|
||
### 输出 (返回给 Coordinator)
|
||
|
||
```typescript
|
||
interface ObjectionHandlerOutput {
|
||
/** 异议分类 */
|
||
objection_category: 'COST' | 'TIMELINE' | 'SUCCESS_RATE' | 'FAMILY' | 'POLITICAL' | 'TRUST' | 'READINESS' | 'OTHER';
|
||
|
||
/** 异议严重程度 */
|
||
severity: 'low' | 'medium' | 'high';
|
||
|
||
/** 共情回应(Coordinator 可直接使用或改写) */
|
||
empathy_response: string;
|
||
|
||
/** 事实反驳要点 */
|
||
factual_rebuttal: {
|
||
key_points: string[]; // 核心反驳论点
|
||
data_references: string[]; // 引用的数据/政策
|
||
sources: Array<{
|
||
title: string;
|
||
article_id?: string;
|
||
}>;
|
||
};
|
||
|
||
/** 成功案例引用(如果知识库有相关案例) */
|
||
success_story_reference?: {
|
||
scenario: string; // 案例背景简述
|
||
relevance: string; // 与当前用户的关联点
|
||
};
|
||
|
||
/** 建议的完整回应话术(供 Coordinator 参考) */
|
||
suggested_response: string;
|
||
|
||
/** 建议的后续动作 */
|
||
follow_up_action: {
|
||
action: 'continue_discussion' | 'provide_more_data' | 'offer_alternative' | 'give_space' | 'connect_expert';
|
||
detail: string;
|
||
};
|
||
}
|
||
```
|
||
|
||
## 6. 触发时机 (When to Trigger)
|
||
|
||
Coordinator 在以下场景调用 `invoke_objection_handler`:
|
||
|
||
| 场景 | 用户信号 | Coordinator 判断方式 |
|
||
|------|----------|---------------------|
|
||
| 直接表达顾虑 | "太贵了" / "不确定" / "有点担心" | LLM 识别负面情绪+具体顾虑主题 |
|
||
| 犹豫不前 | "让我想想" / "再考虑一下" | LLM 识别拖延信号 |
|
||
| 质疑可行性 | "我条件不太好吧" / "能通过吗" | LLM 识别自我怀疑 |
|
||
| 对比竞品 | "其他中介说..." / "网上说..." | LLM 识别外部信息干扰 |
|
||
| 家庭反对 | "老婆/老公不同意" | LLM 识别第三方阻力 |
|
||
| 政治敏感 | "香港还安全吗" | LLM 识别政治顾虑 |
|
||
|
||
**通常与 Strategist 配合使用**:
|
||
1. Strategist 检测到 `sentiment: hesitant` + `recommended: address_objection`
|
||
2. Coordinator 据此调用 Objection Handler
|
||
3. Coordinator 综合两者的建议生成最终回复
|
||
|
||
## 7. 内部循环 (Internal Loop)
|
||
|
||
Objection Handler 的 agent loop 最多 **2 轮** tool 调用:
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────┐
|
||
│ Objection Handler Internal Loop (max 2 turns) │
|
||
│ │
|
||
│ Turn 0: 分析异议 + 获取背景 │
|
||
│ ├── 同时发起两个 tool 调用(并行): │
|
||
│ │ ├── search_knowledge({query: 相关事实查询}) │
|
||
│ │ └── get_user_context({query: 用户顾虑历史}) │
|
||
│ │ │
|
||
│ Turn 1: 综合生成回应方案 │
|
||
│ ├── 如果 Turn 0 的搜索结果不够 │
|
||
│ │ └── search_knowledge({query: 补充查询}) │
|
||
│ │ │
|
||
│ └── 生成结构化输出 │
|
||
│ ├── 分类异议 │
|
||
│ ├── 构建共情 + 事实 + 方案 三段式回应 │
|
||
│ └── 返回给 Coordinator │
|
||
└─────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
**并行调用优化**:
|
||
|
||
```typescript
|
||
// Objection Handler 可以在第一轮同时调用两个工具
|
||
const toolCalls = [
|
||
{
|
||
name: 'search_knowledge',
|
||
input: { query: '高才通审批成功率和时间线', category: 'TTPS' }
|
||
},
|
||
{
|
||
name: 'get_user_context',
|
||
input: { query: '用户之前表达过的顾虑' }
|
||
}
|
||
];
|
||
// 两个工具并行执行,减少延迟
|
||
```
|
||
|
||
## 8. 与其他 Agent 的关系
|
||
|
||
```
|
||
┌──────────────┐
|
||
│ Strategist │
|
||
│ (检测异议 │
|
||
│ 信号) │
|
||
└──────┬───────┘
|
||
│ sentiment: hesitant
|
||
│ recommended: address_objection
|
||
▼
|
||
┌──────────────┐ invoke_objection_handler ┌──────────────┐
|
||
│ │ ────────────────────────→ │ Objection │
|
||
│ Coordinator │ ObjectionHandlerOutput │ Handler │
|
||
│ │ ←──────────────────────── │ │
|
||
└──────┬───────┘ └──────┬───────┘
|
||
│ │
|
||
│ Coordinator 综合回应: ├── search_knowledge
|
||
│ 1. 共情语句(来自 Objection Handler) ├── get_user_context
|
||
│ 2. 事实数据(来自 Objection Handler) │
|
||
│ 3. 对话策略(来自 Strategist) ↓
|
||
│ ┌──────────────┐
|
||
│ │ Knowledge │
|
||
├── 可能追加调用 Case Analyst │ Service │
|
||
│ (用成功案例强化说服) └──────────────┘
|
||
│
|
||
└── 可能追加调用 Policy Expert
|
||
(用官方政策回应质疑)
|
||
```
|
||
|
||
**协作链路示例**:
|
||
1. 用户说:"高才通通过率高吗?感觉不太靠谱"
|
||
2. Coordinator 调用 Strategist → 检测到 `SUCCESS_RATE` 异议 + `hesitant` 情绪
|
||
3. Coordinator 同时调用 Objection Handler → 获取共情+数据回应
|
||
4. Coordinator 可能追加调用 Case Analyst → 获取类似背景的成功案例
|
||
5. Coordinator 综合三者结果,生成最终回复
|
||
|
||
## 9. 示例场景
|
||
|
||
### 场景 1:费用顾虑
|
||
|
||
**Coordinator 调用**:
|
||
|
||
```json
|
||
{
|
||
"tool": "invoke_objection_handler",
|
||
"input": {
|
||
"objection": "你们的评估服务要99块?网上免费的评估工具一大把,为什么要花这个钱?",
|
||
"userContext": "用户35岁,本科,金融行业,年薪60万。已初步了解优才计划。对移民有兴趣但比较谨慎。",
|
||
"category": "QMAS"
|
||
}
|
||
}
|
||
```
|
||
|
||
**返回结果**:
|
||
|
||
```json
|
||
{
|
||
"objection_category": "COST",
|
||
"severity": "medium",
|
||
"empathy_response": "您说得对,网上确实有不少免费的评估工具。花钱之前多做比较是非常明智的。",
|
||
"factual_rebuttal": {
|
||
"key_points": [
|
||
"免费工具通常只做简单条件匹配(如年龄、学历),无法综合评估12项优才计划评分维度",
|
||
"我们的付费评估由AI深度分析+真人顾问审核双重把关,覆盖全部6个移民类别",
|
||
"评估报告包含详细的材料准备清单、时间规划和风险评估,相当于一份完整的申请预案",
|
||
"¥99相比正式申请的中介费(通常2-5万元)只是零头,但能帮您判断是否值得投入"
|
||
],
|
||
"data_references": [
|
||
"优才计划评分标准包含12项维度,满足6项为门槛",
|
||
"正式申请中介费用通常为20,000-50,000人民币"
|
||
],
|
||
"sources": [
|
||
{
|
||
"title": "优才计划申请费用与流程指南",
|
||
"article_id": "qmas-fee-guide-001"
|
||
}
|
||
]
|
||
},
|
||
"success_story_reference": {
|
||
"scenario": "有位类似背景的金融从业者(本科、30+岁),在做完详细评估后发现自己更适合高才通B类而非最初考虑的优才计划,节省了大量准备时间和费用。",
|
||
"relevance": "用户也是金融行业、本科学历,可能存在类似的类别误判风险"
|
||
},
|
||
"suggested_response": "您说得对,网上确实有不少免费的评估工具,花钱之前多做比较是非常明智的。\n\n不过实话说,免费工具大多只看年龄和学历这两项,很难覆盖优才计划12项评分标准的综合评估。我们的详细评估会同时分析全部6个移民类别的匹配度,帮您找到最优路径。\n\n之前就有一位和您背景类似的金融从业者,原本打算走优才,评估后发现更适合高才通B类,审批速度快了几个月。\n\n¥99 对于一个可能影响几年规划的决策来说,性价比还是很高的。当然,如果您还想多了解一些再做决定,我随时在这里为您解答。",
|
||
"follow_up_action": {
|
||
"action": "continue_discussion",
|
||
"detail": "不要强推付费,先回答完这个顾虑。如果用户继续聊,可在2-3轮后再自然提起。"
|
||
}
|
||
}
|
||
```
|
||
|
||
### 场景 2:成功率怀疑
|
||
|
||
**Coordinator 调用**:
|
||
|
||
```json
|
||
{
|
||
"tool": "invoke_objection_handler",
|
||
"input": {
|
||
"objection": "我朋友申请优才被拒了,现在通过率好像很低?",
|
||
"userContext": "用户28岁,硕士(非百强),5年工作经验,IT行业。已完成初步评估,TTPS不符合(非百强大学),优才中等推荐。",
|
||
"category": "QMAS"
|
||
}
|
||
}
|
||
```
|
||
|
||
**返回结果**:
|
||
|
||
```json
|
||
{
|
||
"objection_category": "SUCCESS_RATE",
|
||
"severity": "high",
|
||
"empathy_response": "听到朋友的经历确实会让人担心。每个人的情况不同,被拒的原因也各不相同。",
|
||
"factual_rebuttal": {
|
||
"key_points": [
|
||
"优才计划采取择优录取机制,通过率取决于申请人的综合竞争力,并非随机审批",
|
||
"影响通过率的核心因素:行业是否属于人才清单、材料准备的完整度和说服力、申请时机",
|
||
"您朋友被拒可能有具体原因(材料不完整、分数不够、不在热门行业等),不代表所有人都会被拒",
|
||
"您28岁+硕士+5年IT经验,年龄和行业(科技领域)都是加分项"
|
||
],
|
||
"data_references": [
|
||
"IT/科技行业属于香港重点发展的14个科技领域之一",
|
||
"优才计划已取消年度配额限制,全年接受申请"
|
||
],
|
||
"sources": [
|
||
{
|
||
"title": "优才计划最新申请要求与审批标准",
|
||
"article_id": "qmas-criteria-001"
|
||
},
|
||
{
|
||
"title": "香港人才清单行业分类",
|
||
"article_id": "talent-list-001"
|
||
}
|
||
]
|
||
},
|
||
"success_story_reference": {
|
||
"scenario": "一位29岁、普通本科毕业的数据分析师,凭借在AI领域的项目经验和行业论文,成功通过优才计划。关键在于材料中充分展示了行业贡献。",
|
||
"relevance": "用户同样来自IT领域,且学历更高(硕士),如果能充分展示专业能力,通过可能性不低"
|
||
},
|
||
"suggested_response": "听到朋友的经历确实会让人担心,这种心情完全可以理解。\n\n不过每个申请人的情况差异很大,您朋友被拒可能有材料、时机或分数等方面的具体原因。优才是择优录取,关键在于怎么呈现自己的竞争力。\n\n从您的条件来看,28岁年龄加分很高,硕士学历是加分项,IT行业属于香港重点发展领域。如果能在申请材料中突出您在科技领域的项目经验和成果,竞争力是不弱的。\n\n要不要我帮您更详细地分析一下各项评分情况?这样您对自己的实际竞争力会有更清晰的判断。",
|
||
"follow_up_action": {
|
||
"action": "provide_more_data",
|
||
"detail": "建议接下来调用 Assessment Expert 做一次完整评估,用具体分数让用户看到自己的竞争力。数据比口头安慰更有说服力。"
|
||
}
|
||
}
|
||
```
|
||
|
||
### 场景 3:家庭顾虑
|
||
|
||
**Coordinator 调用**:
|
||
|
||
```json
|
||
{
|
||
"tool": "invoke_objection_handler",
|
||
"input": {
|
||
"objection": "我倒是想去,但我老婆觉得孩子在内地读书挺好的,不想折腾",
|
||
"userContext": "用户38岁,已婚有孩子(年龄未知),TTPS B类高度推荐。之前对话很积极。",
|
||
"category": "TTPS"
|
||
}
|
||
}
|
||
```
|
||
|
||
**返回结果**:
|
||
|
||
```json
|
||
{
|
||
"objection_category": "FAMILY",
|
||
"severity": "high",
|
||
"empathy_response": "家人的意见确实很重要,毕竟移民是全家的大事。您太太关心孩子的教育稳定性,这完全可以理解。",
|
||
"factual_rebuttal": {
|
||
"key_points": [
|
||
"拿到香港身份并不意味着必须立即搬过去,很多家庭选择'先拿身份、后续安排'的方式",
|
||
"高才通获批后,孩子可以享受香港教育资源(包括国际学校、双语教育),但不强制转学",
|
||
"持港身份的孩子在内地参加联考(DSE/港澳台联考)有更多升学选择",
|
||
"可以维持'一家两地'模式:一方在港工作保持身份续签,家人不一定要搬迁"
|
||
],
|
||
"data_references": [
|
||
"持香港居民身份的学生可参加港澳台联招考试",
|
||
"高才通签证持有人的受养人可申请随行签证",
|
||
"香港7年居住可申请永居,但不要求连续居住"
|
||
],
|
||
"sources": [
|
||
{
|
||
"title": "香港身份与子女教育规划指南",
|
||
"article_id": "family-education-001"
|
||
}
|
||
]
|
||
},
|
||
"success_story_reference": {
|
||
"scenario": "一位类似情况的家庭,先生先通过高才通拿到香港身份,太太和孩子继续在内地。两年后孩子面临小升初时,全家利用港籍身份获得了国际学校的入学机会。",
|
||
"relevance": "用户也是已婚有孩子,可以用灵活的方式先拿身份、不急于搬迁"
|
||
},
|
||
"suggested_response": "家人的意见确实很重要,移民毕竟是全家的大事。您太太关心孩子的教育稳定性,这是非常负责任的想法。\n\n其实拿到香港身份并不意味着必须马上搬过去。很多家庭的做法是'先拿身份、灵活安排'——孩子可以继续在内地读书,等到合适的时机(比如升学节点)再考虑是否过去。\n\n而且港籍孩子还多了一条路:可以参加港澳台联考,升学选择更多。相当于给孩子多了一个选择,而不是替他们做决定。\n\n要不和太太分享一下这些信息?有时候换个角度来看,'多一个身份'和'一定要搬家'是完全不同的概念。",
|
||
"follow_up_action": {
|
||
"action": "give_space",
|
||
"detail": "家庭异议需要给用户时间与家人商量。不要催促决定,可以提供一些教育方面的资料链接让用户带回去与太太讨论。"
|
||
}
|
||
}
|
||
```
|