손에 잡히는 인공지능
그동안 프롬프트 엔지니어링 원칙 26가지를 직접 실험해본 연작 칼럼을 약 6개월간 연재하였다. 원칙을 사용했을 때와 원칙을 사용하지 않을 때의 결과를 비교해 보면 정확도와 품질 면에서 모두 상당 부분 개선되었다는 것을 직접 경험해 볼 수 있었다.
개별 원칙 실험에 대한 연작 칼럼에 이어 이번에는 각 분야별로 질문에 이러한 원칙들 중 최적의 원칙들을 복합 적용하여 프롬프트 황금키를 만들어 보고자 한다. 실험의 정확성을 높이기 위해 다양한 분야의 질문 예시를 만들어 그 질문들에 최적화된 원칙들을 찾고, 그 원칙들이 모두 적용된 프롬프트를 만들어 초기 예시 질문과 비교하여 정확성과 품질을 비교해보았다.
실험의 주목적을 미리 이야기 하자면 전문가가 아닌 일반 AI 사용자가 복잡하게 머리를 쓰지 않고도 단순한 몇 단계의 질문만 하면 최고 품질의 답을 구할 수 있는 프롬프트를 얻어서 생활이나 실무에 사용할 수 있게 하자는 것이다. 이를 위해 ChatGPT의 GPT Store에 그동안 내가 분석하고 연구한 자료들을 모두 적용하여 “프롬프트 엔지니어링 황금키”라는 GPTs를 만들어 미리 공개해 놓았다. ChatGPT 무료 사용자들도 언제든지 사용해 볼 수 있으니 직접 사용해 보길 권한다.
그리고 이번 실험들에 사용할 다양한 질문들을 어떻게 선별할까 고민하다가 현재 AI 언어모델의 성능을 평가하는 벤치마크 데이터 세트 중 가장 우수한 평가를 받고 있는 MMLU-Pro(Multitask Language Understanding-Pro)에서 사용된 14개 분야에서 질문들을 만들어 사용하기로 결정하였다. 사용된 14개 분야는 아래와 같다. 참고로 이 분야들은 다른 벤치마크 데이터 세트에서도 몇 가지 항목만 차이가 있고 대체로 유사한 분야들을 사용한다.
1. 수학
2. 물리학
3. 화학
4. 법학
5. 공학
6. 인문사회 과학
7. 경제학
8. 보건학
9. 심리학
10. 비즈니스
11. 생물학
12. 철학
13. 컴퓨터 과학
14. 역사학
이 분야들에서 차례로 분석하다보면 일반 AI 사용자들이 자주 사용하는 분야인 콘텐츠 제작, 기획안 작성, 제안서 작성, 업무 자동화, 언어학습, 코딩, 생산성 향상, 데이터 분석등과 같은 실무적인 질문에도 좋은 참조가 될 것이라고 확신한다.
정도의 차이는 있겠으나 프롬프트 원칙들에 대한 효과는 이미 입증되었으니 이번 연작 칼럼에서는 이것을 좀 더 효율적으로 사용할 수 있도록 고민해보려고 한다.
실험에 앞서 그동안 연작했던 프롬프트 원칙 26가지를 다시 한 번 재정리해 보고자 한다. 이전에 사용했던 원칙들 중 몇몇은 그 자체만으로는 이해가 어려울 수 있다는 생각에 좀 더 이해하기 쉽게 재정리 해보았다. 하지만 몇 가지는 여전히 원칙 자체의 표현만으로는 이해하기가 어렵다는 것을 인정하지 않을 수 없다. 각 원칙들의 상세한 설명들은 이전 칼럼들을 참조하면 잘 이해되리라 생각된다.
1. 공손한 표현 생략
2. 청중 통합
3. 복잡한 작업 세분화
4. 긍정 지시문 사용
5. 간단한 설명 요청
6. 팁 제공
7. 예제 중심 프롬프트
8. 지시, 예시, 질문 형식화
9. 임무 설정
10. 불이익 경고
11. 인간적인 응답 요청
12. 단계별 사고 유도
13. 편견 없는 답변 요청
14. 추가 질문 유도
15. 학습 테스트 요청
16. 페르소나 부여
17. 구분 기호 사용
18. 특정 단어 반복
19. CoT 와 퓨샷 복합사용
20. 출력 프라이머 사용
21. 에세이/텍스트 작성 요청
22. 스타일 유지 요청
23. 파일 간 코딩 프롬프트
24. 특정 단어로 시작/계속
25. 명확한 요구 사항 설정
26. 샘플과 유사한 텍스트 작성 요청
이번 복합 원칙 적용 실험의 첫 번째 순서로는 위에 나열한 분야에서 가장 먼저 나온 수학 분야부터 시작해보자.
우선 GPTs에서 사용할 프롬프트 황금키를 공개한다. 이것은 앞으로 다룰 전 분야에 공통적으로 사용할 수 있는 황금키이니 꼭 기억하길 부탁드린다. 먼저 내가 미리 만들어 놓은 ChactGPT 사이트의 GPT Store에서 “프롬프트 엔지니어링 황금키”를 찾아서 들어간다. 다음에 아래와 같이 입력한다.
“[원하는 작업의 간단한 질문]에 대한 황금키를 제공하라.”
이렇게 하면 26가지의 프롬프트 원칙 중 해당 분야의 질문에 적절한 원칙들이 나열되고 그것들이 복합적으로 적용된 프롬프트 황금키를 제공해 줄 것이다. 물론 이를 위해 사용자는 원하는 작업의 간단한 질문을 미리 작성해 놓아야 한다. 이렇게 제공받은 황금키를 이용해 프롬프팅을 하면 그 결과가 탁월하게 좋을 것임을 확신한다.
이제 본격적인 실험에 들어가 보자.
수학 분야 질문: 미분방정식 y'' + 4y = sin(2x)의 일반해를 구하시오.
GPTs에 입력할 황금키;
“[미분방정식 y'' + 4y = sin(2x)의 일반해를 구하시오]에 대한 황금키를 제공하라.”
GPTs 답;
주어진 질문에 대한 프롬프트를 생성하기 위해서는 미분방정식의 해법을 명확하고 단계적으로 설명하는 것이 중요합니다. 이에 따라 황금키를 설계해 보겠습니다.
적용할 프롬프트 원칙:
단계별 사고 유도 (원칙 12) - 복잡한 문제를 해결하기 위해 단계별 설명이 필요합니다.
복잡한 작업 세분화 (원칙 3) - 미분방정식의 해법을 풀이 과정에 따라 나눕니다.
예제 중심 프롬프트 (원칙 7) - 예시를 통해 문제 해결 방법을 제시합니다.
구분 기호 사용 (원칙 17) - 각 단계를 구분하고 논리적 흐름을 명확히 합니다.
긍정 지시문 사용 (원칙 4) - 문제 해결을 위한 명령을 긍정적으로 전달합니다.
황금키 프롬프트:
### 지침 ###
당신의 임무는 이차 미분방정식 \(y'' + 4y = \sin(2x)\)의 일반해를 구하는 것입니다. 이 문제를 단계별로 풀어야 하며, 각 단계에서 필요한 수학적 개념을 간단하게 설명하세요.
### 예제 ###
1. 먼저, **동차 해**를 구하십시오. 동차 방정식 \(y'' + 4y = 0\)을 풀고, 그 해를 구하는 과정을 설명하십시오.
2. 다음으로, **특수 해**를 구하세요. 비동차 항 \( \sin(2x) \)에 대해 특수 해를 구하는 방법을 설명하고 계산을 보여 주세요.
3. 마지막으로, **일반해**를 구하세요. 동차 해와 특수 해를 결합하여 문제의 최종 일반해를 도출하세요.
4. 필요한 경우 상수 \(C_1, C_2\)를 포함하는 형태로 일반해를 표현하세요.
### 질문 ###
각 단계의 답을 차례대로 설명해 주세요.
우리는 위 프롬프트를 그대로 복사하여 ChatGPT에 프롬프팅을 하면된다.
실험 결과를 분석한 표와 바차트는 아래와 같고, [원칙 미적용 결과]와 [원칙 적용 결과]도 이어서 첨부한다.
위 분석은
- 정보의 정확성,
- 구조화된 정보 제공,
- 이해하기 쉬운 언어 사용,
- 예시/비유 활용,
- 전문성
에서 원칙 적용 전후의 개선율을 비교한 것이다. 원칙 적용 후 전 부문에서 월등한 개선이 이루어 졌다는 것을 알 수 있다. 이것이 바로 ”프롬프트 엔지니어링 황금키” GPTs를 적극적으로 사용해야할 큰 이유이다
[원칙 미적용 결과]
주어진 미분방정식은
\[y'' + 4y = \sin(2x)\]입니다. 이 방정식은 비제차 선형 미분방정식입니다. 일반해는 동차해와 특수해의 합으로 구할 수 있습니다.
### 1. 동차 방정식의 해
먼저 동차 방정식
\[y'' + 4y = 0\]을 풀어보겠습니다. 특성방정식은\[r^2 + 4 = 0\]이므로, 이를 풀면
\[r^2 = -4 \quad \Rightarrow \quad r = \pm 2i\]
따라서 동차 방정식의 해는
\[y_h(x) = c_1 \cos(2x) + c_2 \sin(2x)\]입니다.
### 2. 특수해 구하기
비제차항이 \(\sin(2x)\)이므로, 특수해는 동차해의 형태와 유사하지 않은 형태를 찾아야 합니다. 여기서는 \(\sin(2x)\)와 \(\cos(2x)\)가 이미 동차해에 포함되어 있으므로, 특수해를 다음과 같이 설정합니다:
\[y_p(x) = x(A \cos(2x) + B \sin(2x))\]
이제 \(y_p(x)\)를 미분하여 \(y''_p(x)\)를 구하고, 이를 원래 미분방정식에 대입합니다.
먼저 \(y_p(x)\)의 1차 미분은
\[y'_p(x) = A \cos(2x) + B \sin(2x) - 2x(A \sin(2x) - B \cos(2x))\]입니다. 이제 2차 미분은 \[y''_p(x) = -4A \cos(2x) - 4B \sin(2x) - 4x(A \sin(2x) - B \cos(2x))\]입니다. 이를 원래 방정식 \(y'' + 4y = \sin(2x)\)에 대입하면:
\[-4A \cos(2x) - 4B \sin(2x) - 4x(A \sin(2x) - B \cos(2x)) + 4(x(A \cos(2x) + B \sin(2x))) = \sin(2x)\]
복잡해 보이지만, \(A\)와 \(B\)의 값을 비교하여 풀면, \(A = 0\)이고 \(B = -\frac{1}{4}\)임을 알 수 있습니다.
따라서 특수해는 \[y_p(x) = -\frac{1}{4}x \sin(2x)\]입니다.
### 3. 일반해
일반해는 동차해와 특수해의 합으로 주어집니다:
\[y(x) = c_1 \cos(2x) + c_2 \sin(2x) - \frac{1}{4}x \sin(2x)\]
따라서 이 미분방정식의 일반해는
\[y(x) = c_1 \cos(2x) + \left( c_2 - \frac{1}{4}x \right) \sin(2x)\]입니다.
[원칙 적용 결과]
미분방정식 \( y'' + 4y = \sin(2x) \)의 일반해를 구하기 위해 문제를 단계별로 풀어보겠습니다.
### 1. 동차 방정식의 일반해 구하기
먼저, 동차 방정식 \( y'' + 4y = 0 \)을 풉니다.
이 방정식의 특성 방정식을 구하기 위해, \( y = e^{rx} \)라는 해를 가정합니다. 이를 방정식에 대입하면:
\[r^2 e^{rx} + 4e^{rx} = 0\]
\[e^{rx}(r^2 + 4) = 0\]
따라서 특성 방정식은:
\[r^2 + 4 = 0\]
이 방정식을 풀면:
\[r^2 = -4 \quad \Rightarrow \quad r = \pm 2i\]
이는 두 개의 허수 근 \( r = 2i \)와 \( r = -2i \)를 가지므로, 동차 방정식의 일반해는 다음과 같습니다:
\[y_h = C_1 \cos(2x) + C_2 \sin(2x)\]
### 2. 비동차 부분에 대한 특수해 구하기
비동차 방정식은 \( y'' + 4y = \sin(2x) \)이므로, \( \sin(2x) \)에 대한 특수해를 찾아야 합니다. 이 경우, 우변이 \( \sin(2x) \)이므로, 특수해를 \( y_p = Ax \cos(2x) + Bx \sin(2x) \)와 같은 형태로 가정합니다. 여기서 \( A \)와 \( B \)는 미정계수법을 사용하여 구할 상수입니다.
이제, 이 가정한 해를 미분하여 비동차 방정식에 대입해 봅시다.
먼저, \( y_p \)의 1차 미분은:
\[y_p' = A \cos(2x) - 2Ax \sin(2x) + B \sin(2x) + 2Bx \cos(2x)\]
그리고 2차 미분은:
\[y_p'' = -4A \sin(2x) - 4Ax \cos(2x) - 4B \cos(2x) + 4Bx \sin(2x)\]
이제, 이 \( y_p \)와 \( y_p'' \)를 원래 방정식 \( y'' + 4y = \sin(2x) \)에 대입하면:
\[(-4A \sin(2x) - 4Ax \cos(2x) - 4B \cos(2x) + 4Bx \sin(2x)) + 4(Ax \cos(2x) + Bx \sin(2x)) = \sin(2x)\]
이를 정리하면:
\[-4A \sin(2x) - 4B \cos(2x) = \sin(2x)\]
여기서 \( x \)와 관련된 항은 사라지므로, 우리는 \( \sin(2x) \)와 \( \cos(2x) \)의 계수를 비교할 수 있습니다.
\[-4A = 1 \quad \Rightarrow \quad A = -\frac{1}{4}\]
\[-4B = 0 \quad \Rightarrow \quad B = 0\]
따라서 특수해는:
\[y_p = -\frac{1}{4}x \cos(2x)\]
### 3. 일반해 구하기
이제 동차 방정식의 일반해 \( y_h \)와 비동차 방정식의 특수해 \( y_p \)를 합쳐서, 전체 방정식의 일반해는 다음과 같습니다:
\[y = y_h + y_p = C_1 \cos(2x) + C_2 \sin(2x) - \frac{1}{4}x \cos(2x)\]
따라서 주어진 미분방정식의 **최종 일반해**는:
\[y = C_1 \cos(2x) + C_2 \sin(2x) - \frac{1}{4}x \cos(2x)\]
| 작가 프로필
이용호 작가는 스마트공장에서 주로 사용되는 ‘AI 머신비전’ 전문회사인 ‘호연지재’를 경영하고 있으면서 다양한 분야에 관심이 많아 SKT ifland와 SBA 크리에이티브 포스 인플루언서로 활동하고 있다. 특히 ‘머신비전’에서 인공지능 딥러닝에 의한 영상처리기술을 자주 적용하다보니 10년 이상 연구한 AI 분야에 대해서도 해박한 지식을 가지고 있다.
칼럼니스트는 메타버스 이프랜드에서 정기적으로 “인공지능관련 새로운 소식과 기술”을 상세히 전하는 ‘호몽캠프’를 110회 이상 꾸준히 진행하였다.
주요 강의 분야는 “챗GPT 시대 생산성을 300% 높여주는 인공지능”, “머신비전에서의 인공지능 활용”, “손에 잡히는 인공지능”, “스마트폰 AI 활용하기”, “시니어와 MZ세대간의 소통”등이 있으며, 저서로는 『손에 잡히는 인공지능』, 『나는 시니어 인플루언서다』가 있다.