fix(chat-intent): 隐式攻略/页面生成请求直接路由到 static-page-publish
短句如"苏州攻略页面"此前会被规则/LLM 误判为 product-campaign-page(先追问 促销信息),导致用户体验成"卡住不动"。规则层扩大页面生成意图识别,并新增 coercePageGenerationSkill 在 LLM 判为 product-campaign-page 但明显是内容页 时强制纠正为 static-page-publish,避免不必要的追问。同步更新两个技能文档 的适用边界说明。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -7,6 +7,7 @@ import {
|
||||
buildRouterNormalizedDecision,
|
||||
CHAT_INTENT_ROUTE,
|
||||
classifyWithRules,
|
||||
coercePageGenerationSkill,
|
||||
createChatIntentRouter,
|
||||
createManagedChatIntentRouter,
|
||||
isNormalizedRouterDecisionEnabled,
|
||||
@@ -49,6 +50,37 @@ test('classifyWithRules routes page generation to agent orchestration', () => {
|
||||
assert.equal(result.suggestedSkill, 'static-page-publish');
|
||||
});
|
||||
|
||||
test('classifyWithRules routes implicit travel guide page requests to static-page-publish', () => {
|
||||
const result = classifyWithRules({
|
||||
text: '苏州攻略页面',
|
||||
userMessage: {
|
||||
role: 'user',
|
||||
content: [{ type: 'text', text: '苏州攻略页面' }],
|
||||
metadata: { displayText: '苏州攻略页面' },
|
||||
},
|
||||
});
|
||||
assert.equal(result.route, CHAT_INTENT_ROUTE.AGENT);
|
||||
assert.equal(result.suggestedSkill, 'static-page-publish');
|
||||
assert.match(result.agentBrief, /不要停在追问/);
|
||||
});
|
||||
|
||||
test('coercePageGenerationSkill replaces product-campaign-page for content pages', () => {
|
||||
const coerced = coercePageGenerationSkill(
|
||||
{
|
||||
route: CHAT_INTENT_ROUTE.AGENT,
|
||||
suggestedSkill: 'product-campaign-page',
|
||||
reason: '模型路由判定',
|
||||
agentBrief: '',
|
||||
confidence: 0.9,
|
||||
source: 'llm',
|
||||
},
|
||||
'苏州攻略页面',
|
||||
{ grantedSkills: ['static-page-publish', 'product-campaign-page'] },
|
||||
);
|
||||
assert.equal(coerced.suggestedSkill, 'static-page-publish');
|
||||
assert.match(coerced.reason, /static-page-publish/);
|
||||
});
|
||||
|
||||
test('classifyWithRules routes themed article requests to agent orchestration', () => {
|
||||
const result = classifyWithRules({
|
||||
text: '帮我写个主题文章',
|
||||
|
||||
Reference in New Issue
Block a user