refactor: update AIAgent handoff and fallback modes terminology for clarity

This commit is contained in:
mlogclub
2026-06-26 18:27:54 +08:00
parent b46e0d9b7c
commit 015b57bfe7
7 changed files with 56 additions and 35 deletions
@@ -0,0 +1,21 @@
import assert from "node:assert/strict"
import test from "node:test"
import { readFile } from "node:fs/promises"
const configWorkbenchSource = await readFile(new URL("./config-workbench.tsx", import.meta.url), "utf8")
const zhMessagesSource = await readFile(new URL("../../../../messages/zh-CN.json", import.meta.url), "utf8")
test("AI Agent workflow-era policy copy separates handoff execution from knowledge fallback", () => {
const combinedSource = `${configWorkbenchSource}\n${zhMessagesSource}`
assert.match(combinedSource, /转人工执行方式/)
assert.match(combinedSource, /知识不足回复策略/)
assert.match(combinedSource, /知识不足回复文案/)
assert.match(combinedSource, /AI继续接待并提醒人工/)
assert.match(combinedSource, /直接说明知识不足/)
assert.match(combinedSource, /引导用户补充信息/)
assert.doesNotMatch(configWorkbenchSource, /转人工模式/)
assert.doesNotMatch(configWorkbenchSource, /兜底策略/)
assert.doesNotMatch(configWorkbenchSource, /兜底文案/)
})
@@ -278,14 +278,14 @@ export function AIAgentConfigWorkbench({
() => [
{ value: String(AIAgentHandoffMode.WaitPool), label: "进入待接入池" },
{ value: String(AIAgentHandoffMode.DefaultTeamPool), label: "进入默认客服组待接入池" },
{ value: String(AIAgentHandoffMode.AIHoldAndNotify), label: "AI托底并提醒人工" },
{ value: String(AIAgentHandoffMode.AIHoldAndNotify), label: "AI继续接待并提醒人工" },
],
[]
)
const fallbackModeOptions = useMemo(
() => [
{ value: String(AIAgentFallbackMode.NoAnswer), label: "直接声明无答案" },
{ value: String(AIAgentFallbackMode.SuggestRetry), label: "建议补充信息" },
{ value: String(AIAgentFallbackMode.NoAnswer), label: "直接说明知识不足" },
{ value: String(AIAgentFallbackMode.SuggestRetry), label: "引导用户补充信息" },
],
[]
)
@@ -652,11 +652,11 @@ export function AIAgentConfigWorkbench({
{activeSection === "basic" ? (
<ConfigSection>
<div className="grid grid-cols-1 gap-4 lg:grid-cols-2">
<FieldBlock label="转人工式">
<OptionCombobox value={handoffMode} options={handoffModeOptions} placeholder="选择转人工式" onChange={setHandoffMode} />
<FieldBlock label="转人工执行方式">
<OptionCombobox value={handoffMode} options={handoffModeOptions} placeholder="选择转人工执行方式" onChange={setHandoffMode} />
</FieldBlock>
<FieldBlock label="兜底策略">
<OptionCombobox value={fallbackMode} options={fallbackModeOptions} placeholder="选择兜底策略" onChange={setFallbackMode} />
<FieldBlock label="知识不足回复策略">
<OptionCombobox value={fallbackMode} options={fallbackModeOptions} placeholder="选择知识不足回复策略" onChange={setFallbackMode} />
</FieldBlock>
</div>
<AddRow
@@ -674,7 +674,7 @@ export function AIAgentConfigWorkbench({
items={selectedTeamOptions}
onRemove={(id) => setSelectedTeamIds((current) => current.filter((item) => item !== id))}
/>
<FieldBlock label="兜底文案">
<FieldBlock label="知识不足回复文案">
<Textarea rows={5} value={fallbackMessage} onChange={(event) => setFallbackMessage(event.target.value)} />
</FieldBlock>
<FieldBlock label="描述">