19 KiB
19 KiB
05 - Objection Handler Agent (异议处理专家) 设计详解
1. 核心职责
Objection Handler 是系统中的异议化解专家。当用户表达顾虑、犹豫或反对意见时,Coordinator 调用此 Agent 获取专业的回应方案。
核心能力:
- 异议分类 -- 识别异议类型(费用/时间/成功率/家庭/政治/信任等)
- 共情回应 -- 先理解和认同用户的感受,建立信任
- 事实反驳 -- 用知识库中的真实数据和政策依据消除误解
- 案例引用 -- 援引类似背景的成功案例增强说服力
- 替代方案 -- 当无法直接消除顾虑时,提供绕行方案
- 话术建议 -- 为 Coordinator 提供具体的回应话术参考
设计原则:先共情、再讲理、后给方案。 永远不要否定用户的感受,即使他们的担心在事实上是错误的。
2. 模型与参数
{
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
{
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
{
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 传入)
interface ObjectionHandlerInput {
/** 用户的异议/顾虑原文 */
objection: string;
/** 用户上下文摘要(Coordinator 提供的背景信息) */
userContext: string;
/** 用户关注的移民类别(如果已知) */
category?: 'QMAS' | 'GEP' | 'IANG' | 'TTPS' | 'CIES' | 'TECHTAS';
}
输出 (返回给 Coordinator)
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 配合使用:
- Strategist 检测到
sentiment: hesitant+recommended: address_objection - Coordinator 据此调用 Objection Handler
- 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 │
└─────────────────────────────────────────────────────┘
并行调用优化:
// 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
(用官方政策回应质疑)
协作链路示例:
- 用户说:"高才通通过率高吗?感觉不太靠谱"
- Coordinator 调用 Strategist → 检测到
SUCCESS_RATE异议 +hesitant情绪 - Coordinator 同时调用 Objection Handler → 获取共情+数据回应
- Coordinator 可能追加调用 Case Analyst → 获取类似背景的成功案例
- Coordinator 综合三者结果,生成最终回复
9. 示例场景
场景 1:费用顾虑
Coordinator 调用:
{
"tool": "invoke_objection_handler",
"input": {
"objection": "你们的评估服务要99块?网上免费的评估工具一大把,为什么要花这个钱?",
"userContext": "用户35岁,本科,金融行业,年薪60万。已初步了解优才计划。对移民有兴趣但比较谨慎。",
"category": "QMAS"
}
}
返回结果:
{
"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 调用:
{
"tool": "invoke_objection_handler",
"input": {
"objection": "我朋友申请优才被拒了,现在通过率好像很低?",
"userContext": "用户28岁,硕士(非百强),5年工作经验,IT行业。已完成初步评估,TTPS不符合(非百强大学),优才中等推荐。",
"category": "QMAS"
}
}
返回结果:
{
"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 调用:
{
"tool": "invoke_objection_handler",
"input": {
"objection": "我倒是想去,但我老婆觉得孩子在内地读书挺好的,不想折腾",
"userContext": "用户38岁,已婚有孩子(年龄未知),TTPS B类高度推荐。之前对话很积极。",
"category": "TTPS"
}
}
返回结果:
{
"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": "家庭异议需要给用户时间与家人商量。不要催促决定,可以提供一些教育方面的资料链接让用户带回去与太太讨论。"
}
}