flow-node-creator

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Flow Node Creator

Flow Node 创建工具

콜센터/OB/CS 스크립트(자유 텍스트)를 vox.ai 시스템 프롬프트의
# 대화 흐름
섹션에 삽입할 수 있는 flow node로 변환한다.
将呼叫中心/外呼(OB)/客服(CS)脚本(自由文本)转换为可插入vox.ai系统提示词中
# 对话流程
板块的flow node

왜 이 형식이 필요한가

为何需要此格式

vox.ai 음성 에이전트는 하나의 시스템 프롬프트 안에 대화 흐름을 정의한다. 원본 스크립트를 그대로 넣으면 LLM이 단계 경계, 전환 시점, 재시도 제한 등을 자의적으로 해석해서 예측할 수 없는 발화가 나온다. 이 스킬은 원본 스크립트를 "한 단계 = 한 목적 + 명확한 exit 조건"으로 쪼개서 LLM이 각 단계에서 할 일과 빠져나갈 조건을 정확히 파악하게 만든다.
핵심 원리:
  1. 단계 안에서 할 일(프롬프트 본문)과 빠져나갈 조건(전환조건)을 분리한다.
  2. 전환조건에 "다음 단계"를 지정하지 않는다. exit 조건만 정의하고, 흐름 연결은 노드 순서와 LLM의 문맥 판단에 맡긴다.
vox.ai语音Agent在单个系统提示词中定义对话流程。若直接插入原始脚本,LLM会自行解读步骤边界、转换时机、重试限制等,导致生成不可预测的话术。本技能将原始脚本拆解为「一个步骤=一个目标+明确退出条件」的形式,让LLM能准确把握每个步骤的任务及退出条件。
核心原理:
  1. 分离步骤内任务(提示词正文)与退出条件(转换条件)。
  2. 转换条件中不指定「下一步骤」,仅定义退出条件,流程衔接交由节点顺序与LLM的上下文判断。

입력

输入

사용자가 다음 중 하나 이상을 제공한다:
  • 원본 스크립트: 통화/OB/CS 스크립트의 특정 구간(자유 텍스트). 전체 스크립트가 아닌 부분 단위로 들어온다.
  • 필수 수집 항목: 이름, 전화번호, 주소 등 반드시 수집해야 할 데이터 목록 (있으면)
  • 재권유/재시도 제한: 권유 최대 횟수, 재확인 제한 등 (있으면)
  • 운영 제약: 통화 중, 한 턴 한 질문 등 (있으면)
  • {{...}}
    변수
    : 원본 스크립트에 런타임 변수가 있으면 노드 멘트 안에 그대로 유지한다
사용자가 스크립트만 던지고 나머지를 생략하면, 스크립트에서 추론 가능한 것은 추론하고, 추론 불가능한 핵심 사항(수집 항목, 재시도 제한 등)만 짧게 질문한다. 질문은 최대 2개로 제한한다.
用户需提供以下至少一项内容:
  • 原始脚本:通话/外呼/客服脚本的特定片段(自由文本),通常为片段而非完整脚本。
  • 必填收集项:姓名、电话号码、地址等必须收集的数据列表(如有)
  • 挽留/重试限制:最大挽留次数、重确认限制等(如有)
  • 运营约束:通话中、单轮单问题等(如有)
  • {{...}}
    变量
    :若原始脚本包含运行时变量,需在节点话术中完整保留
若用户仅提供脚本未提供其他信息,将从脚本中推导可确定的内容,仅对无法推导的核心事项(收集项、重试限制等)发起简短询问,且询问不超过2个问题。

출력

输出

마크다운 코드 스니펫(
```md ... ```
)으로 대화에 직접 출력한다. 파일은 만들지 않는다.
直接在对话中输出Markdown代码片段(
```md ... ```
),不生成文件。

작업 절차

操作流程

1단계: 스크립트 분석

步骤1:脚本分析

원본 스크립트를 읽고 다음을 파악한다:
  • 대화의 전체 목적 (세일즈/CS/예약/안내 등)
  • 대화 흐름의 주요 분기점
  • 각 구간에서 달성하려는 목적 (인사, 본인확인, 정보수집, 안내, 마무리 등)
  • {{...}}
    런타임 변수
  • 재권유/재시도 제한이 있는 구간
  • 예외 처리가 필요한 구간
阅读原始脚本并明确以下信息:
  • 对话的整体目标(销售/客服/预约/咨询等)
  • 对话流程的主要分支点
  • 各片段的目标(问候、身份验证、信息收集、咨询、收尾等)
  • {{...}}
    运行时变量
  • 存在挽留/重试限制的片段
  • 需要异常处理的片段

2단계: 노드 쪼개기

步骤2:节点拆分

스크립트를 노드 단위로 쪼갠다.
한 노드 = 고객에게 1가지 목적을 달성하는 최소 단위
쪼갤 때 판단 기준:
  • "정보 수집 + 확인"이 한 덩어리면 하나의 노드 (요약 안내 + 확인 질문 포함)
  • "선택지 제시 + 선택 결과에 따른 짧은 안내"가 밀접하면 하나의 노드
  • 선택 결과에 따른 후속 흐름이 길면 별도 노드로 분리
  • 응답 처리 항목이 7개 이상이면 노드가 너무 큰 것이므로 분리 검토
  • 목적이 2개 이상이면 반드시 분리
将脚本拆分为单个节点。
一个节点=帮助客户完成一个目标的最小单元
拆分判断标准:
  • 若「信息收集+确认」为一个整体,则归为一个节点(含简要说明+确认问题)
  • 若「选项提示+基于选择的简短说明」关联紧密,则归为一个节点
  • 若选择后的后续流程较长,则拆分为独立节点
  • 若响应处理项超过7个,说明节点过大,需考虑拆分
  • 若包含2个及以上目标,必须拆分

3단계: 노드 작성

步骤3:节点编写

각 노드를 아래 고정 포맷으로 작성한다.

每个节点需按照以下固定格式编写。

노드 출력 포맷

节点输出格式

이 포맷은 고정이다. 섹션 이름과 최상위 구분은 아래 3개로만 출력한다:
  • name
  • content
  • transition conditions
가독성 규칙(강제):
  • content
    는 heading(###)과 ordered list(1. 2. 3.)를 적극 사용한다.
  • depth는 최대 2까지만 허용한다(중첩 1단까지만). 3단 이상 중첩 금지.
  • transition conditions
    는 depth 없이 1줄(또는 2문장)로만 쓴다. 중첩 리스트 금지.
undefined
此格式为固定格式,仅输出以下3个顶级板块:
  • name
  • content
  • transition conditions
可读性规则(强制):
  • content
    需积极使用三级标题(###)与有序列表(1. 2. 3.)
  • 层级最多允许2级(仅可嵌套1层),禁止3级及以上嵌套
  • transition conditions
    需无层级,仅用1行(或2句话)编写,禁止嵌套列表
undefined

name

name

[노드 이름]
[节点名称]

content

content

목적

目标

  1. [단 하나의 목적]
  1. [唯一目标]

진행 멘트

执行话术

  1. 기본 질문: "[예시 멘트]"
  2. 응답 처리
    1. [상황 A] 시: "[예시 멘트]"
    2. [상황 B] 시: "[예시 멘트]"
    3. 애매 시 확정 질문 1회: "[예시 멘트]"
    4. 무응답 시 반복 1회: "[직전 질문 또는 직전 멘트 그대로]"
  3. 예외/처리(필요 시만)
    1. [예외 상황]: "[예시 멘트]"
  4. 유의(필요 시만)
    1. [재권유 제한/수집 순서 등]
  1. 基础问题: "[示例话术]"
  2. 响应处理
    1. [场景A]时: "[示例话术]"
    2. [场景B]时: "[示例话术]"
    3. 模糊响应时确认1次: "[示例话术]"
    4. 无响应时重复1次: "[直接复用前序问题或话术]"
  3. 异常处理(按需添加)
  4. 注意事项(按需添加)
    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문장으로 풀어쓴다).
  • 형식 강제:
    transition conditions
    는 depth 없이
    - 
    불릿만 사용한다(하위 불릿/번호/중첩 금지).
  • 문장 길이: 각 조건은 1문장 또는 2문장으로 끝낸다.
  • 논리 결합: "조건A && 조건B 인 경우"처럼 한 줄에서 조건을 풀어쓰는 것은 허용한다(단, depth를 늘리지 않는다).
문장 형식은 아래 4가지 패턴으로 통일한다:
  • "고객이 '네', '좋아요', '알겠습니다'처럼 긍정으로 수락하거나, ...라고 명확히 말한 경우"
  • "고객이 ...라고 말한 뒤 ...를 제공했고, ...라고 확정한 경우"
  • "고객이 ...라고 확정 거절한 경우"
  • "고객이 ...라고 보류/콜백을 요청한 경우"
转换条件是LLM判断「是否可退出当前节点」的唯一标准,编写错误会导致流程过早跳转或无法退出。
原则:
  • 仅基于客户话术编写,不基于Agent的内部状态或推测,仅以客户实际表述为判断依据。
  • 每个节点的可退出结果状态整理为2~5个,典型退出状态:成功确认/替代信息确认/拒绝确认/回电·暂缓确认/非目标客户确认。
  • 绝对禁止提及下一个节点名称,禁止类似「跳转至结算说明步骤」的表述,仅罗列「可退出当前节点的情况」。
  • 对于仅需「同意确认」即可推进的节点(如同意/确认类),转换条件需宽松,需包含客户回复「好的」「没问题」「知道了」等简短肯定响应的情况。但对于需具体数值的选择/信息收集节点,仅回复「好的」无法触发退出。
  • 若存在挽留/重试限制,转换条件需包含「未使用限制次数/已使用限制次数」的情况(需展开为1~2句话,禁止嵌套)。
  • 格式强制
    transition conditions
    仅使用无层级的
    - 
    列表(禁止子列表/编号/嵌套)。
  • 语句长度:每个条件需控制在1~2句话。
  • 逻辑组合:允许在单行中使用「条件A && 条件B时」的表述(但禁止增加层级)。
语句格式统一为以下4种:
  • "客户如'好的'、'没问题'、'知道了'般肯定答复,或明确表述...的情况"
  • "客户表述...并提供...且确认...的情况"
  • "客户明确拒绝...的情况"
  • "客户明确要求回电/暂缓的情况"

멘트 작성 규칙

话术编写规则

  • 예시 멘트는 반드시 큰따옴표("")로 감싼다.
  • 표/마크다운 테이블/괄호 연출 금지. 일반 텍스트만 사용한다.
  • 이모지/이모티콘/특수 장식 문자 사용 금지.
  • {{...}}
    런타임 변수가 원본 스크립트에 있으면 멘트 안에 그대로 유지한다.
  • 음성으로 자연스럽게 들리는 한국어 존댓말(높임 공손: ~실까요, ~드릴까요)로 작성한다.
  • TTS가 읽을 수 없는 특수문자(*, #, → 등)를 멘트 안에 넣지 않는다.
  • 示例话术必须用双引号("")包裹。
  • 禁止使用表格/Markdown表格/括号修饰,仅使用普通文本。
  • 禁止使用表情符号/特殊装饰字符。
  • 原始脚本中的
    {{...}}
    运行时变量需完整保留在话术中。
  • 使用适合语音播放的中文敬语(礼貌表达:~可以吗、~为您提供)。
  • 话术中禁止加入TTS无法朗读的特殊字符(*, #, →等)。

자가 점검

自我检查

노드 작성이 끝나면 아래를 확인한다:
  • 각 노드의 목적이 정확히 1개인가
  • 전환조건에 "다음 단계 이름"이 들어가지 않았는가
  • ## name
    /
    ## content
    /
    ## transition conditions
    3개로만 출력했는가
  • content
    의 리스트 depth가 2를 초과하지 않는가
  • transition conditions
    가 중첩 없이 1~2문장으로만 작성됐는가
  • 예시 멘트가 모두 큰따옴표로 감싸져 있는가
  • 한 턴의 발화가 3문장을 초과하지 않는가
  • 원본 스크립트의
    {{...}}
    변수가 빠지지 않았는가
节点编写完成后需确认以下内容:
  • 每个节点的目标是否唯一
  • 转换条件中是否未提及下一个节点名称
  • 是否仅输出
    ## name
    /
    ## content
    /
    ## transition conditions
    三个板块
  • content
    的列表层级是否未超过2级
  • transition conditions
    是否为无层级的1~2句话
  • 所有示例话术是否均用双引号包裹
  • 单轮话术是否未超过3句话
  • 原始脚本中的
    {{...}}
    变量是否未遗漏

적용 예시

应用示例

아래는 "결제방법 안내" 구간의 스크립트를 노드로 변환한 결과다.
md
undefined
以下为「支付方式引导」片段脚本转换为节点的结果。
md
undefined

name

name

결제방법 안내
支付方式引导

content

content

목적

目标

  1. 고객이 결제 방식(전액 또는 예약금)을 선택하도록 돕는다.
  1. 协助客户选择支付方式(全额或定金)。

진행 멘트

执行话术

  1. 기본 질문: "결제방법 안내 도와드리겠습니다. 전액 결제와 예약금 결제 중 어떤 방식으로 안내 도와드릴까요?"
  2. 응답 처리
    1. 전액결제 선택 시: "네, 전액 결제로 안내드릴게요. 퀵계좌이체, 간편결제, 신용 또는 체크카드, 해외간편결제 중 어떤 방식으로 진행 도와드릴까요?"
    2. 예약금결제 선택 시: "네, 예약금 결제로 안내드릴게요. 나중결제와 ARS결제 중 어떤 방식으로 안내 도와드릴까요?"
    3. 선택을 못 하는 경우 1차 전액결제 권유: "방송 중 안내된 결제 혜택은 전액 결제에서만 제공되고 있습니다. 전액 결제로 안내 도와드릴까요?"
    4. 전액이 부담스럽다고 하면 2차 예약금 권유: "네, 부담되실 수 있어요. 그럼 예약금 결제 안내로 도와드릴까요?"
    5. 예약금에서 나중결제 선택 시 안내: "네, 나중결제는 결제 링크를 삼십 분 이내로 문자로 보내드리겠습니다. 링크 받으시면 안내드린 시간 안에 결제 진행 부탁드릴게요."
    6. 예약금에서 ARS결제 선택 시 질문: "네, ARS 결제 진행을 위해 통신사부터 확인드릴게요. 사용하시는 통신사가 어디신가요?"
    7. 애매 시 확정 질문 1회: "정확히 확인드리려고요, 전액 결제와 예약금 결제 중 어느 쪽으로 안내 도와드릴까요?"
    8. 무응답 시 반복 1회: "[직전 질문 또는 직전 멘트 그대로]"
  3. 예외/처리
    1. 고객이 "회원가입 해야 하나요"처럼 회원가입을 먼저 물으면: "네, 전액 결제는 회원가입 후 진행이 필요하고요, 예약금 결제도 예약금 결제 후 회원가입이 필요합니다. 원하시는 결제 방식부터 선택해주실까요?"
  4. 유의
    1. 전액결제 권유는 1회, 예약금 전환 권유는 1회까지만 한다.
    2. 이 단계에서는 '선택'만 확정하고, 링크 발송/잔금 규정/마이페이지 안내는 다음 단계에서 짧게 한다.
  1. 基础问题: "为您提供支付方式引导服务。请问需要为您介绍全额支付还是定金支付呢?"
  2. 响应处理
    1. 选择全额支付时: "好的,为您介绍全额支付。支持快捷转账、便捷支付、信用卡或借记卡、海外便捷支付,请问需要了解哪种方式?"
    2. 选择定金支付时: "好的,为您介绍定金支付。支持延后支付与ARS支付,请问需要了解哪种方式?"
    3. 无法选择时首次挽留(全额支付): "直播中介绍的支付优惠仅适用于全额支付,是否需要为您介绍全额支付?"
    4. 表示全额支付有压力时二次挽留(定金支付): "好的,确实可能有压力。那为您介绍定金支付可以吗?"
    5. 选择定金支付下的延后支付时说明: "好的,延后支付将在30分钟内为您发送支付链接,请您在指定时间内完成支付。"
    6. 选择定金支付下的ARS支付时询问: "好的,为您办理ARS支付需先确认运营商,请问您使用的是哪家运营商?"
    7. 模糊响应时确认1次: "为了准确为您服务,请问您需要了解全额支付还是定金支付?"
    8. 无响应时重复1次: "[直接复用前序问题或话术]"
  3. 异常处理
    1. 客户询问是否需要先注册: "好的,全额支付需注册后办理,定金支付也需完成定金支付后注册。请问您先选择哪种支付方式?"
  4. 注意事项
    1. 全额支付挽留仅1次,定金支付转换挽留仅1次。
    2. 本步骤仅确认「选择」,链接发送/尾款规则/我的页面说明将在下一步骤简要说明。

transition conditions

transition conditions

  • 전액결제 선택 확정: 고객이 "전액으로 할게요" 또는 "전액 결제요"처럼 전액결제를 명확히 선택한 경우.
  • 예약금결제 선택 확정: 고객이 "예약금으로 할게요" 또는 "예약금 결제요"처럼 예약금결제를 명확히 선택한 경우.
  • 예약금 결제 수단 선택 확정: 고객이 "나중결제로 할게요" 또는 "ARS로 할게요"처럼 예약금 결제 수단을 명확히 선택한 경우.
  • 권유 2회 이후 미선택 종료: 고객이 "결정 못하겠어요" 또는 "나중에 할게요"처럼 선택을 확정하지 않고 보류 의사를 명확히 표현한 경우.
  • 강한 거절 종료: 고객이 "안 할게요" 또는 "필요 없어요"처럼 결제 진행 자체를 확정 거절한 경우.
undefined
  • 全额支付选择确认: 客户明确表述「我选全额支付」或「全额支付」的情况。
  • 定金支付选择确认: 客户明确表述「我选定金支付」或「定金支付」的情况。
  • 定金支付方式选择确认: 客户明确表述「我选延后支付」或「我选ARS支付」的情况。
  • 2次挽留后未选择结束: 客户明确表述「我还没决定」或「以后再说」的情况。
  • 明确拒绝结束: 客户明确表述「我不办了」或「不需要」的情况。
undefined

vox.ai 연동 참고

vox.ai 联动参考

이 스킬의 출력은 vox.ai 시스템 프롬프트의
# 대화 흐름
섹션 안에 들어가는 노드다. 전체 시스템 프롬프트의 다른 섹션(역할, 컨텍스트, 변수, 목표, 말투, 필러, 턴테이킹, 정규화, 도구, 가드레일, 에러 처리)은 이 스킬의 범위 밖이다. 필요하면 vox-best-practice 스킬을 별도로 사용한다.
本技能的输出是插入vox.ai系统提示词
# 对话流程
板块的节点。系统提示词的其他板块(角色、上下文、变量、目标、语气、填充词、轮次切换、标准化、工具、防护规则、错误处理)不属于本技能的范围,如有需要请单独使用vox-best-practice技能。",