챗 방식을 위한 프롬프트 엔지니어링: AI와의 대화를 디자인하라

먼저 이 글을 읽으시는 분들께 한 가지 말씀드리고 싶습니다. 기존 방식과 CDPE의 방식을 비교 설명하는 부분에서, 생성형 AI 서비스를 변화에 맞춰 잘 따라잡은 분들은 ‘뭐가 특별하다는 거야. 이미 다 이렇게 하는 거 아냐?’라고 생각하실 수 있습니다. CDPE가 바꾸고 싶은 것은 생성형 인공지능에 입문하시는 분이 프롬프트 엔지니어링을 접하게 되고 잘 사용해 보기도 전에 포기하거나 협력이 아닌 지시로 습관화 되지 않도록 하기 위해서입니다. 이 점을 이해해 주시길 바랍니다.

 

챗 방식에서는 AI를 지시를 수행할 단순한 도구가 아닌, 마치 사람과 대화하듯 끊임없이 상호작용하며 원하는 결과를 만들어가는 ‘협력적인 파트너’로 인식하는 것이 중요합니다. 상대방의 반응을 예측하고, 오해의 소지를 줄이기 위해 노력해야 하죠. 이때 중요한 것은 ‘명확성’, ‘문맥’, ‘구체성’입니다. 이 세 가지 요소를 기반으로 OpenAI에서 제시하는 여섯 가지 전략을 살펴보겠습니다. 각 전략에서 우리는 기존의 프롬프트 엔지니어링 방식과 CDPE 방식을 비교하며, CDPE가 어떻게 더 효과적인 AI 활용을 가능하게 하는지 알아보겠습니다.

3.1 명확한 지시 작성 (Write clear instructions)

AI는 우리의 마음을 읽을 수 없습니다. 따라서 원하는 결과를 얻으려면 AI가 명확하게 이해할 수 있는 지시를 내려야 합니다. 이는 기존 프롬프트 엔지니어링에서도, CDPE에서도 매우 중요한 원칙입니다.

(기존 프롬프트 엔지니어링)
초기에는 “200자 이내로 요약해줘.”와 같이 간단한 명령으로 시작했지만, 곧 더 구체적인 지시의 필요성을 깨달았습니다. “챗봇 서비스 홍보를 위한 200자 이내의 광고 문구를 작성해줘.”와 같이 목적과 세부 사항을 명시하는 것이 더 나은 결과를 가져온다는 것을 알게 된 거죠. 출력물의 길이, 전문성 수준, 형식 등을 명확히 지정할수록 AI는 사용자의 의도를 더 잘 파악하고 원하는 결과를 생성할 수 있었습니다.

하지만 이 방식에는 한계가 있었습니다. 사용자가 처음부터 완벽에 가까운 프롬프트를 작성해야 한다는 부담이 컸고, 프롬프트를 개선하는 과정도 AI의 응답을 보고 사용자가 직접 수정해야 하는 번거로움이 있었죠.

(CDPE)
CDPE는 이러한 한계를 극복하기 위해 새로운 접근 방식을 제시합니다. 챗 방식을 기반으로, 사용자와 AI가 협력하여 프롬프트를 완성해 나가는 것이죠.

예를 들어, 사용자가 “광고 문구 좀 만들어줘.”라고 모호하게 요청해도, AI 에이전트는 “어떤 제품이나 서비스의 광고인가요?”, “타겟 고객층은 누구인가요?”, “원하는 광고 문구의 길이나 톤은 어떤가요?” 등의 질문을 통해 사용자의 의도를 파악합니다. 이 과정에서 자연스럽게 명확하고 구체적인 프롬프트가 만들어지는 것이죠.

이렇게 CDPE는 사용자의 부담을 줄이면서도, AI와의 대화를 통해 더 정확하고 효과적인 프롬프트를 생성할 수 있게 해줍니다. 마치 전문가와 상담하듯 AI와 대화하며 원하는 결과를 얻어가는 과정, 그것이 바로 CDPE의 핵심입니다.

3.2 참조 텍스트 제공 (Provide reference text)

AI 모델은 때때로 잘 알려지지 않은 주제나 특정 인용, URL에 대해 질문받았을 때 그럴듯한 가짜 답변을 만들어낼 수 있습니다. 이를 방지하고 더 정확한 답변을 얻기 위해 참조 텍스트를 제공하는 것이 중요합니다.

(기존 프롬프트 엔지니어링)
기존 방식에서는 사용자가 미리 준비한 참조 텍스트를 프롬프트에 직접 포함시켜야 했습니다. 예를 들어, “다음 텍스트를 참고하여 질문에 답해주세요: [참조 텍스트]”와 같은 형식으로 프롬프트를 작성했죠. 이 방법은 효과적이었지만, 사용자가 관련 정보를 직접 찾아 제공해야 한다는 부담이 있었습니다. 또한, 대화가 진행됨에 따라 새로운 참조 텍스트가 필요할 때마다 사용자가 직접 추가해야 하는 번거로움도 있었습니다.

(CDPE)
CDPE는 이러한 과정을 더욱 자연스럽고 효율적으로 만듭니다. AI 에이전트가 대화 중에 필요한 참조 텍스트를 능동적으로 요청하거나 찾아낼 수 있기 때문입니다.

예를 들어, 사용자가 “인공지능의 윤리적 문제에 대해 설명해줘.”라고 요청하면, CDPE 기반의 AI 에이전트는 다음과 같이 대응할 수 있습니다:

1. “인공지능의 윤리적 문제에 대해 설명드리기 전에, 특정 분야나 사례에 관심이 있으신가요? 아니면 전반적인 개요를 원하시나요?”

2. 사용자의 답변에 따라, AI는 “이해했습니다. 제가 신뢰할 수 있는 소스에서 관련 정보를 찾아보겠습니다. 잠시만 기다려주세요.”라고 말할 수 있습니다.

3. 그 후 AI는 관련 정보를 검색하고, “I found some relevant information from [source]. According to this, the main ethical concerns in AI include…” 와 같이 참조 텍스트를 활용한 답변을 제공할 수 있습니다.

이러한 CDPE 접근 방식의 장점은 다음과 같습니다:

1. 사용자의 부담 감소: 사용자가 직접 참조 텍스트를 찾아 제공할 필요가 없습니다.
2. 실시간 업데이트: 대화 중 새롭게 필요해진 정보를 AI가 즉시 찾아 활용할 수 있습니다.
3. 정확성 향상: AI가 신뢰할 수 있는 출처에서 정보를 가져오므로, 가짜 정보 생성 가능성이 줄어듭니다.
4. 학습 경험: 사용자는 AI와의 대화를 통해 정보를 어떻게 찾고 활용하는지 배울 수 있습니다.

CDPE를 통해, 참조 텍스트 제공은 더 이상 사용자의 부담이 아닌, AI와 사용자가 함께 만들어가는 협력적 과정이 됩니다. 이는 더 정확하고 풍부한 대화를 가능케 하며, 궁극적으로 사용자에게 더 나은 경험을 제공합니다.

3.3 복잡한 작업을 단순한 하위 작업으로 분할 (Split complex tasks into simpler subtasks)

복잡한 시스템을 모듈식 구성 요소로 분해하는 것이 소프트웨어 엔지니어링의 좋은 관행인 것처럼, AI에게 제출하는 작업도 마찬가지입니다. 복잡한 작업은 단순한 작업보다 오류율이 높기 때문에, 이를 여러 개의 간단한 하위 작업으로 나누는 것이 효과적입니다.

(기존 프롬프트 엔지니어링)
기존 방식에서는 사용자가 복잡한 작업을 직접 여러 단계로 나누어 프롬프트를 작성해야 했습니다. 예를 들어, 긴 문서를 요약하는 작업을 수행할 때:

1. “이 문서를 각 단락별로 요약해주세요.”
2. “요약된 내용을 바탕으로 전체 문서의 핵심 주제 3가지를 추출해주세요.”
3. “추출된 주제를 중심으로 전체 문서를 300단어로 요약해주세요.”

이런 식으로 사용자가 각 단계를 명시적으로 지시해야 했습니다. 이 방법은 효과적이지만, 사용자가 작업을 어떻게 나눌지 미리 계획해야 하는 부담이 있었고, 각 단계의 결과를 확인하고 다음 단계로 넘어가는 과정이 번거로웠습니다.

(CDPE)
CDPE는 이러한 과정을 더욱 자연스럽고 효율적으로 만듭니다. AI 에이전트가 복잡한 작업을 자동으로 분석하고, 필요한 경우 사용자와의 대화를 통해 작업을 세분화할 수 있기 때문입니다.

예를 들어, 사용자가 “AI의 발전이 일자리에 미치는 영향에 대한 보고서를 작성해줘.”라고 요청하면, CDPE 기반의 AI 에이전트는 다음과 같이 대응할 수 있습니다:

1. “네, 이해했습니다. 이 주제는 꽤 복잡하니, 단계별로 접근하는 게 좋겠습니다. 먼저 다음 단계로 나누어 진행하겠습니다:
a) AI의 현재 발전 상황 조사
b) 일자리에 미치는 긍정적 영향 분석
c) 일자리에 미치는 부정적 영향 분석
d) 미래 전망 예측
e) 결론 및 제언 작성
이 방식으로 진행해도 될까요?”

2. 사용자의 동의를 얻은 후, AI는 각 단계를 순차적으로 수행하면서 중간 결과를 사용자와 공유하고 피드백을 받을 수 있습니다.

3. 각 단계에서 추가적인 정보나 세부 지시가 필요한 경우, AI는 사용자에게 질문을 할 수 있습니다. 예: “일자리에 미치는 긍정적 영향을 분석하는 데 있어, 특정 산업 분야에 초점을 맞추길 원하시나요?”

이러한 CDPE 접근 방식의 장점은 다음과 같습니다:

1. 사용자의 부담 감소: 복잡한 작업을 어떻게 나눌지 사용자가 미리 계획할 필요가 없습니다.
2. 유연성: 작업 진행 중에도 필요에 따라 하위 작업을 조정하거나 추가할 수 있습니다.
3. 품질 향상: 각 하위 작업의 결과를 확인하고 수정할 수 있어, 최종 결과물의 품질이 향상됩니다.
4. 학습 경험: 사용자는 AI가 복잡한 작업을 어떻게 분해하고 접근하는지 배울 수 있습니다.

CDPE를 통해, 복잡한 작업의 분할은 더 이상 사용자의 책임이 아닌, AI와 사용자가 함께 만들어가는 협력적 과정이 됩니다. 이는 더 정확하고 체계적인 작업 수행을 가능케 하며, 궁극적으로 사용자에게 더 나은 결과물을 제공합니다.

3.4 모델에게 “생각할 시간” 제공 (Give the model time to “think”)

복잡한 문제를 해결할 때 우리 인간도 시간이 필요하듯, AI 모델도 더 나은 답변을 위해 “생각할 시간”이 필요합니다. 즉각적인 응답을 요구하기보다는 모델이 단계적으로 추론할 수 있는 기회를 제공하면 더 정확하고 깊이 있는 답변을 얻을 수 있습니다.

(기존 프롬프트 엔지니어링)
기존 방식에서는 사용자가 명시적으로 모델에게 단계적 사고를 요청해야 했습니다. 예를 들어:

“다음 문제를 해결해주세요. 단, 바로 답을 말하지 말고 단계별로 생각하는 과정을 보여주세요:
문제: 한 농장에 닭과 소가 있습니다. 머리는 총 50개이고 다리는 총 140개입니다. 닭과 소는 각각 몇 마리일까요?”

이런 식으로 사용자가 “단계별로 생각하라”는 지시를 직접 포함해야 했습니다. 이 방법은 효과적이었지만, 매번 이러한 지시를 포함해야 한다는 번거로움이 있었고, 때로는 어떤 문제에 이 방식을 적용해야 할지 판단하기 어려울 수 있었습니다.

(CDPE)
CDPE는 이러한 과정을 더욱 자연스럽고 효율적으로 만듭니다. AI 에이전트가 스스로 문제의 복잡성을 판단하고, 필요한 경우 단계적 사고를 적용할 수 있기 때문입니다.

예를 들어, 사용자가 “지구 온난화가 해수면 상승에 미치는 영향을 설명해줘.”라고 요청하면, CDPE 기반의 AI 에이전트는 다음과 같이 대응할 수 있습니다:

1. “네, 이해했습니다. 이 주제는 여러 요소가 복잡하게 얽혀 있어 단계별로 설명하는 것이 좋겠습니다. 제가 생각하는 과정을 보여드릴게요. 괜찮으시죠?”

2. 사용자의 동의를 얻은 후, AI는 다음과 같이 단계적으로 설명을 진행할 수 있습니다:
a) “먼저, 지구 온난화의 정의와 주요 원인에 대해 설명하겠습니다…”
b) “다음으로, 온난화가 해양에 미치는 직접적인 영향을 살펴보겠습니다…”
c) “이제 해수면 상승의 메커니즘을 설명하겠습니다…”
d) “마지막으로, 해수면 상승이 가져올 수 있는 결과와 대응 방안에 대해 논의하겠습니다…”

3. 각 단계에서 AI는 사용자에게 “이 부분에 대해 더 자세히 설명이 필요하신가요?” 라고 물어볼 수 있습니다.

이러한 CDPE 접근 방식의 장점은 다음과 같습니다:

1. 자동 적용: 사용자가 명시적으로 단계적 사고를 요청하지 않아도 AI가 필요성을 판단하여 적용합니다.
2. 맞춤형 설명: 사용자의 이해도와 관심사에 따라 각 단계의 상세도를 조절할 수 있습니다.
3. 투명성: AI의 사고 과정을 명확히 보여줌으로써, 사용자는 결론이 도출된 과정을 이해할 수 있습니다.
4. 학습 효과: 사용자는 복잡한 주제에 대해 체계적으로 접근하는 방법을 배울 수 있습니다.

네, 3.5 섹션을 작성해 드리겠습니다. 기존 프롬프트 엔지니어링과 CDPE의 차이점을 부각시키면서 자연스럽게 설명하겠습니다.

3.5 외부 도구 사용 (Use external tools)

AI 모델은 많은 것을 알고 있지만, 모든 것을 알 수는 없습니다. 특히 실시간 정보, 복잡한 계산, 특정 도메인의 전문 지식 등에 대해서는 한계가 있을 수 있습니다. 이러한 한계를 극복하기 위해 외부 도구를 활용하는 것이 중요합니다.

(기존 프롬프트 엔지니어링)
기존 방식에서는 사용자가 필요한 외부 정보나 도구의 결과를 직접 제공해야 했습니다. 예를 들어:

“다음 정보를 바탕으로 답변해주세요:
현재 비트코인 가격: $34,567
현재 날짜: 2023년 6월 15일
질문: 지난 달 대비 비트코인 가격의 변동률은 얼마인가요?”

이런 식으로 사용자가 필요한 실시간 정보를 직접 찾아 제공해야 했습니다. 이 방법은 정확한 정보를 기반으로 답변을 얻을 수 있다는 장점이 있었지만, 사용자에게 많은 노력과 시간을 요구했습니다.

(CDPE)
CDPE는 이러한 과정을 더욱 자연스럽고 효율적으로 만듭니다. AI 에이전트가 필요한 외부 도구나 정보를 스스로 파악하고 활용할 수 있기 때문입니다.

예를 들어, 사용자가 “현재 비트코인 가격과 지난달 대비 변동률을 알려줘.”라고 요청하면, CDPE 기반의 AI 에이전트는 다음과 같이 대응할 수 있습니다:

1. “네, 이해했습니다. 실시간 비트코인 가격 정보와 지난달 가격을 확인해야 할 것 같습니다. 잠시만 기다려주세요.”

2. AI는 연결된 외부 API나 웹 크롤링 도구를 사용하여 필요한 정보를 수집합니다.

3. “현재 비트코인 가격은 $36,789입니다. 지난달 같은 날의 가격은 $32,450이었습니다. 계산해보면, 지난달 대비 변동률은 약 13.37% 상승했습니다.”

4. “이 정보가 도움이 되셨나요? 혹시 다른 암호화폐의 정보도 필요하신가요?”

이러한 CDPE 접근 방식의 장점은 다음과 같습니다:

1. 실시간 정보 접근: AI가 최신 정보를 실시간으로 가져와 답변할 수 있습니다.
2. 다양한 도구 활용: 계산기, 통계 도구, 그래프 생성기 등 다양한 외부 도구를 AI가 필요에 따라 활용할 수 있습니다.
3. 사용자 편의성: 사용자는 복잡한 정보 수집 과정 없이 간단한 질문만으로 원하는 답변을 얻을 수 있습니다.
4. 정확성 향상: 실시간 데이터와 전문 도구를 활용함으로써 답변의 정확성이 크게 향상됩니다.

CDPE를 통해, 외부 도구의 사용은 더 이상 사용자의 책임이 아닌, AI 스스로 판단하고 적용하는 과정이 됩니다. 이는 더 정확하고 풍부한 정보를 제공하며, 궁극적으로 사용자에게 더 나은 경험을 제공합니다.

About the Author
(주)뉴테크프라임 대표 김현남입니다. 저에 대해 좀 더 알기를 원하시는 분은 아래 링크를 참조하세요. http://www.umlcert.com/kimhn/

Leave a Reply

*