4 minute read

AI 시대가 본격적으로 열리면서, 매일 새로운 기술과 정보가 쏟아져 따라가기조차 벅찰 정도입니다. 한때 대학원 진학을 고민하기도 했지만, 기술의 발전 속도가 내가 2년 동안 공부하는 것보다 더 빠를 것 같다는 판단에 빠르게 접고, ‘잘 활용하는 사람이 되자’라고 결심한 지 1년이 되었습니다.

현재 LLM(대형 언어 모델) 시장에서는 모델 간 경쟁이 치열하게 펼쳐지며 성능 순위가 끊임없이 바뀌고 있습니다. 이런 상황에서 조금이라도 더 최신 모델을 사용하기 위해 계속 서비스를 바꾸기보다는, 하나의 서비스를 선택해 그 안에서 어떻게 최적화해 활용할지에 집중하기로 했습니다.

LLM을 효과적으로 사용하려면 결국 프롬프트 작성이 핵심이며, 반복되는 작업에서는 동일한 프롬프트를 계속 활용하게 됩니다. 그렇다면 프롬프트를 메모장에 저장해두고 필요할 때마다 검색해 복사하는 대신, 언제든 즉시 활용할 수 있도록 체계적으로 관리하는 것이 더 효율적일 것입니다.

이에 따라, 효과적으로 프롬프트를 관리하고 활용할 수 있는 세 가지 방법을 정리해 보았습니다. 이 글은 Jeff Su의 비디오에서 영감을 얻어 작성되었음을 밝힙니다.

일반적인 프롬프트는 snippet으로 작성.Permalink

특정 프로젝트나 일정과 상관없이 자주 사용하는 프롬프트가 있습니다. 이런 프롬프트는 언제든 빠르게 활용할 수 있도록 Snippet으로 만들어 두는 것이 편리합니다. Mac 사용자라면 전통적으로 Alfred를 많이 사용하지만, 저는 Raycast를 사용하고 있어 Snippet 기능을 활용해 관리하고 있습니다. 등록할 때는 일상적인 단어와 겹치지 않도록 prompt-기능명 또는 chatgpt-기능처럼 충분히 길면서도 기억하기 쉬운 형태로 정리하는 것이 중요합니다.

1. JD 분석을 위한 프롬프트 저장하기Permalink

예를 들어, 저는 최근 캐나다 기업의 JD를 분석하고, 이에 맞춰 Resume 수정, 면접 질문 생성, 경험을 STAR 포맷으로 정리하는 작업을 반복하고 있습니다. 이때 chatgpt-gd라는 키워드를 입력하면 다음과 같은 문장이 자동으로 완성되도록 설정했습니다.

You’re a seasoned hiring manager with over 20 years of experience. You are responsible for this job posting. Highlight the 3 most important responsibilities in this job description:

그 후 JD를 붙여넣으면, ChatGPT가 JD의 핵심 내용을 빠르게 분석할 수 있도록 도와줍니다.

2. 개발 업무에서의 Snippet 활용Permalink

개발 관련 작업에서도 Snippet은 유용하게 활용할 수 있습니다. 예를 들어, curl 명령어 생성이 대표적인 사례입니다. 로컬 환경에서는 HTTPie 같은 편리한 툴을 사용할 수 있지만, 원격 서버에서는 이러한 도구를 설치하는 것이 어렵거나 불가능한 경우가 많습니다. 이럴 때는 curl 명령어를 직접 사용해야 하지만, API가 복잡할수록 명령어가 길어져 수동으로 입력하기 쉽지 않습니다.

보통은 Postman에서 테스트한 후 자동 생성된 curl 명령어를 복사해 사용하겠지만, 이를 더 간편하게 처리하기 위해 ChatGPT에 API 스펙을 입력하면 해당 요청에 맞는 curl 명령어를 생성해주는 프롬프트를 Snippet으로 저장해 두는 방법이 있습니다. 필요한 순간 Snippet을 호출한 후 API 문서를 입력하면, 자동으로 적절한 curl 명령어가 생성되므로 작업 속도를 크게 단축할 수 있습니다.

이처럼 반복적으로 사용하는 대부분의 프롬프트는 Snippet에 저장할 수 있습니다. 더 나아가, 이 글에서 앞으로 소개할 다른 프롬프트 관리 방법과 결합하여 활용할 수도 있습니다. 예를 들어, 전체 프롬프트를 따로 저장하는 대신, Snippet 키워드만 기록해 두고 필요할 때 즉시 호출하는 방식을 적용하면 더욱 효율적인 워크플로우를 만들 수 있습니다.

반복되는 스케쥴과 관련된 프롬프트는 일정 본문에 추가하기Permalink

1. 반복되는 업무를 캘린더와 연계하여 관리하기Permalink

시간과 연계되어 반복되는 업무에 사용하는 프롬프트라면, 캘린더 일정과 함께 저장해 두는 방법이 효과적입니다. 예를 들어, 매주 주간회의가 있거나 월 1회 매니저와 1:1 미팅이 있는 팀이라면, 회의에서 자신의 업무를 공유하는 것이 필수적입니다. 평소에 업무를 따로 기록하고 있다면, 이를 요약해 공유 문서 등에 미리 정리해 두면 회의 준비 시간을 줄일 수 있습니다. 이때, 프롬프트를 활용해 요약 작업을 자동화할 수 있습니다.

가장 간단한 방법은, 주간회의나 1:1 미팅을 준비하는 타임 블록을 캘린더에 등록하면서, 본문에 프롬프트를 함께 저장하는 것입니다. 예를 들어, 회의 전 10분을 ‘준비 시간’으로 예약하고, 일정 본문에 프롬프트를 추가해 둔다면, 그 시간에 바로 프롬프트를 실행해 신속하게 준비를 마칠 수 있습니다. (단, 회의 일정이 변경될 경우, 이 타임 블록도 함께 조정해야겠죠.)

2. 퍼포먼스 리뷰 준비 일정에 프롬프트 저장하기Permalink

또 다른 아이디어는 분기별 또는 반년마다 진행하는 퍼포먼스 리뷰에 적용하는 것입니다. 퍼포먼스 리뷰는 보통 특정 기간 동안의 성과를 정리해야 하며, 미리 시간을 두고 준비하는 것이 중요합니다. 개인적으로, 저는 항상 ‘내가 한 일을 어떻게 수치화할 수 있을까?’라는 고민을 해왔습니다. 이를 해결하기 위해, 자신의 업무 내용을 입력하면 이를 정량적인 지표로 변환할 수 있는 아이디어를 제공하는 프롬프트를 만들어 두었습니다.

이 프롬프트를 활용하는 가장 좋은 방법은, 퍼포먼스 리뷰를 작성하기 시작하는 시점에 캘린더 일정으로 등록하는 것입니다. 이렇게 하면, 1️. 퍼포먼스 리뷰를 시작해야 한다는 리마인더 역할을 하고, 2️. 동시에 액션 아이템(프롬프트 실행 → 성과 수치화)으로 활용할 수 있습니다.

이처럼 캘린더 일정과 프롬프트를 연계하면, 반복적인 업무 준비 시간을 줄이고 보다 체계적으로 작업을 진행할 수 있습니다.

특정 프로젝트에서 쓰이는 프롬프트는 파일로 관리하기Permalink

특정 프로젝트에서 자주 사용하는 프롬프트라면, 프로젝트 내부에 별도 파일을 만들어 관리하고, .gitignore에 등록해 커밋되지 않도록 설정하는 것도 한 가지 방법입니다.

저는 IntelliJ에서 .http 파일을 사용해 본 이후로, API 테스트에 필요한 명령어나 자주 사용하는 SQL문을 파일로 만들어 관리하고, .gitignore에 추가해 저장해두곤 했습니다. 개발자로서 특정 코드베이스와 관련된 작업을 할 때 해당 프로젝트를 IDE에서 열어두는 것은 자연스러운 흐름이고, 프롬프트를 함께 저장해두면 필요할 때 바로 꺼내 쓸 수 있습니다.

1. 반복되는 DML 작업 자동화를 위한 프롬프트Permalink

업무를 하다 보면 대량의 데이터를 수정하는 DML 문을 작성해야 하는 경우가 자주 발생합니다. 예를 들어, 직구 관련 코드를 담당하는데, 비행기 정보를 수정해야 한다고 가정해 봅시다. 몇백 건의 배송 정보에 대해 항공편명을 일괄 업데이트해야 한다면, 과거의 저는 대상 리스트가 정리된 Excel 파일을 받아 CONCAT 같은 매크로를 활용해 UPDATE 쿼리를 생성했을 것입니다. 이런 작업은 일정 시간이 지나면 다시 반복되고, 요청도 동일한 포맷의 Excel 파일과 함께 들어오는 경우가 많습니다.

이러한 반복적인 작업을 효율적으로 처리하려면, 테이블의 PK, 업데이트해야 할 컬럼명, Excel 파일에서 사용할 데이터를 포함한 프롬프트를 작성해 활용할 수 있습니다. 실제 사용해보고 문제가 없다면, 향후 재사용할 수 있도록 프롬프트 파일로 저장해 두는 것이 좋습니다.

2. 블로그 포스팅을 위한 프롬프트 관리Permalink

블로그 포스팅에서도 반복적으로 활용할 수 있는 프롬프트를 저장해 둘 수 있습니다. 저 같은 경우 GitHub 블로그를 운영하는데, 글을 게시하기 전에 LLM에게 맞춤법을 검사해 달라고 하거나, 예상 독자를 고려해 가독성을 개선해 달라고 요청합니다. 이러한 프롬프트는 자주 반복되므로, GitHub 블로그 레포지토리에 저장해 두고 필요할 때마다 불러와 재사용하는 방식이 효율적입니다.

3. 팀 단위에서의 프롬프트 관리Permalink

.gitignore에 프롬프트 파일을 추가하자는 아이디어는 개인적인 설정 파일이 팀 레포지토리에 커밋되지 않도록 하기 위한 것입니다. 하지만 반대로, 팀 전체가 LLM을 적극 활용하고 있으며, 공통적으로 자주 쓰는 프롬프트가 있다면, 이를 레포지토리에 커밋하고 관리하는 것도 좋은 방법입니다. 실제 코드와 마찬가지로 프롬프트를 지속적으로 개선하고 버전 관리를 하면서 업데이트해 나가는 방식도 고려할 만합니다.

지금까지 여러가지 방법에 대해 생각해보았는데요, ‘구슬이 서말이라도 꿰어야 보배’라는 말처럼 저장만한 100개의 프롬프트보다는 적재적소에 자주 쓰는 10개의 프롬프트가 더 LLM을 잘 쓰게 해주는 프롬프트가 아닐까 합니다. 혹시 추가적으로 아이디어가 있으시다면 공유해주세요!