당신이 만든 롤플레이 챗봇이나 학습 도우미의 시스템 프롬프트에 "3일차에 수리 1단계 완료", "3회차까지 1장 끝내기" 같은 진행표가 들어 있다고 하자. 유저는 그날 아무것도 안 했는데, 모델은 "밤새 작업하신 덕분에 1단계가 끝났네요"라고 말한다. 이미지 모델로 상품 장면 60장을 일괄 생성하면서 지시문 끝에 "만약 밤 장면이면 조명을 어둡게"라고 붙였더니 낮 장면 절반이 밤이 되어 나온다. 대화 AI 가 감정 이름(미소·울음)만 보고 그림을 고르게 했더니, 밤 장면 대화 한가운데 한낮 배경 그림이 튀어나온다. 셋 다 오류는 없다. 모델은 시킨 대로 했다 — 지금이 언제인지, 어디까지 왔는지를 스스로 짐작해서.
모델은 모르는 상태를 어떻게 메우나
모델에게 지금 상태(시간대·진행 단계·이미 일어난 일)를 확정값으로 주지 않으면, 모델은 프롬프트에 있는 예정표와 조건문에서 그것을 짐작해 메운다. 예정표는 "그때 그렇게 되어 있어야 한다"로 읽혀 사실을 지어내게 하고, 조건문("만약 밤이면")은 조건이 참이 아닐 때도 그 내용이 결과로 번진다. 그래서 상태는 모델이 추론할 대상이 아니라 매 호출 맨 앞에 적는 입력이어야 하고, 모델이 무언가를 고를 때는 그 상태가 고를 이름 안에 들어 있어야 한다.

어디서 흔히 생기나
- 진행표가 있는 대화. 학습 도우미의 커리큘럼, 고객 응대 봇의 단계별 절차, 게임 NPC 의 이야기 일정. "N일차에 X 완료"라고 적으면 모델은 유저가 X 를 안 했어도 일정을 맞추려고 X 가 일어난 것처럼 말한다.
- 일괄 생성의 조건부 지시. 상품 사진·썸네일·캐릭터 장면을 같은 지시문 틀로 수십 장 뽑을 때 "만약 겨울이면 눈을", "만약 밤이면 어둡게" 같은 조건을 뒤쪽에 붙이면, 이미지 모델은 조건을 따지지 않고 그 묘사를 장면에 섞는다. 참조 이미지를 여러 장 같이 넣으면 더 심하다.
- 이름만 보고 고르기. 대화 AI 가 응답마다 그림·효과음·버튼 같은 자원을 고르는데 자원 이름이 감정이나 종류만 말하면(
미소,울음), 그림 안의 다른 조건(배경 시간대, 계절, 옷)은 고를 근거가 없다. 모델은 어긋난 그림을 오류 없이 고른다.
고치는 법은 무엇인가
- 예정표를 조건표로 바꾼다. "3일차에 1단계 완료" 대신 "유저가 수리를 도우면 그날 밤 1단계가 끝난다". 반드시 와야 하는 장면(감정의 정점, 마감 안내)은 유저 행동과 무관한 계기 — 날짜, 방문, 횟수 — 에 묶는다.
- 상태는 매 호출 맨 앞에, 단정형으로. 일괄 생성이면 장마다 첫 줄에
TIME: bright DAYTIME, sun high, not night처럼 적고 조건문은 지운다. 대화라면 코드가 아는 상태(지금 시간대, 끝난 단계)를 매 턴 입력 머리에 붙인다. - 고를 이름에 상태를 넣는다.
미소하나 대신낮_미소·밤_미소. 그리고 모델이 매 응답 채우는 칸(상태 줄, JSON 필드)에 지금 시간대를 먼저 적게 해서, 고르기 전에 자기 근거를 쓰게 한다. - 결과를 상태별로 센다. 60장 중 낮이어야 할 장이 몇 장 낮인가, 밤 대화에서 낮 그림이 몇 번 나왔나. 눈으로 몇 장 넘겨 보면 놓친다.
지시문에 그대로 넣을 문장:
[상태 — 코드가 매 호출 채운다. 너는 이것을 바꾸거나 짐작하지 않는다]
지금 시간대: 낮
끝난 단계: 1단계(유저가 도왔음) / 2단계 아직
이번 턴에 유저가 한 일: 대화만 함
진행 규칙: 단계는 유저가 해당 행동을 했을 때만 끝난다. 유저가 하지 않은 행동을 했다고 말하지 않는다.
그림을 고를 때는 먼저 "시간대: 낮" 줄을 쓰고, 그 시간대 이름이 붙은 그림에서만 고른다.
이 방식은 프롬프트는 분명하고 직접적으로 쓰라는 일반 원칙의 한 갈래지만, 핵심은 문장을 다듬는 것이 아니라 모델이 추론하던 값을 코드가 주는 값으로 옮기는 것이다.
우리가 겪은 일
- AI 캐릭터 챗 작품을 대본 리딩으로 시험했더니, 시스템 프롬프트의 "3일차 수리 1단계 완료"를 맞추려고 모델이 유저가 밤새 작업한 장면을 지어냈다(2026-11). 진행표를 "유저가 X 하면 그날 밤 Y" 로 바꾸고, 감정 정점은 날짜에 묶었다.
- 같은 인물의 감정 장면 65장을 인물·배경 참조 이미지와 함께 일괄 생성하자, 지시문 뒤쪽의 "만약 밤이면…"이 번져 낮 장면 절반 넘게 밤으로 나왔다(2026-11). 장마다 맨 앞에 단정형 시간대를 넣자 고쳐졌다.
- 그 장면들에 배경 시간대가 생기자, 감정 이름만 보고 고르던 대화 AI 가 밤 대화에 한낮 그림을 띄웠다(2026-11). 이름에 시간대를 넣고 AI 가 매 응답 쓰는 칸에 지금 시간대를 적게 했다.