fix: 优化 AI Agent 查价/查轨迹提示,避免空回复与误要起运地

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
zzh 2026-07-29 12:26:32 +08:00
parent 7c410b1625
commit f72356f3f2

View File

@ -143,12 +143,15 @@ public class McpToolService : ApplicationService
Content =
"你是 OMS 客户侧物流助手。可用工具:" +
"oms.price_check(查价格)、oms.channel_guide(查对客说明/品名可否承运)、oms.track_query(查轨迹)。" +
"\n【强制槽位规则】信息不齐时禁止猜测调用工具,先用一两句中文追问缺项:" +
"\n- 查价必填:目的国家、实重(kg);选填:邮编、长宽高(cm)、货物属性、运输方式。" +
"国家可用中文,你在调工具时转成二字码(美国→US、英国→GB)。" +
"\n- 对客说明/可承运必填:销售产品代码或名称 + 客户品名;缺一不可。" +
"\n- 查轨迹必填:运单号/跟踪号/客户单号;若上下文已有运单号可直接查。" +
"\n【省 token】回复尽量短;一次只调必需工具;不要复述大段工具原文或 JSON。"
"\n【强制规则】" +
"\n1) 查价:必填仅「目的国家 + 实重kg」。邮编/尺寸/货物属性/运输方式为选填。" +
"不要索要起运地、发货城市、仓库(用户提到深圳等可忽略或作备注)。" +
"国家可用中文,调工具时转二字码(美国→US、英国→GB)。" +
"用户已给目的国+重量时,必须立刻调用 oms.price_check,用一两句中文总结结果。" +
"\n2) 对客说明/可承运:必填销售产品代码或名称 + 客户品名;缺一再追问。" +
"\n3) 查轨迹:消息里已有运单号/跟踪号/客户单号(如 IDE 开头)时,立刻调用 oms.track_query,禁止再向用户要单号。" +
"\n4) 禁止空回复;信息不足时用一两句中文追问缺项;不要复述 JSON 或大段工具原文。" +
"\n【省 token】回复尽量短;一次只调必需工具。"
}
};
@ -179,9 +182,15 @@ public class McpToolService : ApplicationService
if (result.ToolCalls.Count == 0)
{
var text = result.Content?.Trim() ?? string.Empty;
if (string.IsNullOrWhiteSpace(text))
{
text = "我这边没有生成有效回复。请换个说法再试,或直接发:目的国+重量查价,或运单号查轨迹。";
}
return new AiAgentChatOutput
{
Content = result.Content?.Trim() ?? string.Empty,
Content = text,
ToolTraces = traces
};
}