# 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": "家庭异议需要给用户时间与家人商量。不要催促决定,可以提供一些教育方面的资料链接让用户带回去与太太讨论。" } } ```