프롬프트 템플릿
인스펙터에 Prompt template 편집기가 표시되는 모든 단계(예: Generate Text와 사용자 정의 노드로 만든 단계)는 같은 구문을 지원합니다. @name을 쓰면 엔진이 단계가 실행 중인 콘텐츠 버전에 맞는 값으로 대체합니다. 터미널 단계의 일반 Export filename 필드도 같은 마커 문법을 사용하지만, 파일명에 적용되는 규칙은 아래 설명과 같습니다.
규칙
@name은 **라벨(label)**로 해석됩니다. 이는 뷰어가 기대하는 사람이 읽을 수 있는 문자열입니다.
You are translating the document below into @Language.
Document:
@text
두 가지 종류의 이름을 사용할 수 있으며, 편집기에서 색상으로 구분됩니다:
- 입력 슬롯(Input slots) (녹색):
@text,@image처럼 이전 단계에서 연결된 항목입니다. 이 콘텐츠 버전에서 이전 단계가 만든 출력으로 렌더링됩니다. - 버전 그룹(Version groups) (청색):
@Language,@Platform,@Length등. 스페이스에서 선언된 버전 그룹당 하나씩 존재합니다. 값의 사람이 읽을 수 있는 라벨(中文,TikTok)로 렌더링됩니다.
버전 그룹을 추가하면 정확한 그룹 이름이 마커가 됩니다. Platform은 @Platform, Content Length는 @{Content Length}, 内容平台는 @{内容平台}를 만듭니다. 프롬프트 이름은 대소문자를 구분하며, 각 마커가 하나의 그룹만 가리키도록 중복된 그룹 이름은 허용되지 않습니다.
알 수 없는 이름에는 빨간색 점선 밑줄과 "이 변수를 의미하셨나요?"라는 제안이 표시됩니다. 해석할 수 없는 이름은 최종 프롬프트에 그대로 유지됩니다. IceFold는 해석할 수 없는 내용을 자동으로 생략하지 않습니다.
경계 형태: @{name}
인접한 텍스트가 식별자의 일부로 읽힐 수 있는 경우, 이름을 중괄호로 감싸세요. 두 형태는 동일하게 대체됩니다. 중괄호는 단순히 모호성을 해소하는 도구입니다.
report_@{Target Language}.v1.txt → report_中文.v1.txt
이스케이프: @@
리터럴 @(예: 문장 내의 Hello @user)를 렌더링하려면 두 번 겹쳐 쓰세요:
Hello @@user → Hello @user
겹쳐 쓰기는 자연스럽게 확장됩니다: @@@@는 @@로 렌더링됩니다. 문자나 숫자 앞에 오는 @는 이미 무시되므로, [email protected]는 이스케이프 없이도 리터럴로 유지됩니다.
편집기 기능
프롬프트 템플릿 필드는 단순한 텍스트 영역보다 더 많은 기능을 제공합니다. 입력하는 동안:
- 변수 도구 모음: 편집기 위에 이 단계에서 사용할 수 있는 모든 변수를 출처별로 묶어 표시합니다. 클릭하면 삽입됩니다. 연결되지 않은 입력 슬롯은 흐리게 표시됩니다.
- 자동 완성:
@를 입력하면 열립니다.@{를 입력하면 중괄호 형식의 제안으로 전환됩니다. - 변수 도움말: 변수 위에 마우스를 올리면 현재 미리 보는 콘텐츠 버전에서 변수의 종류와 해석 결과를 확인할 수 있습니다.
- 미리보기 패널: 편집기 아래에 실제 서버의 치환 결과가 표시됩니다. 드롭다운에서 콘텐츠 버전을 선택하여 LLM이 받을 정확한 프롬프트를 확인하세요.
문법 요약
| 형태 | 렌더링 결과 |
|---|---|
@name |
이 콘텐츠 버전의 name에 대한 라벨 |
@{name} |
명시적인 경계가 있는 동일한 값 |
@@ |
리터럴 @ |
[email protected] |
리터럴 — 단어 문자 뒤의 @는 일반 문장 |
@unknown |
리터럴 @unknown, 편집기에서 빨간색으로 표시 |
Export filename에서는 버전 그룹 마커만 대체되며 값 ID를 사용합니다. 즉,
@Language는 사람이 읽는 라벨(中文)이 아니라zh가 됩니다. 따라서 내보낸 파일명을 일관되게 유지할 수 있습니다. Prompt template 필드에서는@Language가 라벨을 사용합니다.
