프롬프트 라이브러리 감사: 의도와 모델 방언

내 이미지 폴더에 이런 프롬프트가 하나 들어 있다:

cinematic portrait, 85mm, (rim light:1.3), deep shadows, masterpiece, best quality, 8k, ultra detailed, trending on ArtStation --ar 2:3 --stylize 400 --no watermark

그건 잘 작동했다. 너무나 안정적으로 작동해서 나는 그걸 더 이상 읽지도 않게 됐고, 급기야 복제하기 시작했다 — 야간 버전, 클로즈업 버전, 어두운 머리카락을 가진 피사체용 버전. 가중치가 빛과 다르게 상호작용했기 때문이다. 그러다 같은 문자열을 더 새로운 모델에 던졌더니, 광이 번지고 과하게 밝은, 어딘가 플라스틱 같은 결과가 돌아왔다. 내가 품었던 아이디어를 찍은 스톡 사진 같았다. 그 프롬프트는 오래전에 이미 그림을 묘사하는 걸 그만두고 있었다. 존재 기간의 대부분 동안, 그건 모델이 더 이상 갖지 않은 일련의 습관과 논쟁하고 있었던 것이다.

나는 지금까지 이걸 충분히 많이 목격했다 — 이미지, 영상, 텍스트에서. 그래서 불편한 쪽의 진실을 그대로 말하겠다. 인터넷이 프롬프트 엔지니어링이라고 부르는 것의 대부분은 방언이다. 방언은 당신 것이 아니다. 당신은 그 문법을 소유하지 않고, 그 환율을 정하지도 못한다. 그리고 벤더가 새 버전을 내놓는 순간, 당신의 라이브러리가 실제로 무엇으로 이루어져 있었는지 알게 된다.

당신이 가진 모든 프롬프트는 두 개의 프롬프트가 겹쳐진 것이다

라이브러리에서 아무 프롬프트나 하나 골라 쪼개 보라. 같은 줄 안에 설명과 방언이 뒤엉켜 있는 걸 발견하게 될 것이다.

문자열 그 아래의 의도
(rim light:1.3) 피사체를 뒤에서 비추기
masterpiece, best quality, 8k, ultra detailed 싸구려처럼 보이지 않게 하기
--stylize 400 --ar 2:3 어느 정도 자유를 주기; 인물 사진 크롭
You are a world-class line editor 높은 기준 고수하기
Think step by step before answering 풀이 과정 보여주기

오른쪽 열은 명세다. 이걸 사람 아트 디렉터나 카피 에디터, 촬영 감독에게 건네도 원하는 것에 가까운 결과를 얻을 수 있다. 왼쪽 열은 그걸 읽도록 만들어진 구현체에게만 의미가 있다 — 그리고 그 구현체를 대체하는 버전에게는 아무 의미도 없다.

문제의 전부가 한 줄에 담겨 있다: 설명은 자산이고, 방언은 남의 파서 안에 있는 포지션이다. 자산은 가치가 오른다. 포지션은 하룻밤 사이에 재평가된다.

방언은 그저 만료되는 게 아니다. 당신을 거스르기 시작한다.

편안한 가정은, 낡은 요령이 중립이 된다는 것이다 — 언젠가 정리할 때까지 들고 다녀도 되는 무용한 짐. 그러나 대개 그것들은 네 가지 뚜렷한 방식으로 적극적으로 해를 끼친다.

결함 보상. 유통되는 요령의 상당수는 모델이 특정한 것을 못하는 걸 싸우기 위해 발명됐다: 평평한 조명으로 쏠리는 디코더 편향, 서두를 끼워 넣는 경향, 브리프에서 벗어나는 습관 같은 것. 그 주문이 먹히는 건 결함이 거기 있기 때문이다. 결함을 고치면 그 보상은 왜곡으로 바뀐다 — 한때 풍부한 이미지를 만들어내던 태그 수프가 이제 플라스틱 같은 이미지를 만드는 이유가 여기 있고, 한때 어조를 벼려주던 역할극 의상이 이제는 문맥만 잡아먹는 이유도 여기 있다.

과잉 조향. 형용사 한 무더기는 약한 모델에게는 지시로 읽히고 강한 모델에게는 잡음으로 읽힌다. 흔들리는 생성기를 잡아두려고 추가한 제약은, 생성기가 스스로를 잡을 수 있게 되면 방 안에서 가장 시끄러운 존재가 된다. 당신은 개선한 게 아니다. 단어 목록으로 모델 자신의 취향을 다수결로 눌러버린 것이다.

중복된 발판. 이미 중간 작업을 수행하는 모델에 붙인 “Think step by step”, 혹은 애초에 다른 태도를 가진 적 없는 무언가에게 특정 인지 태도를 요구하는 시스템 서두. 치명적이진 않지만, 아무것도 아닌 데 쓴 토큰이고, 업그레이드마다 다시 검증해야 할 항목이 하나 늘어나는 셈이다.

파싱되지 않는 플래그. 같은 문자열을 다른 도구나 인터페이스로 옮기면 매개변수가 더 이상 매개변수로 취급되지 않는다. 소프트웨어에 따라 조용히 버려지거나 문자 그대로의 콘텐츠로 파싱되고, 오류 메시지 하나 없이 프롬프트의 의미가 달라진다. 네거티브 프롬프트 입력란을 더 이상 제공하지 않는 인터페이스는, 거기에 살던 프롬프트의 절반을 그냥 무시한다.

피해는 늘 그렇듯 보이지 않는 방식으로 나타난다: 결과물이 나빠지고, 당신은 모델을 탓하고, 더 똑똑한 모델이 어쩐지 당신의 일을 더 못한다는 결론에 이른다. 올바른 진단은 이렇다. 당신의 프롬프트는 이미 치료된 병에 대한 임시 치료제였던 것이다.

교체를 견디는 것은 명세 — 그리고 취향

프롬프트에서 모델 특정적인 요소를 전부 걷어내면 남는 것은 당신이 실제로 소유한 부분이다: 피사체, 조명, 구도, 매체, 분위기, 배제하는 것. 텍스트 작업이라면: 독자, 목적, 고수하는 기준, 산출물의 형태, 요청하는 수정, 하지 않았으면 하는 것.

그중 이국적인 건 하나도 없다. 그건 그 분야의 어휘다. 바로 그게 핵심이다 — 아트 디렉터가 빛을 두고 쓰는 말, 편집자가 컷을 두고 쓰는 말, 기획 편집자가 브리프를 두고 쓰는 말. 그 말들이 이식되는 이유는, 애초에 모델에게 건넨 말이 아니었기 때문이다. 결과물에게 건넨 말이었다.

두 번째로 이식 가능한 자산은 더 차갑고 덜 재미있다: 결과물이 좋은지 판단하는 능력. 돌아온 결과에 점수를 매길 수 없다면 프롬프트 라이브러리는 무가치하다. 신뢰하는 취향은 모든 업그레이드를 견디며, 새 모델을 위협이 아니라 기회로 만드는 것도 바로 그 취향이다.

이 둘을 합치면 관점의 전환이 된다. 당신은 모델을 배우고 있던 게 결코 아니었다. 자신이 뜻하는 바를 말하는 법, 그리고 돌아온 것을 판단하는 법을 배우고 있었던 것이다.

감사: 두 가지 색, 한 시간, 당신의 라이브러리 전체

모든 걸 다시 쓸 필요는 없다. 무엇이 무엇인지 알면 된다.

  1. 표본 추출. 카테고리 전반에서 프롬프트 스물다섯 개를 꺼낸다 — 이미지, 영상, 텍스트, 당신이 돌리는 무엇이든. 그보다 적다면 전부 꺼낸다.
  2. 두 색 표시. 각 프롬프트를 토큰 하나하나 훑으며 의도인지 방언인지 표시한다. 가중치, 플래그, 트리거 단어, 접미사 스택, 역할극 의상, 형식 발판: 방언이다. 유능한 사람이 실행에 옮길 수 있는 것: 의도다.
  3. 인간 테스트 적용. 재능 있는 프리랜서가 이 프롬프트만 받아서 당신이 원하는 것에 가까운 결과를 만들어낼 수 있겠는가? 그 사람이 주문을 알아야만 한다면, 그것은 방언이다.
  4. 취약성 점수 매기기. 각 프롬프트의 방언 비중을 어림한다. 5분의 1 미만이면 상당히 이식 가능하다. 3분의 1을 넘으면 모델에 종속된 자산이며 만료되는 것으로 취급해야 한다.
  5. 정본으로 벗겨내기. 의도만 담은 프롬프트를 마스터로 작성한다. 모델 특정적 조각은 도구별로 분리된 어댑터 파일에 날짜와 함께 보관해서, 방언이 저장하는 대상이 아니라 덧붙이는 대상이 되게 한다.
  6. 하나를 기억으로 재구성하기. 가장 많이 쓴 프롬프트를 골라 파일을 닫고, 같은 브리프를 처음부터 다시 쓴다. 가까이도 못 간다면, 그 프롬프트는 당신이 한 번도 가진 적 없는 지식을 나르고 있었던 것이다 — 감사가 낳을 수 있는 가장 값진 발견이다.

그런 다음 짧은 브리프 다섯에서 열 개를 폴더에 평가 세트로 보관하고, 마지막으로 실행했을 때 적어둔 판단을 함께 넣어둔다. 새 모델이 나오면 세트를 다시 돌리고, 자기 노트를 읽으면, 날려버린 주말 대신 20분 만에 무엇이 달라졌는지 알게 된다.

앞으로의 백 시간은 어디로 가는가

설명으로: 빛, 구도, 렌즈, 편집 문법, 산문의 리듬, 브리프 작성. 취향으로: 같은 브리프를 자주 돌리고, 왜 한 결과가 다른 것보다 나은지 적어두기. 지루한 인프라로: 의도 마스터, 날짜가 붙은 어댑터, 평가 세트, 변경 이력. 인간 협업자가 명확하다고 느낄 만큼 결과를 정밀하게 명시하는 법을 스스로 익히는 데로.

필요해지기도 전에 플래그 문법을 외우는 데도, 모델 특정적 프롬프트 팩을 자산인 양 수집하는 데도 아니다. 그것들은 자산이라기보다 원료에 가깝다. 그 아래에 깔린 의도를 읽으려고 그걸 읽고, 방언은 발견한 자리에 그대로 두라 — 같은 규율이 공개 컬렉션에도 적용된다. awesome-prompts.com에 있는 것들도 마찬가지인데, 그것들은 붙여넣을 레시피가 아니라 효과에 대한 설명으로 다룰 때 가장 유용하다.

프롬프트가 모델 특정적인지 어떻게 아나?

인간 테스트를 돌려보라. 숙련된 사람이 프롬프트만 읽고 당신이 무엇을 요청하는지 알아내지 못한다면, 그 프롬프트는 의미를 통해서가 아니라 모델의 기벽을 통해 일을 하고 있는 것이다. 두 번째 단서는, 정수와 괄호, 꼬리에 붙은 플래그를 지웠을 때 프롬프트가 여전히 작동하는지다. 무너진다면, 그것들은 하중을 지탱하고 있던 것이다.

오래된 프롬프트는 지워야 하나?

의도는 지우지 마라. 오래된 프롬프트마다 설명을 추출해 마스터로 보관하고, 순수한 방언은 지운다 — 인간에게 아무 의미가 없고 오직 특정 디코더 하나를 살짝 밀어주기 위해서만 존재하는 키워드 더미. “혹시 몰라서” 남겨두는 것이야말로, 믿지도 못하고 점수도 못 매기는 파일 삼백 개를 짊어지게 되는 지름길이다.

그래도 새 모델의 기벽을 익힐 가치는 있지 않나?

있다, 값싸게. 도구가 어떤 식으로 말 걸어주길 바라는지 아는 건 첫 몇 주 동안 실질적인 이점이다. 다만 그 지식은 날짜를 붙여 어댑터 파일에 넣고, 일회용일 거라고 예상하라. 실수는 방언을 배우는 게 아니다. 그것을 간직하려는 부분과 같은 곳에 저장하는 것이다.

얼마나 자주 다시 감사해야 하나?

당신이 의존하는 모델이 바뀔 때, 그리고 더 이상 이해하지 못하는 문자열을 자기가 복사하고 있음을 알아차릴 때. 분기마다면 충분하다. 매달은 근면으로 분장한 미루기다.

라이브러리를 열고, 가장 많이 쓰는 프롬프트 다섯 개를 골라 오늘 밤 두 색 표시를 해보라. 돌아오는 비율은, 지난 3년 중 얼마가 가치를 유지하는 통화에 들어갔고 얼마가 어차피 만료될 게 뻔했던 티켓에 들어갔는지에 대한 꽤 정직한 답이다.