Prompt as a Data Type: In-Database LLM Prompt Management and Rewriting
이 논문은 프롬프트를 제1급 튜플 수준 데이터 타입으로 취급하여 대규모 언어 모델 상호작용의 인데이터 관리, 최적화 및 재작성을 가능하게 함으로써, 정적이고 외부적인 프롬프트 저장 방식과 비교하여 출력 유효성과 비용-품질 트레이드오프를 개선하는 데이터베이스 시스템인 PromptDB를 소개한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
데이터베이스와 로봇의 비밀 언어
당신에게 수백만 개의 사실을 담고 있는 거대하고 매우 잘 조직된 도서관(데이터베이스)이 있고, 거의 모든 것을 읽고 이해할 수 있는 명석하고 수다스러운 로봇(대규모 언어 모델, 즉 LLM)이 있다고 상상해 보십시오. 보통 로봇이 도서관의 사실들을 사용하여 업무를 수행하게 하려면, 인간이 중간 매개자 역할을 해야 합니다. 인간은 도서관에서 종이 한 장을 꺼내어 로봇을 위한 특정 지침(프롬프트)을 작성하여 보내고, 답이 올 때까지 기다려야 합니다. 문제는 도서관 자체가 로봇이 어떤 지침을 따르고 있는지 알지 못한다는 점입니다. 이는 마치 요리사가 냉장고에 어떤 재료가 있는지는 정확히 알지만, 요리사가 사용 중인 레시피는 볼 수 없는 것과 같습니다. 레시피가 카운터 위의 공책 속에 숨겨져 있기 때문에, 셰프는 나쁜 레시피를 고치거나 더 나은 재료를 제안할 수 없습니다.
이 논문은 컴퓨터 과학에서 데이터베이스와 인공지능이 만나는 세계를 다룹니다. 이 논문은 구체적인 골칫거리를 해결합니다. 현재 우리가 AI 로봇에게 주는 지침들은 종종 데이터베이스 외부의 지저도한 코드나 공책에 저장되어 있다는 점입니다. 이로 인해 데이터베이스가 그 지침이 좋은지 확인하거나, 혼란스러울 경우 수정하거나, 실행 비용을 낮추는 것이 어려워집니다. 저자들은 급진적인 아이디어를 제안합니다. 만약 이 지침들을 이름이나 숫자와 같은 다른 데이터처럼 데이터베이스 테이블 안에 직접 저장한다면 어떻게 될까요? 지침을 데이터베이스에 "가시적"으로 만듦으로써, 시스템은 데이터베이스 자체의 지식을 활용하여 로봇이 업무를 더 잘 수행하도록 지침을 더 똑똑하고, 빠르고, 정확하게 자동으로 재작성할 수 있습니다.
논문의 핵심 아이디어: 데이터로서의 프롬프트
저자인 데니스 마이어 리마 마르틴스(Denis Mayr Lima Martins)와 고트프리트 포센(Gottfried Vossen)은 PromptDB라고 불리는 새로운 시스템을 소개합니다. 이것은 단순히 사실만을 저장하는 것이 아니라, AI와 대화하는 방법인 지침까지도 저장하는 데이터베이스라고 생각하면 됩니다. 전통적인 시스템에서는 고객 불만 사항(예: "제 패키지가 도착하지 않았어요!")을 분류하기 위해 AI를 사용하고 싶다면, 애플리케이션 코드에 프롬프트를 작성하고, 텍스트를 데이터베이스에서 가져와 AI로 보냅니다. 이때 데이터베이스는 그 텍스트를 단순한 문자열로만 볼 뿐, 이 텍스트가 실행되어야 할 일련의 지침이라는 것을 알지 못합니다.
PromptDB에서 프롬프트는 **일급 시민(first-class citizen)**입니다. 이는 PROMPT라는 특별한 데이터 타입입니다. 지침을 공책 속에 숨기는 대신, 데이터베이스는 이를 설명하는 데이터와 함께 테이블 행 안에 직접 저장합니다. 행은 다음과 같이 구성될 수 있습니다:
- 티켓 ID: 1001
- 메시지: "패키지가 도착하지 않았습니다"
- 우선순위: 높음
- 지침:
PROMPT("이 티켓을 분류하세요: {{body}}", output: [환불, 배송, 기술 지원, 기타])
여기서 지침은 구조화된 객체입니다. 이 객체는 템플릿("이 티켓을 분류하세요...")을 알고, 행의 어느 부분에 값을 넣어야 하는지({{body}}) 알며, 유효한 답변 목록(output 리스트)을 알고 있습니다. 데이터베이스가 이 지침을 "볼 수" 있기 때문에, 시스템은 스마트한 편집자처럼 행동할 수 있습니다.
마법의 편집기: PromptOpt
진정한 마법은 PromptOpt라고 불리는 구성 요소에서 일어납니다. 당신이 학생의 에세이를 채점하는 선생님이라고 상상해 보십시오. 만약 학생이 길고 장황한 답변을 썼다면, 당신은 "간결하게 쓰세요"라고 말할 것입니다. 만약 학생이 필수 단계를 누락했다면, "누락된 단계를 추가하세요"라고 말할 것입니다. PromptOpt는 AI 프롬프트에 대해 이 작업을 자동으로 수행합니다.
이 시스템은 AI에게 보내기 전에 데이터베이스 자체의 지식을 사용하여 지침을 재작성합니다. 여기에는 몇 가지 기술이 있습니다:
- 제약 조건 주입(Constraint Injection): 만약 데이터베이스가 유효한 답변이 "환불" 또는 "배송"뿐이라는 것을 알고 있다면, PromptOpt는 프롬프트를 재작성하여 AI에게 "반드시 이 정확한 단어 중 하나를 선택해야 한다"라고 명시적으로 알려줍니다. 이는 AI가 "고객이 슬퍼함"과 같은 이상한 답변을 만들어내는 것을 방지합니다.
- 컬럼 투영(Column Projection): 만약 어떤 행에 50개의 컬럼 데이터가 있지만 AI가 "메시지" 컬럼만 읽어야 한다면, PromptOpt는 나머지 49개를 잘라냅니다. 이는 비용(읽어야 할 토큰 수)을 절감하고 혼란을 줄여줍니다.
- 퓨샷 예시(Few-Shot Examples): 시스템은 데이터베이스의 다른 행들을 살펴보고, 올바른 답변의 좋은 예시들을 찾아내어, AI에게 무엇을 해야 하는지 정확히 보여주기 위해 프롬프트에 삽ulan할 수 있습니다.
시스템은 이러한 재작성을 쿼리 옵티마이저(query optimizer)처럼 취급합니다. 데이터베이스 옵티마이저가 데이터를 검색하는 가장 빠른 방법을 결정하듯이, PromptOpt는 프롬프트를 작성하는 가장 좋은 방법을 결정합니다. 이 시스템은 비용(AI가 읽고 써야 하는 단어 수)과 품질(답변이 정확할 가능성) 사이의 균형을 맞춥니다. 간단한 작업에는 짧은 프롬프트로 충분하다고 판단할 수도 있지만, 까다로운 작업의 경우 예시를 추가하기 위해 추가 비용을 지불할 가치가 있다고 결정할 수도 있습니다.
연구 결과
저자들은 세 가지 데이터셋(가짜 고객 지원 티켓, 자동차 평가 데이터셋, 그리고 TPC-H라는 표준 산업 데이터셋)을 대상으로 PromptDB를 테스트했습니다. 그들은 세 가지 방식을 비교했습니다:
- 정적(Static): 프롬프트가 한 번 작성되면 변경되지 않는 기존 방식.
- 모든 규칙 적용(All Rules): 가능한 모든 재작성 규칙을 무차별적으로 적용하는 버전.
- PromptOpt: 특정 작업에 대해 최적의 재작성을 선택하는 스마트한 버전.
연구 결과는 프롬프트를 데이터로 취급하는 방식이 효과적임을 시사합니다.
- 더 나은 품질: AI가 특정 옵션 목록 중에서 선택해야 하는 작업(예: 티켓 분류)의 경우, 데이터베이스 기반의 재작성이 AI의 정확도를 크게 높였습니다. "모든 규칙 적용" 방식이 종종 가장 좋은 결과를 냈지만, 비용이 많이 들었습니다.
- 트레이드오프(Trade-off): PromptOpt 시스템은 적절한 타협점을 찾아냈습니다. 이 시스템은 항상 가장 비싸고 복잡한 프롬프트를 선택하지 않았습니다. 대신, 작업에 "충분히 좋은" 더 단순한 프롬프트를 선택하여, 높은 품질을 유지하면서도 컴퓨팅 비용을 절감했습니다. 예를 들어, 일부 테스트에서 PromptOpt는 정적 방식보다 훨씬 적은 입력 토큰을 사용하면서도 경쟁력 있는 품질을 달아냈습니다.
- 작업의 중요성: 논문은 모든 상황에 적용되는 하나의 정답은 없다고 언급합니다. "시맨틱 필터링"(행이 규칙과 일치하는지 확인)에 도움이 되는 재작성이 "값 정규화"(지저분한 텍스트를 정리)에는 도움이 되지 않을 수 있습니다. 이 시스템은 향-후 버전에서 어떤 규칙을 어떤 작업에 사용할지 더 똑똑하게 판단할 필요가 있다고 제안합니다.
이것이 의미하는 바 (그리고 그렇지 않은 것)
이 논문은 AI 지침을 숨겨진, 변경 불가능한 코드로 취급하는 것을 멈춰야 한다고 주장합니다. 지침을 가시적인 데이터로 만듦으로써, 우리는 데이터베이스의 강력한 기능들—제약 조건에 대한 지식, 데이터를 필터링하는 능력, 그리고 최적화 기술—을 활용하여 AI 상호작용을 더 신뢰할 수 있고 효율적으로 만들 수 있습니다.
하지만 저자들은 이것이 완벽하게 해결된 문제라고 주장하지 않도록 주의를 기울였습니다. 그들은 현재 시스템이 품질을 추정하기 위해 완전히 학습된 AI 모델을 사용하는 대신, 단순한 "휴리스틱(heuristic)" 규칙(경험적 추측)을 사용하고 있음을 인정했습니다. 그들은 프로토타입이 시뮬레이션과 특정 데이터셋에서 잘 작동하지만, 모든 작업을 완벽하게 처리하기 위해서는 "품질 추정기(quality estimator)"가 더욱 똑똑해져야 한다고 제言합니다.
요약하자면, PromptDB는 데이터베이스가 단순히 사실을 보관하는 창고를 넘어, 실시간으로 지침을 재작성하여 AI가 일을 제대로, 빠르게, 그리고 자원을 낭비하지 않고 완수하도록 돕는 능동적인 코치가 되는 미래를 제시합니다. 이는 AI가 블랙박스처럼 느껴지는 것이 아니라, 데이터 세계의 자연스러운 일부가 되도록 만드는 단계입니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.