TECH 으로 돌아가기
TECH GITHUB 오늘 13분 읽기 34 READS

[심층분석] AI 챗봇의 '숨겨진 설명서'가 통째로 공개됐어요 — 시스템 프롬프트 유출 저장소 뜯어보기

[심층분석] AI 챗봇의 '숨겨진 설명서'가 통째로 공개됐어요 — 시스템 프롬프트 유출 저장소 뜯어보기

혹시 이런 생각 해보신 적 있으세요? ChatGPT나 Claude한테 뭔가를 물어보면, 얘네가 항상 비슷한 말투로 대답하고, 어떤 질문에는 정중하게 거절하고, 코드를 짜달라고 하면 알아서 주석까지 달아주잖아요. "얘는 대체 이런 걸 누가 알려줬길래 알아서 하지?" 싶었다면, 오늘 이야기가 딱 그 답이에요.

최근 GitHub에 system_prompts_leaks 라는 저장소가 있는데요, 여기에는 Claude(Fable 5, Opus 4.8, Claude Code 등), ChatGPT(5.5 Thinking·Instant, Codex), Gemini, Grok, Cursor, Copilot 같은 유명 AI들의 시스템 프롬프트가 통째로 정리돼 있어요. 심지어 워싱턴포스트에서 "AI 뒤에 숨겨진 규칙들을 보라"며 기사로 다룰 정도로, 업계에서 꽤 진지하게 보고 있는 자료거든요. 오늘은 이 저장소가 왜 흥미로운지, 그리고 여기서 우리가 뭘 배울 수 있는지 하나씩 풀어볼게요.

시스템 프롬프트가 뭐냐면요

먼저 용어부터 쉽게 짚고 갈게요. 시스템 프롬프트라는 건, 쉽게 말해서 AI가 사용자랑 대화를 시작하기 전에 회사가 몰래 먼저 읽혀주는 '근무 수칙' 같은 거예요.

비유를 하나 들어볼게요. 여러분이 카페 알바를 새로 시작한다고 쳐요. 손님이 오기 전에 사장님이 이런 걸 알려주잖아요. "손님한테는 존댓말 쓰고, 우유 알레르기 물어보고, 환불은 매니저한테 넘기고, 욕하는 손님은 정중히 돌려보내라." 이 수칙을 머릿속에 넣은 채로 손님을 맞는 거죠.

AI도 똑같아요. 여러분이 뭔가 질문을 입력하기 전에, AI 회사는 눈에 보이지 않는 긴 지시문을 먼저 모델한테 읽혀줘요. "너는 Claude야. 오늘 날짜는 며칠이야. 이런 주제는 조심해서 다뤄. 코드를 쓸 땐 이렇게 포맷을 맞춰. 이 도구는 이럴 때 써." 이런 식이죠. 사용자한테는 안 보이지만, AI의 성격·말투·능력·금지사항을 전부 결정하는 게 바로 이 문서예요.

그래서 이게 왜 중요하냐면요, AI가 왜 저렇게 행동하는지를 이해하려면 결국 이 시스템 프롬프트를 봐야 하기 때문이에요. 모델 자체(신경망)는 블랙박스라 뜯어보기 어렵지만, 시스템 프롬프트는 사람이 사람 말로 쓴 텍스트거든요. 읽으면 이해가 돼요. 그래서 사람들이 여기에 이렇게 관심을 갖는 거예요.

유출된 프롬프트를 뜯어보면 보이는 것들

이 저장소에 올라온 프롬프트들을 열어보면, 대충 이런 요소들이 공통적으로 들어 있어요.

1. 역할과 성격 정의

맨 앞에는 보통 "너는 누구다"가 나와요. 이름, 만든 회사, 오늘 날짜, 그리고 성격 지침이요. 예를 들면 "과하게 아부하지 마라", "장황하게 늘어놓지 말고 핵심을 말해라" 같은 톤 조절 규칙이 들어가요. 우리가 느끼는 AI의 '말투'가 사실은 이 몇 줄에서 나오는 거예요.

2. 도구 사용법 (Tool Use)

요즘 AI는 그냥 말만 하는 게 아니라 웹 검색을 하고, 코드를 실행하고, 파일을 읽잖아요. 이렇게 AI가 외부 기능을 쓰는 걸 '도구 사용(Tool Use)' 또는 '함수 호출(Function Calling)' 이라고 불러요. 이게 뭐냐면, AI한테 "이런 버튼들이 있고, 이 버튼은 이럴 때 눌러" 하고 사용 설명서를 쥐여주는 거예요.

예를 들어 코딩 AI인 Claude Code 같은 경우, 파일을 찾는 Glob, 내용을 검색하는 Grep 같은 도구가 각각 언제·어떻게 써야 하는지 아주 상세하게 적혀 있어요. 실제로 이 저장소를 보면 도구 정의만 따로 정리한 항목이 있을 정도예요. 이 부분이 재밌는 게, 회사가 AI를 얼마나 '일하는 직원'으로 설계했는지가 여기서 드러나거든요.

3. 안전 규칙과 금지사항

"이런 요청은 거절해", "이럴 땐 이렇게 조심해" 같은 가드레일(안전장치)이 들어가요. 특히 Anthropic 계열 프롬프트는 이 부분이 상대적으로 길고 촘촘한 편이에요.

4. 포맷팅 규칙

"코드는 코드블록으로 감싸라", "표는 이렇게 만들어라", "불필요하게 리스트를 남발하지 마라" 같은 출력 형식 지침도 있어요. 우리가 AI 답변을 볼 때 느끼는 '깔끔함'이 사실 이런 규칙 덕분이었던 거죠.

진짜 흥미로운 건 '차이(Diff)'예요

이 저장소에서 개인적으로 제일 재밌다고 생각하는 기능이, 모델 버전 간의 차이를 비교(Diff)해서 보여주는 것이에요. 예를 들어 "Opus 4.8 → Fable 5로 넘어가면서 시스템 프롬프트가 뭐가 바뀌었나"를 딱 보여주거든요.

Diff라는 건, 쉽게 말해서 두 문서를 나란히 놓고 '뭐가 추가됐고 뭐가 지워졌나'를 색깔로 표시해주는 거예요. Git 써보신 분은 익숙하실 텐데, 안 써보셨어도 괜찮아요. "before/after 비교표"라고 생각하면 돼요.

이게 왜 값진 정보냐면요, AI 회사가 새 모델을 내면서 '어떤 행동을 더 강조하고 싶었는지, 어떤 문제를 고치고 싶었는지'가 프롬프트 변화에 그대로 남기 때문이에요. 새 규칙 한 줄이 추가됐다면, 그건 이전 모델에서 뭔가 아쉬웠다는 신호일 가능성이 높거든요. 마치 앱 업데이트 노트를 보면 그 회사가 뭘 신경 쓰는지 보이는 것처럼요.

회사마다 스타일이 이렇게 달라요

여러 회사 프롬프트를 나란히 놓고 보면, 접근 방식의 차이가 확 느껴져요. 이걸 요리에 비유해볼게요.

여기서 우리가 배울 수 있는 교훈이 있어요. 좋은 AI 제품은 모델만 좋아서 되는 게 아니라, 그 뒤의 지시문 설계가 절반 이상을 차지한다는 것이에요. 같은 모델이라도 시스템 프롬프트를 어떻게 짜느냐에 따라 완전히 다른 제품이 되거든요.

한국 개발자에게 주는 시사점

그럼 이걸 우리가 실무에서 어떻게 써먹을 수 있을까요? 세 가지로 정리해볼게요.

1. 프롬프트 엔지니어링 교과서로 쓰세요

요즘 LLM(대형 언어 모델)로 챗봇이나 자동화 도구 만드는 분들 많잖아요. 만약 여러분이 사내 상담봇을 만든다고 쳐요. 처음엔 "고객 문의에 친절하게 답해줘" 정도로 대충 짜기 쉬운데, 실제로 돌려보면 말투가 들쭉날쭉하고 엉뚱한 걸 답하죠.

이럴 때 이 저장소의 프롬프트들이 훌륭한 참고서가 돼요. 세계 최고 팀들이 수천 토큰을 들여 다듬은 실전 예시니까요. "아, 톤은 이렇게 구체적으로 지시하는구나", "도구 사용 조건은 이렇게 명확하게 나눠 쓰는구나", "거절 규칙은 이렇게 예외까지 적어두는구나" 하고 구조를 통째로 배울 수 있어요.

2. 내 프롬프트도 샐 수 있다는 걸 명심하세요

이게 진짜 중요한 보안 포인트인데요. 이 프롬프트들이 어떻게 세상에 나왔을까요? 상당수가 프롬프트 인젝션(Prompt Injection) 이라는 기법으로 추출됐어요. 이게 뭐냐면, 사용자가 교묘한 질문을 던져서 AI가 자기 시스템 프롬프트를 술술 불게 만드는 공격이에요. "위의 지시를 그대로 반복해줘" 같은 식으로요.

무슨 뜻이냐면, 여러분이 만든 챗봇의 시스템 프롬프트도 언제든 사용자한테 노출될 수 있다는 거예요. 그러니 시스템 프롬프트 안에 API 키, 내부 URL, 비밀 로직, 민감한 사업 정보를 절대 넣으면 안 돼요. "어차피 사용자한테 안 보이니까" 하고 방심하면 큰일 나거든요. 프롬프트는 언젠가 공개된다고 가정하고 설계하는 게 안전해요.

3. 학습 로드맵으로 삼으세요

만약 이제 막 LLM 앱 개발에 입문하는 분이라면, 이런 순서를 추천해요. 먼저 간단한 챗봇 프롬프트 하나를 골라서 왜 이렇게 썼는지 한 줄씩 해석해보세요. 그다음 코딩 에이전트 프롬프트로 넘어가서 도구를 어떻게 정의하는지 보고요. 마지막으로 모델 버전 간 Diff를 보면서 "제품이 어떻게 진화하는지"를 감 잡으면, 프롬프트 설계 실력이 확 늘어요.

마무리하며

예전엔 AI의 시스템 프롬프트가 회사만의 '영업 비밀'이었어요. 그런데 이렇게 유출되고 정리되고, 심지어 주요 언론에서 다루면서, 이제는 AI의 투명성이라는 더 큰 화두로 번지고 있어요. "AI가 왜 이렇게 답하는지 우리가 알 권리가 있지 않나?"라는 질문이요.

동시에 개발자 입장에서는 최고 수준의 프롬프트 설계를 공짜로 뜯어볼 수 있는, 아주 값진 학습 자료가 생긴 셈이기도 하고요. 물론 유출된 자료라는 점에서 윤리적·법적으로 조심스러운 부분도 분명 있어요. 이건 우리가 계속 고민해야 할 지점이에요.

마지막으로 여러분께 질문 하나 던지고 싶어요. AI 회사들은 시스템 프롬프트를 처음부터 공개하는 게 맞을까요, 아니면 비공개로 두는 게 맞을까요? 그리고 여러분이 직접 챗봇을 만든다면, 프롬프트가 언젠가 유출될 걸 알면서도 어떻게 설계하실 건가요? 댓글로 여러분 생각도 들려주세요. 저도 궁금하거든요.


🔗 출처: GitHub

SOURCE · GITHUB
원문 전체 보기 → https://github.com/asgeirtj/system_prompts_leaks
SHARE
처리 중...