영어 원어민이 아닌 우리의 어색한 인풋은 종종 심각한 찐빠를 유발하는 주된 원인이 된다.

그게 아니라도 와이프에게 내 뜻을 좀 더 잘 전달하고픈 경우가 있을 수도 있고,

단순히 영어 실력을 향상시키고 싶은 챈럼이 있을 수도 있다.


내 경우에도 자체 입력+번역을 섞어가며 인풋을 넣는 편인데, 뜻을 틀리게 적는다거나 하는 일은 거의 없지만 종종 내가 적고 있는 이 인풋이 어법적으로 어색하지는 않은지, 의미 전달이 잘 되고 있는지 걱정될 때가 있다.

그래서 AI가 출력물을 생성할 때 인풋을 수정해서 함께 출력할 수 있도록 조각프롬을 만들었고, 이틀 정도 쓰고 있는데 꽤 괜찮은 듯해 공유해 본다.


기본적으로 원리는 COT와 비슷하게, 응답 시작 부분에 태그를 이용해서 수정된 인풋을 출력하도록 만드는 것.


<Input Modification>
Write a modification to the user's input inside this tag. Keep in mind that it is written by a non-native English speaker, so fix typos, grammar, awkward expression and vocabulary, etc. and improve it to more natural English while maintaining the context intended.
</Input Modification>
<입력 수정>
이 태그 안에 사용자의 입력에 대한 수정 사항을 작성합니다. 영어가 모국어가 아닌 사람이 작성한 글이므로 오타, 문법, 어색한 표현 및 어휘 등을 수정하고 문맥을 유지하면서 보다 자연스러운 영어로 개선하세요.
</입력 수정>


이 프롬프트를 각자 적당한 위치에, 가능하면 출력 명령(응답 시작 전에 이것을 작성하세요 등)과 함께 넣어주면 된다.

참고로 나는 핑퐁 구조 기준으로 글로벌 노트를 상태창, 에셋 출력 프롬프트 용도로 사용하고 있기 때문에, 이 프롬프트도 글로벌 노트에 함께 넣어주었다. 모양은 다음과 같다.


## Output Format

<Input Modification>
Write a modification to the user's input inside this tag. Keep in mind that it is written by a non-native English speaker, so fix typos, grammar, awkward expression and vocabulary, etc. and improve it to more natural English while maintaining the context intended.
</Input Modification>

Date: <Weekday(abbr.), (Week count) week of (Month)>
Time: <Time of day(in words)>
Location: <Current location>
Activity: <Main activity that <char> has been doing, considering continuity>

(Main output)


모델이 헷갈리지 않고 <Input Modification>, 상태창, 그 다음 메인 응답을 출력할 수 있도록 포맷을 지정해 주었다.


그 다음 정규식을 지정해 준다. 정규식의 목적은

1. 수정 내역이 화면에 표시되지 않게 하기 위함(디스플레이 수정)

2. 수정 내역이 리퀘스트에 포함되어 토큰을 잡아먹게 하지 않기 위함(리퀘스트 데이터 수정)

이다.


IN
<Input Modification>(.|\n)*<\/Input Modification>
OUT
(빈칸)


결과물은 다음과 같다.


화면상에서는 <Input Modification> 내용이 보이지 않음


수정 버튼을 누르면 <Input Modification>이 보임


+리퀘스트에는 결과가 빠짐


<Input Modification> 안에 있는 내용으로 원래 인풋을 갈아끼우면 완전범죄가 된다.

겸사겸사 아 내가 쓰려고 했던 이런 뜻에는 이런 표현이 더 자연스럽구나 하는 영어 공부도 돼서 좋은 듯 하다.