用途:该技能用于将有限的一组自然语言短语转换为 ServiceNow 编码条件(encoded conditions)。原子化、经解析器验证的短语使用 SN-Natural-Language-Search;涉及精确运算符、多分支、排除、字段级文本行为或确定性排序时,使用 SN-Query-Table 的编码查询。权威样本随 contracts/happy-platform-mcp-5.1.0-natural-language.json 打包,可用 npm run contract:nl-check 与 MCP 源码核对。
前置条件:配置好 Happy Platform MCP 5.1.0 并指向目标实例;具备目标表的读取权限;已知准确表名;探索性搜索需设置较小结果上限并显式指定返回字段。
主要能力:v5.1 可完整解析的原子短语包括 high priority(priority=2)、P1 或 priority 2(priority=1 或 priority=2)、high impact(impact=1)、medium urgency(urgency=2)、assigned to me(assigned_to=javascript:gs.getUserID())、unassigned(assigned_toISEMPTY)、assigned to John Smith(assigned_to.nameLIKEJohn Smith)、opened today(sys_created_on>javascript:gs.daysAgoStart(0))、opened in the last 7 days 或 recent(sys_created_on>javascript:gs.daysAgo(7))、active(active=true)、description contains authentication(descriptionLIKEauthentication)、about SAP(short_descriptionLIKESAP^ORdescriptionLIKESAP)、number is INC0012345(number=INC0012345)、caller is John Smith(caller_id.nameLIKEJohn Smith)、category is Software(categoryLIKESoftware)、assignment group is Network Team(assignment_group.nameLIKENetwork Team)。注意 high 映射为优先级值 2,critical 映射为值 1。
使用方式:调用 SN-Natural-Language-Search 时参数使用 table(v5.1 中不叫 table_name),并显式给出 query、fields、limit、instance。每次只用一个原子短语,对各独立问题分别发起有界调用。需检查 encodedQuery、matchedPatterns、unmatchedText 及返回记录;unmatchedText 非空即视为校验失败,即使同时返回了编码条件也不可信任。不要假设两个受支持短语可自由组合:v5.1 解析器对每个模式最多处理一次,剩余词汇可能改变或削弱结果。
精确查询与自动化:需要精确比较、排除、多值、字段级文本运算符或确定性排序时,构造并复核编码查询后用 SN-Query-Table 执行,例如 query 为 priority=1^state!=7^assigned_toISEMPTY^ORDERBYDESCsys_created_on。编码查询路径也适用于自动化,因为其含义不依赖从自由文本中抽取模式。
限制与排查:非 incident 表必须显式传入正确 table,不要依赖默认值;对不熟悉的表,在验证自然语言结果前优先使用编码查询。若未返回编码条件,说明短语未匹配 v5.1 模式;若返回条件但附带剩余文本,不应视为等价查询;若返回条件含义错误,应停用该短语改用编码查询。字段选择尽量精简,以减少载荷与意外数据暴露。