"틀이 곧 동작이야. 만드는 건 {input} 이라고 뚫어둔 구멍에 내 글을 떨구는 것뿐이고."
틀이 곧 동작이야
매크로가 하는 일은 통째로 그 프롬프트 틀이야. 자리 하나 뚫어둔 짧은 지시문. '철자랑 문법 고쳐. 고친 글만 돌려줘.' '한국어로 번역해.' '더 부드러운 말투로 다시 써.' 오타 고치개랑 번역기의 차이가 문자열 하나인 거지. 이 방식의 좋은 점이 거기 있어. 새 변환을 만들려면 새 코드가 아니라 새 지시문을 쓰면 되거든. 매크로가 곧 프롬프트고, 프롬프트는 그냥 글이야.
긁어놓은 글 떨구기
만드는 건 있을 수 있는 제일 단순한 일이야. 틀에서 {input} 을 찾아 붙잡아둔 글로 바꿔치기. 문법 고쳐:\n\n{input} 같은 틀이 지시문 뒤에 내 진짜 글이 붙은 모양이 되는 거지. 해석도, 로직도, 조건도 없어. 구멍 뚫린 글 한 줄이랑 그 구멍에 들어가는 내 글뿐이야. 이걸 이렇게까지 멍청하게 두는 게 매크로를 순수한 지시문으로 남겨줘. 똑똑한 건 전부 아래쪽 머리에 있지, 프롬프트를 조립하는 데 있는 게 아니거든.
틀에 {input} 이 없을 때
어떤 매크로는 긁어놓은 글을 가운데 안 넣어. 입력이 뒤따라오면 되는 상설 지시문이거든. 범용 'Prompt' 매크로가 그래. 틀이 열린 지시문이고, 긁었든 쳤든 그 글이 자리에 들어가는 대신 빈 줄 하나 뒤에 붙어. 그래서 규칙이 두 갈래야. 틀에 {input} 이 있으면 거기 넣고, 없으면 빈 줄 뒤에 붙이고. 둘 다 완성된 프롬프트가 나오고, 틀을 쓰는 사람은 어느 쪽이든 기계 사정을 신경 쓸 필요가 없어.
{input} 있는 틀:
"문법 고쳐:\n\n{input}" + 긁은 글="teh cat"
-> "문법 고쳐:\n\nteh cat"
{input} 없는 틀:
"다음 글을 요약해." + 긁은 글="긴 글..."
-> "다음 글을 요약해.\n\n긴 글..." (뒤에 붙임)