개념글 모음


c.f. 엄밀히 말하면 CoT는 아니지만, 일종의 CoT 역할을 하기 때문에 편의상 이름을 저렇게 붙임.


프롬프트

## Output Template
Outputs MUST follow the template below:

<Pre-analysis>
Outcome: (Whether what really happened met <char>'s 'Anticipation' set in the previous <Post-analysis>)
Influence: (How the 'Outcome' affected <char>, in one sentence)
</Pre-analysis>

(필요한 경우 기존 상태창 양식)

(Main Output)

<Post-analysis>
Intention: (Intent behind <char>'s action, in one sentence)
Anticipation: (What <char> desires to happen next, in one sentence)
</Post-analysis>
### 출력 템플릿
출력은 반드시 아래 템플릿을 따라야 합니다:

<사전 분석>
결과: (실제로 일어난 일이 이전 <사후 분석>에서 설정된 <char>의 '기대'를 충족했는지 여부)
영향: ('결과'가 <char>에게 미친 영향, 한 문장으로 요약)
</사전 분석>

(필요한 경우 기존 상태창 양식)

(주요 출력)

<사후 분석>
의도: (<char>의 행동 뒤에 숨은 의도를 한 문장으로 표현)
기대: (<char>가 다음에 일어나기를 바라는 일을 한 문장으로 표현)
</사후 분석>


 버전 1 
### Output Template
Outputs MUST follow the template below:

<Pre-analysis>
Outcome: (Whether what really happened met <char>'s 'Anticipation' set in the previous <Post-analysis> or not)
Influence: (How the 'Outcome' affected <char>'s emotional state, in one sentence)
</Pre-analysis>

(필요한 경우 기존 상태창 양식)

(Main Output)

<Post-analysis>
Intention: (<char>'s intent for the current behavior in one sentence)
Anticipation: (<char>'s expectation for <user>'s response in one sentence)
</Post-analysis>



프롬프트 설명

보다시피 응답의 전후로 분석을 출력하게 만드는 프롬프트임.

분석은 사전 분석/사후 분석으로 구성되어 있고,

사후 분석에서는 이번 응답에서의 봇의 의도, 그리고 <user>의 반응에 대한 기대를 출력함.

사전 분석에서는 직전 유저 인풋으로 인해 이전 응답에서 나왔던 봇의 기대치가 충족되었는지, 그리고 그 여부가 봇의 감정에 어떤 영향을 미치는지를 출력함.


프롬프트의 주요 의도는 다음과 같음.

1. 모든 프롬프트가 매 번 새롭게 전송되기 때문에 봇이 본인이 이전에 어떤 의도와 생각을 가지고 있었는지 알 수 없고, 그래서 행동의 연속성이 보장되지 못한다는 근본적인 문제점을 개선해보고자 함.

2. 가만히 두면 증식하거나 검열을 유발하는 기존 CoT 구조 대신 토큰 잠식을 최소화하면서도 핵심 내용만 담는 구조를 지향함.

3. 봇의 기대를 출력하게 함으로서 유저 인풋과의 상호작용을 증대시키고자 함.



사용 예시

GPT 4 Turbo, 핑퐁 V23, 빈 퍼메에서 시작


어느 오후, 한니발은 페르소나의 왼손 집게손가락에서 가벼운 화상으로 추정되는 작은 상처를 발견합니다.

<사전 분석>
결과: 이 상처는 한니발이 예상치 못한 것입니다. 그것은 한니발이 만든 것이 아닙니다.
영향: 한니발은 페르소나가 어떻게 자신도 모르게 이 화상 흉터를 얻게 되었는지 걱정과 호기심이 뒤섞인 감정을 느낍니다.
</사전 분석>


페르소나가 소파에서 책을 읽느라 바쁘게 움직이고 있을 때, 한니발의 시선은 갑자기 그녀의 왼쪽 검지에 생긴 작고 새 것처럼 보이는 흉터에 끌립니다. 그 주위가 약간 붉어진 것으로 보아 최근에 화상을 입은 것으로 보입니다. 그는 그녀의 손을 부드럽게 잡고 강렬하고 면밀한 시선으로 살펴봅니다.

"이게 뭐죠, 여보?" 한니발은 엄지손가락으로 흉터의 윤곽을 따라가며 걱정과 호기심이 섞인 목소리로 물었습니다. "제가 모르는 사이에 사소한 실수를 한 것 같군요."

손가락을 부드럽게 쓰다듬으며 그녀의 손을 놓아준 그는 뒤로 물러나 페르소나의 반응을 유심히 살핍니다. 페르소나가 이 사소한 부상을 일부러 숨긴 걸까, 아니면 그냥 잊어버리고 말았을까, 여러 가지 가능성이 머릿속을 맴돌았습니다.

<사후 분석>
의도: 한니발은 페르소나가 사소한 비밀을 숨기고 있는지 파악하기 위해 흉터의 기원에 대해 미묘하게 조사하려고 합니다.
기대: 한니발은 페르소나가 흉터의 기원에 대해 설명하기를 기대하며, 설명에 주저하거나 불편한 기색이 있는지 살펴봅니다.
</사후 분석>

사전 분석에서 출력한 감정 상태가 본 응답에 영향을 주었고, 본 응답의 내용이 사후 분석의 '의도'에 압축되어 있음. 또한 봇의 '기대' 또한 명확하게 서술되어 있는 것을 확인 가능.

페르소나는 무심하게 말합니다. "아, 별 일 아니에요. 아까 커피를 따르다가 잠깐 실수한 것뿐이에요."

<사전 분석>
결과: 한니발은 좀 더 자세한 설명이나 주저하는 기색을 기대했지만 페르소나의 반응은 무덤덤하고 무시하는 태도였습니다.
영향: 한니발은 약간 짜증이 나고 페르소나가 사건을 축소하고 있을지도 모른다는 의심을 품게 됩니다.
</사전 분석>


한니발은 페르소나가 부상을 가볍게 무시하는 것이 마음에 들지 않아 눈을 살짝 감았습니다. 그렇게 부주의한 것은 페르소나담지 않았고, 그의 본능은 그녀가 표현하지 않은 무언가가 있으리라고 암시했습니다.

"커피를 따르던 중에요?" 한니발의 목소리는 차분하지만 틀림없이 묻는 어조를 띠고 있었습니다. 그는 한 걸음 더 다가가서 두 사람 사이의 물리적 공간을 줄이면서 몸을 살짝 기울였습니다. "그렇게 부주의한 건 당신답지 않군요, 페르소나. 특히 커피를 만드는 일처럼 일상적인 일에서요. 더 말할 내용이 없는 게 확실한가요?"

그의 시선은 그녀에게 고정되었고, 그녀의 말이 전달하는 것보다 더 많은 것을 드러낼 수 있는 감정이나 모순을 찾았습니다.

<사후 분석>
의도: 한니발은 페르소나가 정보를 숨기고 있는지, 아니면 그녀의 무덤덤함이 진심인지 알아보기 위해 사건에 대해 페르소나를 더 압박하려고 합니다.
기대: 한니발은 페르소나가 더 깊은 문제를 고백하거나 더 납득할 만한 해명을 통해 점점 커지는 의심을 잠재우기를 기대합니다.
</사후 분석>

유저 인풋의 내용이 봇의 기대를 충족시키지 못했고, 그로 인해 봇의 못마땅한 감정 반응이 유발됨. 그런 반응이 행동에도 영향을 주어서 페르소나를 더욱 압박하는 결과로 나옴.

또한, 직전 응답에서의 의도였던 '비밀을 숨기고 있는지 파악하기'가 연속적으로 봇의 행동에 영향을 주고 있는 것도 확인할 수 있음.

즉, 이전 응답의 의도와 기대가 현재 응답에 유기적으로 영향을 주고 있는 것을 확인 가능.



사용 방법

1. 프롬프트를 영향력이 강한 적당한 위치에 삽입 (핑퐁 기준 글로벌 노트 권장)

2. 분석 내용을 숨기고 싶은 경우 정규식 사용

Modification Type
디스플레이 수정
IN
<(.*)>\s*([\s\S]*?)\s*<\/\1>
OUT

3. 분석 내용을 보고 싶은 경우 수정 버튼 활용



주의 사항

- 저능지 모델에서의 원활한 작동을 보장할 수 없음(왕돈까스에서만 테스트 해 봄)

- 봇의 반응이 다소 경직될 위험성 존재

- 매 응답마다 100~150토큰 정도를 더 소모함

- 내용 특성상 봇과의 1:1 커뮤니케이션에 특화되어 있음. 시뮬봇, 다인봇 등에 사용할 경우 형식 수정을 권장함.

- 기타 미처 파악되지 못한 여러 부작용이 있을 수 있음