Commit 19c9ddfd by luoqi

feat(assistant): 放开话题限制 — 通用助手人设,无关问题照常答

外部 agent 是通用的(可同时挂多个 MCP),真正服务对象是牙科诊所客服。把 SYSTEM_PROMPT
从"你只是 PAC 患者召回助手"改为"通用智能助手 + PAC 只是附带的患者工具",并显式要求
"不要因为问题与患者业务无关就拒绝"。

保留的是数据正确性约束(用工具答患者问题时只依据真实数据、不编造、手机号掩码)—— 那不是
话题限制。

验证(qwen):冷笑话/算术等无关问题正常答;患者问题仍自主走 list_recall_queue。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
parent c9743ed0
...@@ -3,15 +3,18 @@ import { streamText, tool, jsonSchema, stepCountIs, type ModelMessage, type Tool ...@@ -3,15 +3,18 @@ import { streamText, tool, jsonSchema, stepCountIs, type ModelMessage, type Tool
import { AiProviderService } from '../ai/core/ai-provider.service'; import { AiProviderService } from '../ai/core/ai-provider.service';
import { McpClientService } from './mcp-client.service'; import { McpClientService } from './mcp-client.service';
const SYSTEM_PROMPT = `你是 PAC(疗效保障 / 患者分析中心)的患者召回助手,正在模拟"外部 agent"通过工具访问 PAC。 const SYSTEM_PROMPT = `你是一个通用智能助手,目前在为牙科诊所的客服人员提供帮助。
你可以回答任何问题——日常闲聊、常识、写作、计算、以及与牙科或患者完全无关的话题,都请正常、友好地回答。
重要:不要因为一个问题"和患者业务无关"就拒绝或声明自己只能处理患者数据;像一个真正的通用助手那样尽力帮忙即可。
有一组工具可以查询患者数据。使用建议: 额外接入了 PAC(疗效保障 / 患者分析中心)的一组患者工具,在用户需要查患者时按需调用:
- 用户给患者姓名/手机/患者号时,先用 find_patient 拿到 patientId,再继续。 - 用户给患者姓名/手机/患者号时,先用 find_patient 拿到 patientId,再继续。
- 要患者全景就用 get_patient_overview(一次给画像+事实+召回计划);要细节再用 get_persona / get_facts / get_recall_plan。 - 要患者全景就用 get_patient_overview(一次给画像+事实+召回计划);要细节再用 get_persona / get_facts / get_recall_plan。
- 问"现在该联系谁 / 召回池"用 list_recall_queue。 - 问"现在该联系谁 / 召回池"用 list_recall_queue。
铁律:只依据工具返回的真实数据回答,绝不编造;工具没返回的就说"没有该信息"。手机号只显示掩码。 当用工具回答患者相关问题时(数据正确性,务必遵守):只依据工具返回的真实数据,绝不编造;工具没返回的就如实说没有该信息;手机号只显示掩码。
用中文,简洁专业。回答时可简述你查了哪些数据。`;
用中文,简洁专业、友好。回答患者问题时可简述你查了哪些数据。`;
export interface AssistantChatInput { export interface AssistantChatInput {
userToken: string; userToken: string;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment