테넌트 가이드

스토리라인 만들기

에이전트를 다단계의 상태 있는 프로세스로 바꾸는 방법 — 노드, 종료 조건, 차원, 서드파티 콜백, 버전 관리, 진행 중인 사용자 마이그레이션.

스토리라인은 무엇을 위한 것인가

평범한 에이전트는 한 가지를 잘합니다. 스토리라인은 하나의 에이전트가 각 사람과 함께 전체 다단계 프로세스를 실행하게 합니다 — 강좌를 가르치거나, 프로그램을 코칭하거나, 신청을 결정까지 이끌면서 — 그리고 모든 개인이 세션과 채널에 걸쳐 어디에 있는지 기억합니다. 개념이 낯설다면 스토리라인 개념 페이지로 시작하세요. 이 페이지는 실행 방법입니다.

스토리라인은 Pro 기능입니다. 테넌트에 켜지면, 콘솔에서 스토리라인 편집기를 찾을 수 있습니다. API (/v1/storylines)로도 스토리라인을 만들 수 있으며, 이것이 설정 마법사나 어시스턴트가 당신을 위해 하나를 생성할 수 있는 방법입니다.

스토리라인의 모양

스토리라인은 그래프입니다. 노드를 그리고 **종료(exit)**로 연결합니다.

노드는 하나의 단계입니다. 그 단계에 대해 다음을 설정합니다:

  • task — 에이전트가 여기서 무엇을 해야 하는지({dimension}이나 {blackboard.key}를 넣으면 그 사람의 현재 값으로 채워집니다);
  • 그것의 지식, 스킬, 도구 — 에이전트의 기본 세트 위에 더하거나, 고급 스위치로 이 단계에서만 대체;
  • 단계에 들어갈 때 에이전트가 말하는 선택적인 opening line(조용히 전환하려면 비워 두세요);
  • entry(진입) 단계인지, terminal(종료) 단계인지 여부.

에이전트의 정체성과 안전 경계는 노드 사이에서 결코 바뀌지 않습니다 — task, 지식, 도구만 바뀝니다.

단계가 진행되는 방법: 종료 조건

노드에서 나가는 모든 종료는 조건을 지닙니다. 다섯 종류가 있고, 올바른 것을 고르는 것이 중요합니다:

  • Rule — 차원이나 저장된 값에 대한 임계값으로, 필드, 연산자, 숫자를 골라 만듭니다(listening ≥ 70 and attempts ≥ 3). 결정적이고, 무료이며, 모델 호출이 없습니다. 신뢰할 수 있어야 하는 결정에 사용하세요.
  • User choice — 사람이 탭하는 버튼. "계속할 준비 됐나요?"나 명확한 선호에 따른 분기에 좋습니다.
  • AI — 모호한 기준을 서술하는 문장("학생이 유도 없이 과거 시제 문장을 만들 수 있을 때")으로, 모델이 판단합니다. 매 턴 판단되지 않도록 언제 확인할지도 작성합니다. 판단이 필요한 호출에 사용하되, 정확해야 하는 게이트에는 사용하지 마세요.
  • Callback — 외부 시스템의 신호를 기다립니다(아래 참조).
  • Go to storyline — 다른 스토리라인으로 점프합니다(결과별 분기 또는 등급 연쇄).

둘 이상의 종료가 발동할 수 있을 때, 위에서 아래로 평가됩니다 — 그러니 결정적인 것을 먼저 두세요.

차원: 사람과 함께 이동하는 프로필

스토리라인 설정 아래에서 당신의 대상을 위한 **차원(dimensions)**을 정의합니다 — 어학 강좌라면 listening, speaking, reading, writing, 각각 0–100. 이들은 스토리라인에 걸쳐 사람에게 누적되므로(등급에서 등급으로 이어짐), 각각을 사용자에게 보이도록 표시하거나 당신만 보도록 둘 수 있습니다. 차원은 세 가지 방식으로 쓰입니다: AI가 주기적으로 점수를 매기거나, rule이 설정하거나, 서드파티 콜백이 보고할 수 있습니다.

차원과 나란히, 각 등록은 blackboard — 한 노드에서 다음으로 전달되는 인계 메모의 자유 형식 스크래치패드 — 를 갖습니다. 사람이 새 스토리라인으로 이동하면 초기화됩니다.

서드파티 끌어들이기 (콜백)

노드는 사람을 외부 시스템으로 인계하고 그것이 보고하는 것에 따라 행동할 수 있습니다 — 채점된 퀴즈, KYC 확인, 임베드된 미니게임. 두 가지 모양이 있습니다:

  • Backend — 데이터가 도구로 나가고 결과가 보이지 않게 돌아옵니다.
  • Redirect-and-wait — 대화가 링크를 보여주고, 잠기고, 외부 단계가 끝나면 재개됩니다(결제 창이 동작하는 방식처럼). 사람이 취소하거나 시간이 초과되면, 그것은 당신이 분기할 수 있는 별개의 결과입니다.

콘솔은 각 콜백에 서드파티에 넘길 URL과 신호 이름을 줍니다. 결과는 그 사람과 단계에 묶인 단기 토큰으로 검증되고, 한 번만 적용되며(반복은 무시됨), 그들이 보고하는 어떤 차원이든 당신의 스키마와 대조됩니다 — 외부 시스템은 당신이 정의하지 않은 필드를 쓸 수 없습니다. 콜백이 쓰는 것은 무엇이든 지시가 아니라 데이터로 취급하세요.

게시, 버전, 그리고 라이브 스토리라인 바꾸기

스토리라인은 **게시(publish)**할 때까지 **초안(draft)**으로 남습니다. 게시는 먼저 그래프를 검증합니다 — 진입 누락 없음, 막다른 길 없음, 도달 불가 없음, 매달린 목표나 알 수 없는 목표 없음 — 그리고 무언가 잘못되면 차단합니다. 게시는 불변의 버전을 동결합니다. 이미 진행 중인 누구든 시작한 버전에 고정된 채로 남으므로, 변경이 중간에 있는 사람을 결코 방해하지 않습니다.

사람들이 현재 있는 노드를 삭제하거나 바꿀 때, 그들에게 무슨 일이 일어날지 선택합니다: 다른 노드로 이동(안전), 시작으로 되돌리기, 또는 진행 초기화. 뒤의 둘은 사용자의 진행을 잃으므로, 콘솔이 확인을 요청하고 몇 명이 영향을 받는지 보여줍니다.

라이브 전에 시험하기

편집기에는 두 가지 테스트 방법이 있습니다. logic walk-through는 모델을 호출하지 않고 그래프를 추적해(무료, 즉시) 도달성과 조건을 확인합니다. live run은 실제로 메시지를 모델에 통과시켜(당신의 할당량을 사용하며, 편집기가 그렇게 말합니다) 실제 느낌을 느껴봅니다.