[8기 자녀방] 용어 정리 자동화 사례를 모방하여 Prompt Pattern 정리하기


처음 구요한님의 [8기 프롬프트] 스콧 애덤스 추천 심리학 용어 정리 자동화하기(Few-shot, ReAct, Template 복합적 사용)를 보고 나서 이 방법을 Prompt Engineering BootCamp에서 접한 Prompt Pattern 정리에 적용해 봐야겠다라는 생각을 하고 근 10여일이 지난 오늘에서야 일단락을 지었습니다.

처음 3일 정도 해서 어느 정도 꾸역 꾸역 결과물을 만들기는 했지만, 자동화가 아닌 노가다스러운 수동화 방식도 그렇고 ChatGPT가 정리해 준 내용도 그렇고.. 전체적으로 결과물이 마음에 들지 않은 상태였습니다.

그래서, 잠시 포기 상태로 손 놓고 있었는데.. 그 때 구세주처럼 올라 온 박승현님의 [8기 프리스쿨] 스콧 애덤스 추천 심리학 용어 정리 자동화하기를 모방하여 주로 사용하는 약을 정리해보자를 보고 다시금 도전의 불꽃을 피우게 되었습니다.

박승현님의 사례를 참고해서 구요한님의 사례를 다시 들여다 보면서 깨닫는 정보와 지난 주에 토요일 현장에서 급 수강 신청으로 옵시디언의 세계에 조금 더 들어가서 알게 된 얕은 지식들을 통해서 지난 번 손 놓았던 지점에서 조금 더 나아갈 수 있었던 것 같습니다.

이제 이렇게 정리된 것을 가지고 그 동안 마무리하지 못한 코세라 강의와 논문 공부를 하면서 수정, 보완을 할 예정입니다.

이제 진행 과정에 대해서 하나씩 간단하게 정리해 보겠습니다.


1. 정리할 용어 목록 만들기

참고 논문에 나온 Classifying Prompt Pattern Table의 Prompt Pattern 16개로 목록을 만들었습니다.

### <prompt pattern category>

- [[Alternative Approaches Pattern]]
- [[Cognitive Verifier Pattern]]
- [[Context Manager Pattern]]
- [[Fact Check List Pattern]]
- [[Flipped Interaction Pattern]]
- [[Game Play Pattern]]
- [[Infinite Generation Pattern]]
- [[Meta Language Creation Pattern]]
- [[Output Automater Pattern]]
- [[Persona Pattern]]
- [[Question Refinement Pattern]]
- [[Recipe Pattern]]
- [[Reflection Pattern]]
- [[Refusal Breaker Pattern]]
- [[Template Pattern]]
- [[Visualization Generator Pattern]]


2. 내용 정리할 Example & Template

<Example>  -  "Alternative Approaches Pattern.md"
---
tags :  
     - AlternativeApproachesPattern
     - LLMs
     - PromptEngineering
created : {{date}}
MOC : "[[01. Prompt_Pattern]]"
---
index: [[Knowledge Notes]]

## Alternative Approaches Pattern 

#### 1) 주요 특징
"Alternative Approaches Pattern "은 대화형 AI, 특히 ChatGPT와 같은 대규모 언어 모델(Large Language Models, LLMs)을 사용하여 다양한 문제에 대한 다양한 해결 방법을 탐색하는 데 사용됩니다. 이 패턴은 단일 문제에 대한 여러 해결책을 제시하여 사용자가 최적의 해결책을 선택할 수 있도록 지원합니다. 이러한 패턴은 창의적 사고와 다양한 관점에서 문제를 해결하는 능력을 증진시키는 데 효과적입니다.

#### 2) 실제 예시
예를 들어, 사용자가 "최적의 데이터 압축 방법은 무엇인가요?"라고 질문할 때, 대체 접근 방식 패턴을 사용하는 ChatGPT는 다양한 압축 알고리즘(예: Huffman 코딩, LZW 압축, RLE)에 대한 정보를 제공하며, 각각의 장단점을 설명하여 사용자가 상황에 맞는 최적의 방법을 선택할 수 있도록 합니다.

#### 3) 참고 문헌
- [A Prompt Pattern Catalog to Enhance Prompt Engineering with ChatGPT(White et al., 2023)](https://consensus.app/papers/prompt-pattern-catalog-enhance-prompt-engineering-white/3df6fc9a2add5e67af6d57c99a4e32a6/?utm_source=chatgpt).
- [Reverse Engineering of Design Patterns from Java Source Code(Shi & Olsson, 2006)](https://consensus.app/papers/reverse-engineering-design-patterns-java-source-code-shi/63858d78b3cc56a4aa03a63eac8e9907/?utm_source=chatgpt).

#### 개인 생각(Reflections, Notes)
- 


<Template for markdown files>
---
tags: 
   - tag1 related to the Prompt Pattern
   - tag2 related to the Prompt Pattern
   - tag3 related to the Prompt Pattern
created: {{date}}
MOC: "[[01. Prompt_Pattern]]"
---
index: [[Knowledge Notes]]

## Prompt Pattern (in Korean)

#### 1) 주요 특징
Features of the Prompt Pattern

#### 2) 실제 예시
Examples of the Prompt Pattern

#### 3) 참고 문헌
- 
- 

#### 개인 생각(Reflections, Notes)
- 


3. 우여곡절 끝에 만들어진 누더기 기본 프롬프트

당신은 Prompt Engineering 전문가입니다.
다음의 작업을 진행해 주세요. 
1. Prompt Pattern별로 "A Prompt Pattern Catalog to Enhance Prompt Engineering with ChatGPT(2023)" 논문을 기본으로 하고, 관련된 문헌을 1~2개 찾아 주세요.
2. 다음의 [Prompt Pattern]의 Prompt Pattern에  대해 아래의 [규칙]에 따라  정리할 것.
3. "A Prompt Pattern Catalog to Enhance Prompt Engineering with ChatGPT(2023)"  논문의 내용을 축약하지 말고 정리하고, 그 내용이 부족할 경우 관련 문헌의 내용을 추가하여 정리할 것.  

[Prompt Pattern]
- [[Alternative Approaches Pattern]]
- [[Cognitive Verifier Pattern]]
- [[Context Manager Pattern]]
- [[Fact Check List Pattern]]
- [[Flipped Interaction Pattern]]
- [[Game Play Pattern]]
- [[Infinite Generation Pattern]]
- [[Meta Language Creation Pattern]]
- [[Output Automater Pattern]]
- [[Persona Pattern]]
- [[Question Refinement Pattern]]
- [[Recipe Pattern]]
- [[Reflection Pattern]]
- [[Refusal Breaker Pattern]]
- [[Template Pattern]]
- [[Visualization Generator Pattern]]

[규칙]
- 하나의 용어에 대해 정리되는 내용은 두 개 이상의 문헌을 참고할 것.
- 헤딩은 영어로, 용어는  영어로,본문 내용 정리는 한국어로 작성할 것. 
- 전체 용어들을 길이 제한을 고려해서  1개 씩 정리하고, 진행 여부를 확인할 것. 
- 각각의 Prompt Pattern은  markdown 파일로 바로 다운로드 받을 수 있도록 할 것.
- markdown 파일의 첫 번째 줄 부터 출력할 것. 
- <Example>을 참고해서 <Template>의 구조에 맞춰 정리할 것. 
- 파일명은 언더바(_)를 쓰지 말 것.(단어와 단어 사이는 한 칸 띄어서 쓸 것)
- 본문에 있는 내용을 축약해서 정리하지 말 것. 
- "개인 생각" 부분은 채우지 말 것.


4. ["ResearchGPT"](https://chat.openai.com/g/g-bo0FiWLY7-researchgpt) 에서 진행함.

  • 용어 하나씩 진행했음에도.. 여러가지 난관이 발생하였습니다.

  • 이 작업을 진행하면서 참.. 많은 부분에서 막혔지만, 가장 기억에 남는 부분만을 간략하게 정리하면 다음과 같습니다.

1) markdown 파일로 다운로드 받는 것을 3~5개 용어 단위로 일괄 처리하는 부분 : 열심히 화면 출력하다 에러, 화면 출력 다 해 놓고 파일로 만드는 과정에서 에러.. / 결국 1개 씩 하는 것으로 처리함. 

2) 파일 다운로드 되었다고 했지만, 링크가 연결이 안되어서 다운로드 받을 수 없는 경우 발생 : 결국 화면에 출력된 내용을 copy & paste로 md 파일 직접 만들기로 처리 또는 다운로드 적용될 때까지 다시 실행

3) 용어별로 내용 정리할 때, 용어와 별 상관 없는 내용으로 채워지는 경우 발생 : [A Prompt Pattern Catalog to Enhance Prompt Engineering with ChatGPT(White et al., 2023)] 논문을 첨부로 넣고, 이 논문 내용을 참고하라고 함 / ResearchGPT에서 관련 문서를 검색해서 정리하도록 시킴. 

4) 출력된 md 파일을 옵시디언에 넣었을 때, tags와 MOC 등의 정보가 "Properties"로 적용되지 않는 경우 : md 파일의 첫 번째 행이 비어져 있을 경우에 해당하여, 모든 md 파일을 열어서 첫 번째 행을 삭제.

5) 열심히 작업 하다 "40개 / 3시간" 제한 걸리기 : 다행히 한시적 2계정 사용자라 계정을 번갈아 가며 진행.


5. 최종 결과물

저 멋있는 그래프 뷰 한번 만들어 보겠다고.. ㅎㅎ

[Sample]


  1. 마무리

  • 정말 우여곡절 끝에 마무리를 하고 나서 하나 하나 정리해 놓고 보니, 별 거 없네요.. ㅎㅎ

  • 이제 강의 수강과 논문 공부 할 일만 남아서 홀가분하네요!!

  • 좋은 공부 거리를 주신 구요한님과 그냥 배추 세다가 말 뻔한 일을 끝까지 마무리할 수 있도록 힘을 주신 박승현님께 감사의 말씀을 드립니다~^^


4
2개의 답글

👉 이 게시글도 읽어보세요