안녕하세요. 저는 한글과컴퓨터 인공지능연구개발팀에서 프롬프트 엔지니어로 활동하고 있는 이민재입니다.
최근 생성형 AI 기술이 급속히 발전하면서, 프롬프트 엔지니어링은 AI 활용의 핵심 기술로 자리 잡고 있습니다. 프롬프트 엔지니어링이란 AI에게 명확하고 구체적인 지시를 내려 원하는 결과를 얻어내는 기술로, 다양한 업무 자동화와 복잡한 문제 해결에 필수적인 역할을 합니다. 이러한 기술은 AI를 효과적으로 활용하고자 하는 개발자들에게 반드시 익혀야 할 중요한 도구로 떠오르고 있습니다.
이번 블로그에서는 프롬프트 엔지니어링의 기본 개념부터 필수 구성 요소 및 작성 방법을 설명하고, 나아가 실제 사례를 통해 이를 어떻게 활용할 수 있는지 다루고자 합니다. 특히, “2024 서울 프롬프톤” 대회에 참가했던 경험을 바탕으로, 대회에서 사용된 프롬프트 템플릿과 기법을 공유할 예정입니다.
저와 신유경, 김진주 님은 ‘한글 지킴이’ 팀으로 이번 대회에 참가했으며, 각자 프롬프트 엔지니어와 기획자로서 AI와 협력하여 공공사업 자동화 솔루션을 개발했습니다. 이를 통해 프롬프트 엔지니어링이 어떻게 AI의 성능을 극대화하고, 다양한 실무 환경에서 활용될 수 있는지를 상세히 살펴볼 것입니다.
프롬프트 개념
1. 프롬프트란?
프롬프트는 생성형 AI에 특정 행동을 수행하도록 명확한 지시를 전달하는 입력값입니다. 즉, AI가 원하는 결과를 생성할 수 있도록 자연어로 작성된 명령어라고 할 수 있습니다. 프롬프트는 AI 모델이 사용자의 의도를 이해하고 그에 맞는 결과물을 생성하는 데 핵심적인 역할을 합니다.
프롬프트는 다양한 분야에서 그 개념이 사용되며, 특히 AI와의 상호작용에서 중요한 도구로 자리 잡고 있습니다. 이를 더 깊이 이해하기 위해, 프롬프트의 기본 개념, 컴퓨터 분야에서의 역할, 그리고 생성형 AI에서의 프롬프트에 대해 살펴보겠습니다.
1.1 기본 개념
프롬프트의 기원은 연극이나 TV 쇼에서 진행자의 행동이나 대사를 유도하기 위한 안내 메시지에서 비롯되었습니다. 이러한 프롬프트는 배우들이 대사나 동작을 잊지 않고 원활하게 수행할 수 있도록 돕는 도구였습니다. 이와 유사하게, AI에서도 프롬프트는 AI에 어떤 행동을 수행해야 하는지 지시하는 역할을 합니다. 간단히 말해, 프롬프트는 AI가 주어진 과제를 이해하고 적절하게 실행할 수 있도록 돕는 메시지입니다.
1.2 컴퓨터 분야에서의 프롬프트
프롬프트는 컴퓨터 시스템에서도 오래전부터 사용됐습니다. 특히 CLI(Command Line Interface)에서 많이 볼 수 있는데, 사용자가 명령어를 입력하면 시스템은 그에 맞는 작업을 수행하고 결과를 반환합니다. 이때 프롬프트는 사용자가 시스템과 소통하는 인터페이스 역할을 하며, 명령을 입력할 수 있는 지점(보통 텍스트로 표시된 커서)이기도 합니다. CLI는 단순하면서도 강력한 도구로, 프롬프트를 통해 사용자는 시스템과 직접적으로 상호작용하고 원하는 작업을 수행할 수 있습니다.
또한, 프롬프트는 대화형 챗봇이나 가상 비서와 같은 다양한 인터페이스에서도 사용자와의 상호작용을 가능하게 하는 중요한 도구입니다. 이러한 시스템에서 사용되는 프롬프트는 AI가 사용자 질문에 대한 적절한 응답을 제공하도록 돕습니다.
1.3 생성형 AI에서의 프롬프트
생성형 AI에서 프롬프트는 훨씬 더 중요한 역할을 합니다. AI와 자연어로 소통할 수 있는 창구가 되며, 명령, 지시, 질문, 요청 등을 포함하여 사용자의 의도를 표현하는 중요한 수단입니다. 생성형 AI는 프롬프트를 기반으로 텍스트, 이미지, 음성 등 다양한 형태의 결과물을 생성합니다. 예를 들어, 사용자가 “2023년 경제 성장률에 대한 보고서를 작성해 주세요”라는 프롬프트를 입력하면, AI는 이에 맞는 적절한 보고서를 생성하게 됩니다.
생성형 AI에서 프롬프트는 단순한 입력값 이상의 의미를 가집니다. 정확한 프롬프트 작성은 AI가 사용자 의도에 부합하는 결과를 생성하는 데 중요한 역할을 하며, 프롬프트의 구체성과 명확성이 결과물의 질을 좌우합니다. 명확하고 구체적인 프롬프트는 AI가 정확하고 신뢰할 수 있는 응답을 제공하는 데 중요한 기여를 합니다.
2. 프롬프트의 구성 요소
프롬프트는 AI에 명확한 지시를 내리기 위해 다양한 요소로 구성됩니다. 이러한 구성 요소는 크게 필수 요소와 추가 요소로 나눌 수 있으며, 각각의 요소가 적절히 결합할 때 AI는 더 정확하고 관련성 높은 결과를 생성할 수 있습니다.
2.1 필수 구성 요소
필수 구성 요소는 AI 모델이 올바르게 동작하고, 사용자의 의도에 맞는 응답을 생성하는 데 필수적인 기본 요소입니다.
- Instruction/Task (지시/작업)
- 프롬프트에서 가장 중요한 부분으로, 사용자가 AI에 수행해야 할 작업을 명시적으로 지시하는 부분입니다. 이를 통해 AI는 어떤 종류의 응답을 생성해야 할지 이해하게 됩니다.
- 예시: “다음 텍스트를 번역하세요.” 또는 “주어진 데이터를 분석하세요.”
- 프롬프트에서 가장 중요한 부분으로, 사용자가 AI에 수행해야 할 작업을 명시적으로 지시하는 부분입니다. 이를 통해 AI는 어떤 종류의 응답을 생성해야 할지 이해하게 됩니다.
- Context (문맥/배경 정보)
- AI가 정확한 응답을 생성하기 위해 참고할 수 있는 배경 정보나 상황을 제공합니다. 이 정보를 통해 AI는 응답의 적절성을 높일 수 있으며, 특히 복잡한 작업에서 중요합니다. 문맥은 AI가 처리할 입력 데이터를 더 잘 이해하도록 돕는 배경 설명으로 활용됩니다.
- 예시: “이 텍스트는 뉴스 기사입니다.” 또는 “이 데이터는 2020년의 판매 기록입니다.”
- AI가 정확한 응답을 생성하기 위해 참고할 수 있는 배경 정보나 상황을 제공합니다. 이 정보를 통해 AI는 응답의 적절성을 높일 수 있으며, 특히 복잡한 작업에서 중요합니다. 문맥은 AI가 처리할 입력 데이터를 더 잘 이해하도록 돕는 배경 설명으로 활용됩니다.
- Input Data (입력 데이터)
- AI가 처리해야 할 실제 데이터나 텍스트로, 분석하거나 변환해야 하는 대상을 의미합니다. 이 입력 데이터를 기반으로 AI는 작업을 수행하게 됩니다. 입력 데이터는 AI가 처리해야 할 구체적인 정보이며, AI가 작업을 시작하는 데 필요합니다.
- 예시: 번역할 텍스트, 분석할 데이터, 요약할 문서 등.
- AI가 처리해야 할 실제 데이터나 텍스트로, 분석하거나 변환해야 하는 대상을 의미합니다. 이 입력 데이터를 기반으로 AI는 작업을 수행하게 됩니다. 입력 데이터는 AI가 처리해야 할 구체적인 정보이며, AI가 작업을 시작하는 데 필요합니다.
- Output Indicator/Format (출력 지시/형식)
- AI가 생성할 출력의 형태나 포맷을 명시하는 부분입니다. 모델이 결과를 어떤 형식으로 제공해야 하는지 지시하여, 사용자가 원하는 형태로 결과를 받을 수 있게 돕습니다. 출력 형식이 명확할수록 AI가 적절한 응답을 생성할 가능성이 높아집니다.
- 예시: “번역된 텍스트를 프랑스어로 제공하세요.” 또는 “분석 결과를 표 형식으로 제공하세요.”
- AI가 생성할 출력의 형태나 포맷을 명시하는 부분입니다. 모델이 결과를 어떤 형식으로 제공해야 하는지 지시하여, 사용자가 원하는 형태로 결과를 받을 수 있게 돕습니다. 출력 형식이 명확할수록 AI가 적절한 응답을 생성할 가능성이 높아집니다.
2.2 추가 구성 요소
추가 구성 요소는 AI가 더 정교하고 맥락에 맞는 응답을 생성할 수 있도록 보완하는 역할을 합니다. 필수 요소에 비해 선택적이지만, 이를 통해 프롬프트의 효과성을 크게 높일 수 있습니다.
- Persona (페르소나)
- AI가 특정 역할을 수행하도록 지시하는 부분입니다. 페르소나는 AI가 응답을 생성할 때 따라야 할 특정 캐릭터나 역할을 설정하여, 사용자에게 더 적합한 답변을 제공합니다. 이를 통해 AI의 응답 스타일이나 정보를 특정한 맥락에 맞게 조정할 수 있습니다.
- 예시: “당신은 대학교수입니다.” 또는 “당신은 의료 전문가입니다.”
- AI가 특정 역할을 수행하도록 지시하는 부분입니다. 페르소나는 AI가 응답을 생성할 때 따라야 할 특정 캐릭터나 역할을 설정하여, 사용자에게 더 적합한 답변을 제공합니다. 이를 통해 AI의 응답 스타일이나 정보를 특정한 맥락에 맞게 조정할 수 있습니다.
- Example (예시)
- AI가 더욱 정확한 응답을 생성할 수 있도록 구체적인 예시를 제공합니다. 이 예시는 AI가 작업을 더 잘 이해하고, 사용자가 원하는 방식으로 결과를 생성할 수 있도록 돕습니다. 예시는 AI에 작업을 수행하는 패턴을 보여주기 위한 중요한 요소입니다.
- 예시: “이 텍스트는 뉴스 기사입니다.” 또는 “이 데이터는 2020년의 판매 기록입니다.”
- AI가 더욱 정확한 응답을 생성할 수 있도록 구체적인 예시를 제공합니다. 이 예시는 AI가 작업을 더 잘 이해하고, 사용자가 원하는 방식으로 결과를 생성할 수 있도록 돕습니다. 예시는 AI에 작업을 수행하는 패턴을 보여주기 위한 중요한 요소입니다.
- Tone (어투/스타일)
- AI가 응답을 생성할 때 사용할 어투나 스타일을 지정하는 부분입니다. 이를 통해 AI가 응답할 때 친절한, 전문적인, 또는 캐주얼한 어투를 사용하도록 유도할 수 있습니다. 대화형 AI의 경우, 어투는 사용자 경험에 큰 영향을 미칩니다.
- 예시: “친절한 어투로 답변해 주세요.” 또는 “격식을 갖춘 어투로 작성해 주세요.”
- AI가 응답을 생성할 때 사용할 어투나 스타일을 지정하는 부분입니다. 이를 통해 AI가 응답할 때 친절한, 전문적인, 또는 캐주얼한 어투를 사용하도록 유도할 수 있습니다. 대화형 AI의 경우, 어투는 사용자 경험에 큰 영향을 미칩니다.
✔ 상황에 따른 구성 요소의 변화
프롬프트의 구성 요소는 상황에 따라 변경될 수 있습니다. 예를 들어, 단순한 명령을 수행할 때는 기본적인 지시와 입력 데이터만으로 충분할 수 있지만, 복잡한 작업에서는 문맥, 출력 형식, 그리고 페르소나와 같은 추가 요소가 필요할 수 있습니다. AI가 처리해야 하는 작업의 복잡성, 필요한 응답의 유형, 그리고 사용자의 요구 사항에 따라 프롬프트의 구성 요소는 유동적으로 적용될 수 있으며, 적절한 조합이 AI의 성능을 극대화할 수 있습니다.
3. 프롬프트 작성 순서
프롬프트를 효과적으로 작성하기 위해서는 단계별 접근이 필요합니다. 문제 정의부터 지속적인 개선까지의 일련의 과정은, AI가 올바른 결과를 생성할 수 있도록 프롬프트를 최적화하는 데 도움을 줍니다. 다음은 프롬프트 작성의 주요 단계입니다.
3.1 문제 정의
프롬프트를 작성하기 전, 해결하려는 문제를 명확하게 정의하는 것이 첫 번째 단계입니다. 문제를 명확히 이해하지 못하면, AI에 적절한 지시를 내리기 어렵습니다. 이 단계에서는 문제의 범위와 목적을 명확히 파악하여, AI가 수행해야 할 작업이 무엇인지 결정해야 합니다.
- 예시: “고객 리뷰를 분석하여 주요 키워드를 추출한다”는 문제 정의.
3.2 리소스 이해
문제를 정의한 후에는 문제 해결에 필요한 리소스를 이해해야 합니다. AI가 처리할 데이터를 충분히 이해하고, 해당 데이터를 활용할 수 있는 리소스를 평가하는 단계입니다. 이는 AI에 적절한 입력값을 제공하는 데 중요하며, AI가 문제 해결에 필요한 정보를 충분히 갖추고 있는지 확인하는 과정입니다.
- 예시: 분석할 리뷰 데이터, 관련 메타데이터 등을 이해하고 평가.
3.3 프롬프트 유형 결정
문제의 복잡성, 사용할 수 있는 정보의 양, 그리고 요구되는 기술 수준에 따라 적절한 프롬프트 유형을 결정합니다. 간단한 작업에는 단순한 프롬프트가 적합할 수 있지만, 복잡한 작업에는 세부적인 지시 사항이 포함된 프롬프트가 필요할 수 있습니다. 프롬프트의 구조를 결정하는 이 단계는 AI가 적절하게 작업을 수행하는 데 중요한 역할을 합니다.
- 예시: 간단한 텍스트 변환에는 Zero-shot 프롬프트, 복잡한 문제 해결에는 Chain-of-Thought 프롬프트 등을 선택.
3.4 페르소나 설정
프롬프트 작성 시 AI가 따라야 할 특정 페르소나를 설정하는 단계입니다. 페르소나는 AI가 응답을 생성할 때 특정 역할이나 태도를 유지하도록 도와줍니다. 이를 통해 사용자는 AI가 특정 문체나 어조로 응답하도록 할 수 있으며, 주어진 역할에 맞는 정보를 제공받을 수 있습니다.
- 예시: “당신은 데이터 과학자입니다. 고객 리뷰 데이터를 분석해 주세요.”
3.5 사용 중인 모델 고려
AI 모델마다 장단점이 다릅니다. 사용 중인 AI 모델의 특성을 이해하고, 그 모델의 성능에 맞는 프롬프트를 작성하는 것이 중요합니다. 예를 들어, 특정 AI 모델은 자연어 처리에 강점이 있을 수 있지만, 특정 도메인의 지식에는 약할 수 있습니다. 이 점을 고려하여 프롬프트를 작성해야 AI가 최적의 결과를 도출할 수 있습니다.
- 예시: “이 모델은 긴 문서 처리에 약하니, 문장을 나누어 입력하는 것이 좋겠다.”
3.6 프롬프트 구성
이 단계에서는 AI가 수행해야 할 작업과 그에 필요한 세부 지시 사항을 구성합니다. 작업의 각 단계를 명확하게 정의하고, AI가 어떤 방식으로 작업을 수행해야 할지 자세한 설명을 포함합니다. 프롬프트는 단순하면서도 명확하게 작성해야 하며, AI가 혼동 없이 작업을 수행할 수 있도록 해야 합니다.
- 예시: “다음 고객 리뷰에서 ‘만족’과 관련된 키워드를 추출하고, 긍정적인 리뷰와 부정적인 리뷰를 분류하세요.”
3.7 지속적인 개선
프롬프트는 한 번 작성하고 끝나는 것이 아니라, 지속해서 개선해 나가는 과정이 필요합니다. AI의 응답을 분석하면서 어떤 부분이 부족한지 파악하고, 필요한 부분을 수정하거나 보완하는 작업이 반복됩니다. 이를 통해 프롬프트의 품질을 점진적으로 높이고, AI의 성능을 최적화할 수 있습니다.
- 예시: “초기 결과가 부족한 경우, 프롬프트의 지시 사항을 세분화하거나 추가 정보를 제공하여 개선.”
✔ 프롬프트 작성 순서의 유연한 적용
프롬프트 작성 순서는 기본적으로 문제 정의부터 지속적인 개선까지 단계적으로 진행되지만, 상황에 따라 유연하게 적용할 수 있습니다. 복잡한 문제에서는 리소스를 재평가하거나, 필요에 따라 특정 단계를 건너뛰거나 반복할 수 있습니다. 상황에 맞게 유동적으로 대처하면서 최적의 프롬프트를 작성하는 것이 핵심입니다.
4. 프롬프트 기법
프롬프트 엔지니어링은 다양한 접근 방식을 통해 AI가 더욱 효과적으로 작업을 수행할 수 있도록 돕습니다. 프롬프트 작성 방식에 따라 AI의 응답 품질과 정확도가 크게 달라지기 때문에, 다양한 기법을 적절히 활용하는 것이 중요합니다. 다음은 대표적인 프롬프트 기법들입니다.
4.1 대표적인 프롬프트 기법
- Zero-Shot Prompting
- 설명: 추가적인 예제나 힌트 없이 AI 모델에게 바로 작업을 지시하는 기법입니다. 모델이 별도의 학습이나 예시 없이 주어진 프롬프트만으로 작업을 수행하도록 합니다.
- 사용 상황: 단순한 작업이나, AI 모델이 충분히 학습된 범위 내에서 질문할 때 유용합니다.
- 예시: “다음 문장을 프랑스어로 번역하세요.”
- Few-Shot Prompting
- 설명: 몇 개의 예제(2~3개)를 제공하여 AI가 새로운 작업을 수행하도록 유도하는 기법입니다. 모델에게 예시를 통해 작업의 패턴을 학습시키고, 그 이후에 주어진 작업을 수행하게 합니다.
- 사용 상황: 새로운 작업을 설명할 때 AI가 더 나은 결과를 내도록 도움을 줄 수 있습니다.
- 예시: “예시 1: 고양이는 동물입니다. 예시 2: 강아지도 동물입니다. 다음 문장을 동물로 분류하세요: 말은?”
- Chain-of-Thought (CoT) Prompting
- 설명: 복잡한 문제를 해결하기 위해 AI가 논리적인 사고 과정을 따르도록 유도하는 기법입니다. 문제 해결의 과정을 단계별로 설명하고, 논리적으로 접근하여 답변을 생성하게 합니다.
- 사용 상황: 논리적 추론이 필요한 복잡한 문제를 다룰 때 유용합니다.
- 예시: “사과 3개와 배 2개를 더하면 몇 개인가요? 먼저 사과의 개수를 세고, 다음으로 배의 개수를 세어 더해보세요.”
- Self-Consistency
- 설명: AI에 동일한 문제를 여러 번 추론하게 하고, 가장 일관성 있는 응답을 선택하는 기법입니다. 다양한 결과를 도출한 뒤, 그중 가장 신뢰할 만한 결과를 선택하여 최종 응답으로 제공합니다.
- 사용 상황: 여러 가지 결과가 나올 수 있는 문제에서 신뢰할 수 있는 답을 도출할 때 유용합니다.
- 예시: “다양한 방식으로 수학 문제를 풀고, 가장 일관성 있는 해답을 도출하세요.”
- Generated Knowledge Prompting
- 설명: AI가 사전 지식을 생성하도록 유도한 뒤, 그 생성된 지식을 기반으로 최종 응답을 도출하는 기법입니다. 먼저 AI가 관련 정보를 생성하고, 그 지식을 활용해 최종 결과를 도출하게 됩니다.
- 사용 상황: 지식이 부족한 상황에서, AI가 추가 정보를 만들어 활용하게 할 때에 유용합니다.
- 예시: “유럽의 주요 도시 목록을 생성한 후, 그 도시 중 하나에 대한 설명을 작성하세요.”
- Prompt Chaining
- 설명: 여러 개의 프롬프트를 연쇄적으로 연결하여, 복잡한 작업을 단계별로 해결하는 기법입니다. 각 프롬프트는 이전 프롬프트의 결과를 바탕으로 후속 작업을 수행합니다.
- 사용 상황: 긴 작업을 단계적으로 처리할 때 매우 유용합니다.
- 예시: “먼저 텍스트를 요약하고, 그 요약된 내용을 바탕으로 주요 키워드를 추출하세요.”
- Plan-and-Solve
- 설명: AI가 먼저 문제를 풀기 위한 계획을 세우게 하고, 그 계획에 따라 문제를 해결하도록 유도하는 기법입니다. 이 방식은 복잡한 문제를 풀 때 매우 효과적입니다.
- 사용 상황: 문제를 해결하는 과정이 중요한 상황에서 사용됩니다.
- 예시: “먼저 이 수학 문제를 어떻게 풀지 계획을 세우고, 그 계획에 따라 문제를 풀어보세요.”
- Emotional Stimuli
- 설명: AI가 감정적인 자극을 통해 더 창의적이거나 감성적인 응답을 생성하도록 유도하는 기법입니다. 감정적인 상황을 제시하여 더 인간적인 응답을 얻고자 할 때 사용됩니다.
- 사용 상황: 창의적 글쓰기나 감성적인 콘텐츠 생성에 유용합니다.
- 예시: “이 문장을 더 감동적으로 바꿔 보세요.”
- AI Stimulus
- 설명: AI가 어려운 문제에 직면했을 때, 자극을 주어 문제 해결에 도전하게 하는 기법입니다. 어려운 문제를 풀도록 유도하여 AI가 더 창의적이거나 논리적으로 접근할 수 있게 합니다.
- 사용 상황: 난이도 있는 문제를 풀도록 AI에 자극을 줄 때 사용합니다.
- 예시: “이 문제는 일반 AI 모델이 풀 수 없는 문제입니다. 당신은 도전해 보세요.”
“2024 서울 프롬프톤”에서의 프롬프트 활용 사례
“2024 서울 프롬프톤”에 참가하면서 제가 제안한 아이디어는 공공사업 입찰 담당 공무원의 문서 작업을 자동화하는 것이었습니다. 생성형 AI와 프롬프트 엔지니어링을 활용하여 반복적인 문서 작업의 부담을 줄이고, 업무 효율성을 극대화하는 것을 목표로 했습니다. 이 아이디어는 공공문서 작성과 평가 과정에서 발생하는 시간과 노력을 절감하면서, 동시에 문서 품질과 일관성을 유지하는 데 초점을 맞췄습니다.
1. 아이디어 개요
공공사업 입찰 담당 공무원은 제안요청서 작성과 제안서 평가와 같은 방대한 문서 작업을 자주 수행해야 합니다. 이러한 작업은 표준화된 문서 양식과 규정에 따라 이루어지지만, 대부분 수작업으로 진행되기 때문에 공무원에게 큰 부담이 됩니다.
저는 이 문제를 해결하기 위해 생성형 AI를 활용한 프롬프트 엔지니어링을 제안했습니다. 이 시스템은 제안요청서와 같은 공공문서를 자동으로 생성하고, 제안서 평가 과정을 자동화하여 공무원들이 더 효율적으로 업무를 처리할 수 있도록 돕습니다.
1.1 문제 및 해결
- 문제: 공공사업 입찰 담당 공무원은 반복적인 문서 작업을 처리하는 데 많은 시간과 노력을 들여야 하며, 이는 생산성을 저하할 수 있습니다. 제안요청서를 작성하고 평가하는 작업은 복잡하고 시간이 많이 소요됩니다.
- 해결: 프롬프트 엔지니어링을 적용한 AI는 제안요청서 작성과 평가를 자동화하여, 공무원의 업무 부담을 줄일 수 있습니다. AI는 입력된 정보를 바탕으로 제안요청서를 자동으로 생성하고, 정해진 평가 기준에 따라 제안서를 평가합니다. 이를 통해 문서 작성과 평가 과정에서 걸리는 시간을 크게 절감할 수 있습니다.
1.2 핵심 기능
- 제안요청서 자동 생성: AI를 활용하여 제안요청서 초안을 자동 생성함으로써, 담당 공무원의 문서 작성 부담을 줄이고 시간을 절약할 수 있습니다.
- 제안서 자동 평가: AI를 활용하여 제안서를 자동으로 평가함으로써, 객관적인 평가 기준을 확립하고 평가 시간을 단축할 수 있습니다.
1.3 기대 효과
이 아이디어는 공공 행정에서의 문서 작업을 자동화함으로써 여러 가지 긍정적인 효과를 기대할 수 있습니다.
- 업무 효율 향상: AI가 반복적인 문서 작업을 대신 처리함으로써, 공무원은 더 중요한 업무에 집중할 수 있습니다.
- 빠른 문서 작성: 공무원이 제공한 간단한 입력값을 기반으로 AI가 자동으로 제안요청서를 작성하므로, 문서 작성 속도가 크게 향상됩니다.
- 평가 기준 표준화: AI는 정해진 기준에 따라 일관성 있게 제안서를 평가하므로, 평가 결과의 신뢰성과 객관성을 높일 수 있습니다.
- 기존 문서 활용: 이전에 작성된 문서를 활용하여, 유사한 프로젝트나 상황에서 더욱 빠르게 문서를 작성할 수 있습니다. 이를 통해 업무의 반복성을 줄이고, 문서 재사용성을 극대화할 수 있습니다.
2. 프롬프트 기획
위에서 설명한 아이디어를 기반으로, 제안요청서 작성과 제안서 평가를 자동화하기 위한 구체적인 프롬프트 템플릿을 설계했습니다. 이 템플릿은 AI가 실질적인 공공문서 작업을 빠르고 효율적으로 수행할 수 있도록 돕기 위해 체계적으로 구성되었습니다. 각각의 템플릿은 업무의 흐름에 맞춰, 필수 입력값과 표준화된 평가 기준을 반영하여 설계되었습니다.
2.1 제안요청서 작성을 위한 프롬프트 템플릿
제안요청서 작성은 공공사업 입찰의 핵심 단계로, 많은 정보와 정교한 문서 작성이 필요합니다. 이를 자동화하기 위해, 표준화된 목차를 바탕으로 AI가 자동으로 작성할 수 있는 항목들을 선정했습니다.
- AI 생성 항목 선정: 제안요청서의 표준 목차를 분석하여, AI가 자동으로 작성할 수 있는 항목들을 선정했습니다. 사업 유형별 표준 문서를 바탕으로 작성되며, 반복적으로 등장하는 문구나 패턴을 AI가 학습할 수 있도록 설계되었습니다.
- 필수 입력값 정의: 제안요청서를 작성하는 데 필요한 필수 입력값은 사업명, 사업의 주제, 참고 문서 등으로 정의되었습니다. 사용자가 입력한 정보를 바탕으로 AI는 문서를 자동으로 생성합니다.
- 프롬프트 가이드 수립: AI가 일관성 있고 정확한 문서를 작성할 수 있도록, 항목별로 문서 작성 가이드를 제공했습니다. 이는 문체 가이드, 서식 가이드, 분류 방법 등을 포함하며, AI가 일정한 기준에 따라 문서를 작성할 수 있도록 지원합니다.
2.2 입찰제안서 평가를 위한 프롬프트 템플릿
입찰 제안서 평가 과정은 제안서를 작성하는 것만큼이나 중요합니다. 이를 효율적으로 처리하기 위해, 정량적 평가와 정성적 평가 항목을 기반으로 AI가 평가를 자동화할 수 있도록 템플릿을 설계했습니다.
- 정량적 평가 기준: AI는 매출액, 참여 인력 등과 같은 객관적인 정보를 바탕으로 입찰 참가 자격을 검토할 수 있습니다. 이를 통해 AI는 데이터를 기반으로 빠르고 정확한 평가를 수행합니다.
- 정성적 평가 기준: AI는 제안 내용의 적합성, 창의성 등 정성적인 요소도 평가할 수 있도록 설정되었습니다. 평가 기준은 명확한 가이드라인을 통해 제공되며, 이를 바탕으로 AI는 제안서가 요구 사항을 얼마나 충족하는지 평가하게 됩니다.
2. 프롬프트 템플릿 개발
2.1 구성 및 아키텍처
아키텍처는 사용자로부터 제공받은 입력 데이터를 바탕으로 제안요청서의 각 목차를 순차적으로 작성하고, 앞서 작성된 목차의 결과물을 다음 목차 생성에 활용할 수 있도록 설계되었습니다. 이를 통해 AI가 문서 전체의 흐름을 이해하고, 문서가 자연스럽게 일관되게 이어질 수 있도록 돕습니다.
- 사용자 입력 정보 기반 작성: 사용자로부터 제공된 사업명, 사업의 주제, 참고 문서 등 필수 입력값을 토대로 AI는 제안요청서의 각 항목을 자동으로 작성합니다. 이를 통해 문서의 작성 시간이 크게 절감되고, 정확성 또한 높아집니다.
- 프롬프트 템플릿 구성: 목차별로 Persona, Instruction, Output Indicator를 포함한 프롬프트 템플릿을 활용하여 AI가 각 목차의 내용을 생성합니다. 예를 들어, 사업 개요는 사업명과 주제를 바탕으로 자동 생성되며, 다음 단계인 현황 및 문제점 항목은 앞서 작성된 내용을 기반으로 작성됩니다.
- 자연스러운 연결성: 각 목차의 생성 결과물은 다음 목차로 자연스럽게 이어지며, AI는 전체 문서의 흐름을 파악하고 이를 반영합니다. 예를 들어, 사업 추진 방안은 사업 개요와 현황 및 문제점에서 도출된 내용을 바탕으로 작성됩니다. 이렇게 설계된 아키텍처는 문서가 일관성을 유지하면서도 논리적으로 연결될 수 있도록 돕습니다.
2.2 전체 프롬프트 리스트
위 이미지는 “2024 서울 프롬프톤”에서 제안요청서 작성 및 제안서 평가를 자동화하기 위해 설계된 프롬프트 템플릿의 전체 리스트입니다. 각 템플릿은 제안요청서와 제안서 평가 과정에서 필요한 항목들을 자동으로 생성하기 위해 고안되었습니다.
3. 프롬프트 템플릿 주요 항목 설명
3.1 제안요청서 생성 프롬프트
3.1.1 사업 분류 프롬프트
이 프롬프트는 제안요청서를 자동으로 분류하는 데 사용됩니다. AI는 사용자로부터 입력받은 사업명, 주관기관명, 사업계획서 등의 정보를 기반으로, 제안요청서가 속하는 사업 유형을 자동으로 분류하고 그에 따른 설명을 제공합니다.
3.1.2 문제점 및 해결 방안 프롬프트
이 프롬프트는 문제점(AS-IS)과 개선 방향(TO-BE)을 표 형식으로 자동 작성합니다. AI는 프로젝트의 현황과 문제점을 분석하고, 그에 따른 해결 방안을 제시합니다. 각각의 문제점과 해결 방안은 구체적인 출력 형식에 맞춰 세부적으로 작성됩니다.
3.1.3 기대 효과 프롬프트
이 프롬프트는 제안요청서의 정성적 및 정량적 기대 효과를 자동으로 작성합니다. AI는 각각의 효과를 분류하고, 세부 내용은 명확한 규칙에 따라 작성되도록 설정됩니다.
3.1.4 요구 사항 목록표 프롬프트
제안요청서의 요구 사항 목록을 자동으로 생성하는 프롬프트입니다. AI는 사업 유형에 맞는 요구 사항을 나열하고, 서비스 항목 및 요구 사항 번호 등을 표 형식으로 작성합니다. 이 목록표는 제안서에서 필요한 항목들을 명확하게 기술하기 위한 중요한 요소입니다.
3.2 제안서 평가 프롬프트
3.2.1 정성 평가 프롬프트
이 프롬프트는 정성적 평가를 위한 것으로, AI는 제안서의 적합성, 창의성, 시스템 구성의 적절성 등을 평가합니다. 이를 통해 제안서의 정성적인 요소를 평가하고, 평가 결과는 세 명의 전문가 패널 역할을 수행하여 자동으로 도출됩니다.
마치며
프롬프트 엔지니어링은 AI를 효과적으로 활용하는 데 중요한 역할을 합니다. 이번 블로그에서는 그 개념부터 작성 방법까지, 그리고 프롬프트가 얼마나 중요한지 살펴보았습니다. 간단한 지시로 시작하지만, 제대로 된 프롬프트는 AI의 성능에 크게 영향을 미칩니다.
프롬프트를 잘 구성하면 업무 자동화는 물론, 복잡한 문제 해결에도 큰 도움이 됩니다. 이 블로그를 참고해 다양한 상황에서 프롬프트를 활용해 보세요.
앞으로 AI와 함께 일하는 방법이 점점 더 흥미로워질 겁니다. 감사합니다!