"템플릿이 동작 전부야. 렌더링은 그냥 네 단어를 {input} 이라 표시된 구멍에 떨궈."
템플릿이 동작이야
매크로의 동작은 전적으로 프롬프트 템플릿이야 — 자리를 가진 짧은 지시. '철자와 문법을 고쳐; 고친 텍스트만 반환.' '한국어로 번역.' '더 따뜻한 톤으로 다시 써.' 오타 고치개와 번역기의 차이는 문자열 하나야. 그게 모델의 아름다움이야: 새 변환을 만들려고, 새 코드가 아니라 새 지시를 써. 매크로가 프롬프트고, 프롬프트가 텍스트야.
선택 떨구기
렌더링은 가능한 제일 단순한 연산이야: 템플릿에서 {input} 을 찾아 캡처한 선택으로 치환. 문법 고쳐:\n\n{input} 같은 템플릿이 지시 뒤에 네 실제 텍스트가 오는 걸로 돼. 파싱도, 로직도, 조건문도 없어 — 그냥 구멍 가진 문자열과 구멍으로 가는 선택. 렌더링을 이렇게 멍청하게 두는 게 매크로를 순수한 묘사로 유지해: 모든 지능은 하류, 브레인에 있지, 프롬프트가 조립되는 방식에 있지 않아.
템플릿에 {input} 이 없을 때
어떤 매크로는 선택을 중간에 안 넣어 — 입력이 따라와야 하는 상설 지시야. 범용 'Prompt' 매크로가 이래: 그 템플릿은 열린 지시고, 네가 선택한(또는 친) 뭐든이 자리에 치환되는 대신 빈 줄 뒤에 덧붙여져. 그래서 룰엔 두 갈래가 있어: 템플릿에 {input} 이 있으면 거기 치환; 없으면 입력을 빈 줄 뒤에 덧붙여. 둘 다 완성된 프롬프트를 만들고; 어느 쪽도 템플릿 작성자가 메커닉을 생각하게 안 시켜.
{input} 있는 템플릿:
"문법 고쳐:\n\n{input}" + sel="teh cat"
-> "문법 고쳐:\n\nteh cat"
{input} 없는 템플릿:
"다음을 요약해." + sel="긴 텍스트..."
-> "다음을 요약해.\n\n긴 텍스트..." (덧붙임)
클라이언트의 렌더링을 멍청하게 둬서 지능이 한 곳에 남게 해. 유혹은 렌더링을 영리하게 만드는 거야 — 조건문, 헬퍼, 템플릿 속 미니-로직. 저항해: 프롬프트가 지어지는 방식에 로직이 많이 살수록, 클라이언트가 조용히 생각을 더 해. 그냥 '지시 더하기 자리' 인 매크로는 깨끗한 분할을 유지해 — 클라이언트가 텍스트를 기계적으로 조립하고, 모든 판단은 그걸 읽는 브레인에서 일어나.