AI, 내 마음을 맞춰봐

#03

by 원펄슨

자, 내 마음을 맞춰봐

나는 고백한다. LLM(큰 언어 모델)을 한 명의 인간처럼 대하고 있었다는 것을! 그래서 개떡같이 말해도 찰떡같이 알아들을 수 있을 거라 생각했다. 생각나는 질문, 명령, 요청을 두서없이 단답형으로 던지고는 생각했다. '똑똑한 AI가 찰떡같이 알아듣고 내 맘에 쏙 드는 답을 해주겠지'라고. 이렇듯 아무 설명 없이, 아무 예시 없이 무턱대고 질문하는 방법을 Zero shot이라고 한다. 그럼에도 답은 얻을 수 있지만 명확한 답을 얻는 데는 한계가 있다.


자, 예를 들어줄게

질문을 했는데 엉뚱한 답을 줄 때, 가장 손쉽게 접근할 수 있는 중요한 기술은 바로 ‘예시 들기’다. 하나의 예시를 줄 수도 있고(One-shot), 여러 개의 예시를 줄 수도 있다(Few-shot). ‘이런 경우에는 이게 답이야’라고 예시를 주고 나서 질문을 하면 AI는 예시를 참고해서 답을 찾는다. 최소 3개에서 5개까지의 다양한 예시를 주면 좋다고 한다. 주의할 점은 해결하고 싶은 문제에 부합하지 않는 모호한 예시는 오히려 AI를 혼란스럽게 하기 때문에 과제와 부합하는 다양한 예시를 잘 써줘야 한단다. (이럴 거면 내가 하지…라고 생각할 뻔했다)

The number of examples you need for few-shot prompting depends on a few factors, including the complexity of the task, the quality of the examples, and the capabilities of the generative AI (gen AI) model you are using. As a general rule of thumb, you should use at least three to five examples for few-shot prompting.


기본적으로, 이걸 해줘

본격적인 질문을 던지기 전에 기본적으로 AI가 무엇을 했으면 하는지 ‘큰 그림’을 정의해 주는 방법(System prompting)이 있다. ‘번역을 해줘’처럼 전체를 아우르는 목적을 명시할 수도 있고 ‘답변에는 다른 사람을 향한 존중이 담겨있어야 해’처럼 기본적인 답변 준칙을 제시할 수도 있다.

System prompts can be useful for generating output that meets specific requirements. The name ‘system prompt’ actually stands for ‘providing an additional task to the system’. (…) System prompts can also be really useful for safety and toxicity. To control the output, simply add an additional line to your prompt like: ‘You should be respectful in your answer.’.


먼저, 네 역할을 알려줄게

특정 역할이나 캐릭터를 부여하는 방법(Role prompting)에 대해 들어보기는 했는데, 역할을 주면 뭐가 좋은 걸까? 주어진 역할을 고려한 ‘일관성 있는 답변’을 얻을 수 있다고 한다. 무턱대고 ‘default가 뭔지 설명해 줘’라고 하면 경제학자는 기업의 디폴트를 떠올리겠지만, 개발자는 시스템의 기본값인 디폴트를 생각한다. 이처럼 ‘넌 이제부터 개발자야’라고 앞서 역할을 부여해 주면 AI는 같은 질문에 대해 ‘개발자의 지식과 행동양식’에 초점을 두고 개발자스러운(!) 톤으로 일관된 답변을 줄 것이다.

This helps the model generate responses that are consistent with the assigned role and its associated knowledge and behavior. (…) For example, you could role prompt a gen AI model to be a book editor, a kindergarten teacher, or a motivational speaker. Once the model has been assigned a role, you can then give it prompts that are specific to that role.


먼저, 질문의 배경을 알려줄게

지금 해결하고자 하는 과제와 관련된 세부사항이나 배경정보를 구체적으로 알려주는 방법(Contextual prompting)도 있다. 사람도 질문을 받을 때, 다짜고짜 주어진 질문보다 배경설명과 함께 주어진 질문에 더 좋은 답변을 할 수 있다. 이렇듯 배경을 알려주고 질문하면 AI는 문맥 안에서 더 효과적으로 요청사항을 이해하고 더 적합한 답변을 줄 수 있단다. (막상 정리하고 보니 너무도 당연한 말이다)

By providing contextual prompts, you can help ensure that your AI interactions are as seamless and efficient as possible. The model will be able to more quickly understand your request and be able to generate more accurate and relevant responses.



좋운 질문이 좋은 답변을 가져오기에 좋은 질문이 무엇인지 배우고자 했는데, 좋은 질문에 앞서 미리 정의하고 알려주고 설명하는 준비단계가 필요하다는 걸 알았다.

사람들은 테크닉이라는 의식도 없이 AI가 기술이라 하는 것들을 자유자재로 섞어가며 대화 중에 자연스레 사용하고 있구나. 그런 의미에서 사람 간의 소통은 상당히 고도화된 최첨단 기술로 점철된 행위가 아닐까. AI를 공부하면서 오히려 사람을 알게되는 것 같다.

LLMs aren’t perfect; the clearer your prompt text, the better it is for the LLM to predict the next likely text.


오늘은 여기까지. 다음 글에서 더 본격적인(!) 질문 기술을 살펴봐야겠다.

작가의 이전글AI, 그게 뭔데?