flow-node-creator
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseFlow Node Creator
Flow Node 创建工具
콜센터/OB/CS 스크립트(자유 텍스트)를 vox.ai 시스템 프롬프트의 섹션에 삽입할 수 있는 flow node로 변환한다.
# 대화 흐름将呼叫中心/外呼(OB)/客服(CS)脚本(自由文本)转换为可插入vox.ai系统提示词中板块的flow node。
# 对话流程왜 이 형식이 필요한가
为何需要此格式
vox.ai 음성 에이전트는 하나의 시스템 프롬프트 안에 대화 흐름을 정의한다. 원본 스크립트를 그대로 넣으면 LLM이 단계 경계, 전환 시점, 재시도 제한 등을 자의적으로 해석해서 예측할 수 없는 발화가 나온다. 이 스킬은 원본 스크립트를 "한 단계 = 한 목적 + 명확한 exit 조건"으로 쪼개서 LLM이 각 단계에서 할 일과 빠져나갈 조건을 정확히 파악하게 만든다.
핵심 원리:
- 단계 안에서 할 일(프롬프트 본문)과 빠져나갈 조건(전환조건)을 분리한다.
- 전환조건에 "다음 단계"를 지정하지 않는다. exit 조건만 정의하고, 흐름 연결은 노드 순서와 LLM의 문맥 판단에 맡긴다.
vox.ai语音Agent在单个系统提示词中定义对话流程。若直接插入原始脚本,LLM会自行解读步骤边界、转换时机、重试限制等,导致生成不可预测的话术。本技能将原始脚本拆解为「一个步骤=一个目标+明确退出条件」的形式,让LLM能准确把握每个步骤的任务及退出条件。
核心原理:
- 分离步骤内任务(提示词正文)与退出条件(转换条件)。
- 转换条件中不指定「下一步骤」,仅定义退出条件,流程衔接交由节点顺序与LLM的上下文判断。
입력
输入
사용자가 다음 중 하나 이상을 제공한다:
- 원본 스크립트: 통화/OB/CS 스크립트의 특정 구간(자유 텍스트). 전체 스크립트가 아닌 부분 단위로 들어온다.
- 필수 수집 항목: 이름, 전화번호, 주소 등 반드시 수집해야 할 데이터 목록 (있으면)
- 재권유/재시도 제한: 권유 최대 횟수, 재확인 제한 등 (있으면)
- 운영 제약: 통화 중, 한 턴 한 질문 등 (있으면)
- 변수: 원본 스크립트에 런타임 변수가 있으면 노드 멘트 안에 그대로 유지한다
{{...}}
사용자가 스크립트만 던지고 나머지를 생략하면, 스크립트에서 추론 가능한 것은 추론하고, 추론 불가능한 핵심 사항(수집 항목, 재시도 제한 등)만 짧게 질문한다. 질문은 최대 2개로 제한한다.
用户需提供以下至少一项内容:
- 原始脚本:通话/外呼/客服脚本的特定片段(自由文本),通常为片段而非完整脚本。
- 必填收集项:姓名、电话号码、地址等必须收集的数据列表(如有)
- 挽留/重试限制:最大挽留次数、重确认限制等(如有)
- 运营约束:通话中、单轮单问题等(如有)
- 变量:若原始脚本包含运行时变量,需在节点话术中完整保留
{{...}}
若用户仅提供脚本未提供其他信息,将从脚本中推导可确定的内容,仅对无法推导的核心事项(收集项、重试限制等)发起简短询问,且询问不超过2个问题。
출력
输出
마크다운 코드 스니펫()으로 대화에 직접 출력한다. 파일은 만들지 않는다.
```md ... ```直接在对话中输出Markdown代码片段(),不生成文件。
```md ... ```작업 절차
操作流程
1단계: 스크립트 분석
步骤1:脚本分析
원본 스크립트를 읽고 다음을 파악한다:
- 대화의 전체 목적 (세일즈/CS/예약/안내 등)
- 대화 흐름의 주요 분기점
- 각 구간에서 달성하려는 목적 (인사, 본인확인, 정보수집, 안내, 마무리 등)
- 런타임 변수
{{...}} - 재권유/재시도 제한이 있는 구간
- 예외 처리가 필요한 구간
阅读原始脚本并明确以下信息:
- 对话的整体目标(销售/客服/预约/咨询等)
- 对话流程的主要分支点
- 各片段的目标(问候、身份验证、信息收集、咨询、收尾等)
- 运行时变量
{{...}} - 存在挽留/重试限制的片段
- 需要异常处理的片段
2단계: 노드 쪼개기
步骤2:节点拆分
스크립트를 노드 단위로 쪼갠다.
한 노드 = 고객에게 1가지 목적을 달성하는 최소 단위
쪼갤 때 판단 기준:
- "정보 수집 + 확인"이 한 덩어리면 하나의 노드 (요약 안내 + 확인 질문 포함)
- "선택지 제시 + 선택 결과에 따른 짧은 안내"가 밀접하면 하나의 노드
- 선택 결과에 따른 후속 흐름이 길면 별도 노드로 분리
- 응답 처리 항목이 7개 이상이면 노드가 너무 큰 것이므로 분리 검토
- 목적이 2개 이상이면 반드시 분리
将脚本拆分为单个节点。
一个节点=帮助客户完成一个目标的最小单元
拆分判断标准:
- 若「信息收集+确认」为一个整体,则归为一个节点(含简要说明+确认问题)
- 若「选项提示+基于选择的简短说明」关联紧密,则归为一个节点
- 若选择后的后续流程较长,则拆分为独立节点
- 若响应处理项超过7个,说明节点过大,需考虑拆分
- 若包含2个及以上目标,必须拆分
3단계: 노드 작성
步骤3:节点编写
각 노드를 아래 고정 포맷으로 작성한다.
每个节点需按照以下固定格式编写。
노드 출력 포맷
节点输出格式
이 포맷은 고정이다. 섹션 이름과 최상위 구분은 아래 3개로만 출력한다:
namecontenttransition conditions
가독성 규칙(강제):
- 는 heading(###)과 ordered list(1. 2. 3.)를 적극 사용한다.
content - depth는 최대 2까지만 허용한다(중첩 1단까지만). 3단 이상 중첩 금지.
- 는 depth 없이 1줄(또는 2문장)로만 쓴다. 중첩 리스트 금지.
transition conditions
undefined此格式为固定格式,仅输出以下3个顶级板块:
namecontenttransition conditions
可读性规则(强制):
- 需积极使用三级标题(###)与有序列表(1. 2. 3.)
content - 层级最多允许2级(仅可嵌套1层),禁止3级及以上嵌套
- 需无层级,仅用1行(或2句话)编写,禁止嵌套列表
transition conditions
undefinedname
name
[노드 이름]
[节点名称]
content
content
목적
目标
- [단 하나의 목적]
- [唯一目标]
진행 멘트
执行话术
- 기본 질문: "[예시 멘트]"
- 응답 처리
- [상황 A] 시: "[예시 멘트]"
- [상황 B] 시: "[예시 멘트]"
- 애매 시 확정 질문 1회: "[예시 멘트]"
- 무응답 시 반복 1회: "[직전 질문 또는 직전 멘트 그대로]"
- 예외/처리(필요 시만)
- [예외 상황]: "[예시 멘트]"
- 유의(필요 시만)
- [재권유 제한/수집 순서 등]
- 基础问题: "[示例话术]"
- 响应处理
- [场景A]时: "[示例话术]"
- [场景B]时: "[示例话术]"
- 模糊响应时确认1次: "[示例话术]"
- 无响应时重复1次: "[直接复用前序问题或话术]"
- 异常处理(按需添加)
- 注意事项(按需添加)
- [挽留限制/收集顺序等]
transition conditions
transition conditions
- [exit 상태 1]: 고객이 "[예시 발화]"처럼 [동의/의향]을 긍정으로 표현한 경우.
- [exit 상태 2]: 고객이 "[예시 발화]"라고 말했고, 조건A && 조건B를 만족한 경우.
- [exit 상태 3]: 고객이 "[예시 발화]"처럼 [거절/보류/오대상]을 확정한 경우.
---- [退出状态2]: 客户表述"[示例话术]"且满足条件A && 条件B的情况。
---작성 규칙
编写规则
턴 운영 규칙
轮次运营规则
음성 대화에서 에이전트가 한 번에 너무 많이 말하면 고객이 끊거나, 중간에 끼어들어서 대화가 꼬인다.
- 한 턴에 한 질문 또는 한 확인만 한다.
- 기본 1~2문장. 예외적으로 3문장까지 허용하는 경우:
- 신원확인 + AI 여부 + 통화 가능 여부를 한 번에 처리할 때
- 동의 확정 시
- 필수 정보 2개를 동시에 수집할 때 (서로 밀접한 경우만)
- 애매한 응답이 오면 같은 단계 안에서 확정 질문 1회만 한다.
- 무응답이면 직전 질문(또는 직전 요청 멘트)을 그대로 1회 반복한다.
在语音对话中,若Agent单次话术过长,客户可能打断对话或导致流程混乱。
- 单轮仅提出一个问题或进行一次确认。
- 基础话术为1~2句话,例外情况最多允许3句话:
- 需同时处理身份验证+AI告知+通话可行性时
- 确认同意时
- 需同时收集2个紧密关联的必填信息时
- 收到模糊响应时,仅在当前步骤内确认1次
- 无响应时,直接重复前序问题(或前序请求话术)1次
전환조건 작성 규칙
转换条件编写规则
전환조건은 LLM이 "이 노드에서 빠져나가도 되는지"를 판단하는 유일한 기준이다. 잘못 쓰면 너무 빨리 넘어가거나 빠져나오지 못한다.
원칙:
- 고객 발화 기반으로만 작성한다. 에이전트의 내부 상태나 추측이 아니라, 고객이 실제로 말한 것을 기준으로 판단한다.
- 각 노드의 exit 가능한 결과 상태를 2~5개로 정리한다. 대표적인 exit 상태: 성공 확정 / 대체 정보 확정 / 거절 확정 / 콜백·보류 확정 / 오대상 확정.
- 다음 단계 이름을 절대 쓰지 않는다. "다음은 결제 안내로 넘어간다" 같은 표현 금지. 오직 "이 노드를 exit하는 경우의 수"만 나열한다.
- 예/아니오(동의/확인)처럼 긍정 수락만 받으면 진행되는 노드는 전환조건을 유하게 쓴다. 고객이 "네", "좋아요", "알겠습니다" 같은 짧은 긍정 응답만 해도 exit 가능하도록 포함한다. 단, 선택/정보수집처럼 구체 값이 필요한 노드는 "네"만으로는 exit하지 않게 쓴다.
- 재권유/재시도 제한이 있으면 전환조건에 "아직 사용하지 않은 경우 / 이미 사용한 경우"를 포함한다(단, 중첩 없이 1~2문장으로 풀어쓴다).
- 형식 강제: 는 depth 없이
transition conditions불릿만 사용한다(하위 불릿/번호/중첩 금지).- - 문장 길이: 각 조건은 1문장 또는 2문장으로 끝낸다.
- 논리 결합: "조건A && 조건B 인 경우"처럼 한 줄에서 조건을 풀어쓰는 것은 허용한다(단, depth를 늘리지 않는다).
문장 형식은 아래 4가지 패턴으로 통일한다:
- "고객이 '네', '좋아요', '알겠습니다'처럼 긍정으로 수락하거나, ...라고 명확히 말한 경우"
- "고객이 ...라고 말한 뒤 ...를 제공했고, ...라고 확정한 경우"
- "고객이 ...라고 확정 거절한 경우"
- "고객이 ...라고 보류/콜백을 요청한 경우"
转换条件是LLM判断「是否可退出当前节点」的唯一标准,编写错误会导致流程过早跳转或无法退出。
原则:
- 仅基于客户话术编写,不基于Agent的内部状态或推测,仅以客户实际表述为判断依据。
- 每个节点的可退出结果状态整理为2~5个,典型退出状态:成功确认/替代信息确认/拒绝确认/回电·暂缓确认/非目标客户确认。
- 绝对禁止提及下一个节点名称,禁止类似「跳转至结算说明步骤」的表述,仅罗列「可退出当前节点的情况」。
- 对于仅需「同意确认」即可推进的节点(如同意/确认类),转换条件需宽松,需包含客户回复「好的」「没问题」「知道了」等简短肯定响应的情况。但对于需具体数值的选择/信息收集节点,仅回复「好的」无法触发退出。
- 若存在挽留/重试限制,转换条件需包含「未使用限制次数/已使用限制次数」的情况(需展开为1~2句话,禁止嵌套)。
- 格式强制:仅使用无层级的
transition conditions列表(禁止子列表/编号/嵌套)。- - 语句长度:每个条件需控制在1~2句话。
- 逻辑组合:允许在单行中使用「条件A && 条件B时」的表述(但禁止增加层级)。
语句格式统一为以下4种:
- "客户如'好的'、'没问题'、'知道了'般肯定答复,或明确表述...的情况"
- "客户表述...并提供...且确认...的情况"
- "客户明确拒绝...的情况"
- "客户明确要求回电/暂缓的情况"
멘트 작성 규칙
话术编写规则
- 예시 멘트는 반드시 큰따옴표("")로 감싼다.
- 표/마크다운 테이블/괄호 연출 금지. 일반 텍스트만 사용한다.
- 이모지/이모티콘/특수 장식 문자 사용 금지.
- 런타임 변수가 원본 스크립트에 있으면 멘트 안에 그대로 유지한다.
{{...}} - 음성으로 자연스럽게 들리는 한국어 존댓말(높임 공손: ~실까요, ~드릴까요)로 작성한다.
- TTS가 읽을 수 없는 특수문자(*, #, → 등)를 멘트 안에 넣지 않는다.
- 示例话术必须用双引号("")包裹。
- 禁止使用表格/Markdown表格/括号修饰,仅使用普通文本。
- 禁止使用表情符号/特殊装饰字符。
- 原始脚本中的运行时变量需完整保留在话术中。
{{...}} - 使用适合语音播放的中文敬语(礼貌表达:~可以吗、~为您提供)。
- 话术中禁止加入TTS无法朗读的特殊字符(*, #, →等)。
자가 점검
自我检查
노드 작성이 끝나면 아래를 확인한다:
- 각 노드의 목적이 정확히 1개인가
- 전환조건에 "다음 단계 이름"이 들어가지 않았는가
- /
## name/## content3개로만 출력했는가## transition conditions - 의 리스트 depth가 2를 초과하지 않는가
content - 가 중첩 없이 1~2문장으로만 작성됐는가
transition conditions - 예시 멘트가 모두 큰따옴표로 감싸져 있는가
- 한 턴의 발화가 3문장을 초과하지 않는가
- 원본 스크립트의 변수가 빠지지 않았는가
{{...}}
节点编写完成后需确认以下内容:
- 每个节点的目标是否唯一
- 转换条件中是否未提及下一个节点名称
- 是否仅输出/
## name/## content三个板块## transition conditions - 的列表层级是否未超过2级
content - 是否为无层级的1~2句话
transition conditions - 所有示例话术是否均用双引号包裹
- 单轮话术是否未超过3句话
- 原始脚本中的变量是否未遗漏
{{...}}
적용 예시
应用示例
아래는 "결제방법 안내" 구간의 스크립트를 노드로 변환한 결과다.
md
undefined以下为「支付方式引导」片段脚本转换为节点的结果。
md
undefinedname
name
결제방법 안내
支付方式引导
content
content
목적
目标
- 고객이 결제 방식(전액 또는 예약금)을 선택하도록 돕는다.
- 协助客户选择支付方式(全额或定金)。
진행 멘트
执行话术
- 기본 질문: "결제방법 안내 도와드리겠습니다. 전액 결제와 예약금 결제 중 어떤 방식으로 안내 도와드릴까요?"
- 응답 처리
- 전액결제 선택 시: "네, 전액 결제로 안내드릴게요. 퀵계좌이체, 간편결제, 신용 또는 체크카드, 해외간편결제 중 어떤 방식으로 진행 도와드릴까요?"
- 예약금결제 선택 시: "네, 예약금 결제로 안내드릴게요. 나중결제와 ARS결제 중 어떤 방식으로 안내 도와드릴까요?"
- 선택을 못 하는 경우 1차 전액결제 권유: "방송 중 안내된 결제 혜택은 전액 결제에서만 제공되고 있습니다. 전액 결제로 안내 도와드릴까요?"
- 전액이 부담스럽다고 하면 2차 예약금 권유: "네, 부담되실 수 있어요. 그럼 예약금 결제 안내로 도와드릴까요?"
- 예약금에서 나중결제 선택 시 안내: "네, 나중결제는 결제 링크를 삼십 분 이내로 문자로 보내드리겠습니다. 링크 받으시면 안내드린 시간 안에 결제 진행 부탁드릴게요."
- 예약금에서 ARS결제 선택 시 질문: "네, ARS 결제 진행을 위해 통신사부터 확인드릴게요. 사용하시는 통신사가 어디신가요?"
- 애매 시 확정 질문 1회: "정확히 확인드리려고요, 전액 결제와 예약금 결제 중 어느 쪽으로 안내 도와드릴까요?"
- 무응답 시 반복 1회: "[직전 질문 또는 직전 멘트 그대로]"
- 예외/처리
- 고객이 "회원가입 해야 하나요"처럼 회원가입을 먼저 물으면: "네, 전액 결제는 회원가입 후 진행이 필요하고요, 예약금 결제도 예약금 결제 후 회원가입이 필요합니다. 원하시는 결제 방식부터 선택해주실까요?"
- 유의
- 전액결제 권유는 1회, 예약금 전환 권유는 1회까지만 한다.
- 이 단계에서는 '선택'만 확정하고, 링크 발송/잔금 규정/마이페이지 안내는 다음 단계에서 짧게 한다.
- 基础问题: "为您提供支付方式引导服务。请问需要为您介绍全额支付还是定金支付呢?"
- 响应处理
- 选择全额支付时: "好的,为您介绍全额支付。支持快捷转账、便捷支付、信用卡或借记卡、海外便捷支付,请问需要了解哪种方式?"
- 选择定金支付时: "好的,为您介绍定金支付。支持延后支付与ARS支付,请问需要了解哪种方式?"
- 无法选择时首次挽留(全额支付): "直播中介绍的支付优惠仅适用于全额支付,是否需要为您介绍全额支付?"
- 表示全额支付有压力时二次挽留(定金支付): "好的,确实可能有压力。那为您介绍定金支付可以吗?"
- 选择定金支付下的延后支付时说明: "好的,延后支付将在30分钟内为您发送支付链接,请您在指定时间内完成支付。"
- 选择定金支付下的ARS支付时询问: "好的,为您办理ARS支付需先确认运营商,请问您使用的是哪家运营商?"
- 模糊响应时确认1次: "为了准确为您服务,请问您需要了解全额支付还是定金支付?"
- 无响应时重复1次: "[直接复用前序问题或话术]"
- 异常处理
- 客户询问是否需要先注册: "好的,全额支付需注册后办理,定金支付也需完成定金支付后注册。请问您先选择哪种支付方式?"
- 注意事项
- 全额支付挽留仅1次,定金支付转换挽留仅1次。
- 本步骤仅确认「选择」,链接发送/尾款规则/我的页面说明将在下一步骤简要说明。
transition conditions
transition conditions
- 전액결제 선택 확정: 고객이 "전액으로 할게요" 또는 "전액 결제요"처럼 전액결제를 명확히 선택한 경우.
- 예약금결제 선택 확정: 고객이 "예약금으로 할게요" 또는 "예약금 결제요"처럼 예약금결제를 명확히 선택한 경우.
- 예약금 결제 수단 선택 확정: 고객이 "나중결제로 할게요" 또는 "ARS로 할게요"처럼 예약금 결제 수단을 명확히 선택한 경우.
- 권유 2회 이후 미선택 종료: 고객이 "결정 못하겠어요" 또는 "나중에 할게요"처럼 선택을 확정하지 않고 보류 의사를 명확히 표현한 경우.
- 강한 거절 종료: 고객이 "안 할게요" 또는 "필요 없어요"처럼 결제 진행 자체를 확정 거절한 경우.
undefined- 全额支付选择确认: 客户明确表述「我选全额支付」或「全额支付」的情况。
- 定金支付选择确认: 客户明确表述「我选定金支付」或「定金支付」的情况。
- 定金支付方式选择确认: 客户明确表述「我选延后支付」或「我选ARS支付」的情况。
- 2次挽留后未选择结束: 客户明确表述「我还没决定」或「以后再说」的情况。
- 明确拒绝结束: 客户明确表述「我不办了」或「不需要」的情况。
undefinedvox.ai 연동 참고
vox.ai 联动参考
이 스킬의 출력은 vox.ai 시스템 프롬프트의 섹션 안에 들어가는 노드다. 전체 시스템 프롬프트의 다른 섹션(역할, 컨텍스트, 변수, 목표, 말투, 필러, 턴테이킹, 정규화, 도구, 가드레일, 에러 처리)은 이 스킬의 범위 밖이다. 필요하면 vox-best-practice 스킬을 별도로 사용한다.
# 대화 흐름本技能的输出是插入vox.ai系统提示词板块的节点。系统提示词的其他板块(角色、上下文、变量、目标、语气、填充词、轮次切换、标准化、工具、防护规则、错误处理)不属于本技能的范围,如有需要请单独使用vox-best-practice技能。",
# 对话流程