google/dotprompt

Executable GenAI prompt templates

Dotprompt – 생성형 AI를 위한 실행 가능한 프롬프트 템플릿

무엇인가요 – Dotprompt는 생성형 AI 프롬프트를 모델 선택, 온도, 입력 스키마, 예상 출력 형식, Handlebars 스타일의 자리 표시자와 같은 실행에 필요한 모든 정보와 함께 묶는 파일 형식(.prompt)을 정의합니다. 이 형식은 언어에 관계없이 사용 가능하며, Google은 JavaScript/TypeScript, Python, Go, Rust, Java용 핵심 라이브러리를 제공하고, 에디터 확장(Visual Studio Code, JetBrains, Vim/Emacs), 웹 기반 에디터(Monaco, CodeMirror)도 제공합니다.

왜 중요한가요 – 프롬프트 엔지니어링은 종종 흩어진 코드나 임시 텍스트 파일에 의존합니다. 프롬프트를 자가 포함된 실행 가능한 자산으로 만듦으로써 다음을 가능하게 합니다:

  • 모델에 전송하기 전에 입력을 스키마로 검증할 수 있습니다.
  • gemini-2.5-pro, 온도 등 모델과 그 파라미터를 파일 내에서 직접 선언할 수 있습니다.
  • 예상 출력 형식(JSON, XML 등)과 스키마를 정의하여 자동 파싱과 타입 체크를 가능하게 합니다.
  • 프로젝트와 언어를 넘나들며 동일한 프롬프트를 재사용할 수 있어 뼈대 코드를 다시 작성할 필요가 없습니다.

주요 구성 요소

구성 요소 제공 기능
핵심 라이브러리 (dotprompt, dotpromptz, dotprompt-go, dotprompt-rs, dotprompt-java) .prompt 파일을 읽고 Handlebars 변수를 채우며, 설정된 모델을 호출하고 타입이 지정된 결과를 반환하는 파서, 검증기, 런타임 헬퍼.
IDE 확장 (VS Code, JetBrains, Vim, Emacs) 구문 강조, 스키마 인식 자동 완성, 에디터 내에서 한 번의 클릭으로 "프롬프트 실행" 명령.
웹 에디터 (Monaco, CodeMirror) SaaS 도구나 내부 대시보드에 통합 가능한 에디터.
Tree-sitter 문법 언어 서버 기능 및 커스텀 툴링을 위한 정확한 파싱.
CLI (promptly) 터미널에서 .prompt 파일을 실행할 수 있으며, 빠른 실험이나 CI 파이프라인에 유용합니다.

일반적인 워크플로우

  1. .prompt 파일 생성 – model, input.schema, output.format, output.schema를 선언하는 YAML 프론트마터 블록에서 시작합니다. Handlebars({{variable}})를 사용하여 프롬프트 본문을 작성합니다.
  2. 라이브러리 추가 – 예: npm i dotprompt (JS) 또는 pip install dotpromptz (Python).
  3. 코드에서 프롬프트 로드 (Genkit에서는 ai.prompt("myPrompt"), 다른 언어에서는 동일한 방식).
  4. 입력 스키마와 일치하는 일반 객체로 호출. 라이브러리가 검증, 모델 호출, 출력 파싱을 처리합니다.
  5. 반복 작업 – 프롬프트가 버전 관리된 파일이므로 변경 사항을 추적하고, 롤백하며, 팀 간에 공유할 수 있습니다.

예시 (README에서 발췌) – 자유 형식 텍스트에서 구조화된 데이터를 추출하는 프롬프트:

---
model: googleai/gemini-2.5-pro
input:
  schema:
    text: string
output:
  format: json
  schema:
    name?: string, the full name of the person
    age?: number, the age of the person
    occupation?: string, the person's occupation
---

Extract the requested information from the given text. If a piece of information
is not present, omit that field from the output.

Text: {{text}}

Genkit 통합으로 실행하면 {"name":"John Doe","age":35,"occupation":"software engineer"}와 같은 타입이 지정된 JSON 객체가 반환됩니다.

시작하기 (JS/TS 예시는 README에 포함됨)

npm i genkit @genkit-ai/googleai   # Genkit + Google AI 제공자 설치
import { genkit } from "genkit";
import { googleAI } from "@genkit-ai/googleai";

const ai = genkit({ plugins: [googleAI()] });
const extractInfo = ai.prompt("extractInfo");

const {output} = await extractInfo({text: "John Doe is a 35‑year‑old software engineer..."});
console.log(output);

인증을 위해 환경 변수에 GOOGLE_API_KEY를 설정하세요.

누가 사용해야 하나요

  • AI 기능을 강화한 애플리케이션을 개발하는 개발자 – 프롬프트를 정리하고, 버전 관리하며, 타입 안전하게 유지할 수 있습니다.
  • 프롬프트 엔지니어 / 데이터 과학자 – 애플리케이션 코드를 건드리지 않고 모델 파라미터와 출력 스키마를 실험할 수 있습니다.
  • 다중 언어 스택을 사용하는 팀 – 동일한 .prompt 파일이 JS, Python, Go, Rust, Java에서 모두 작동합니다.
  • 도구 개발자 – 웹 에디터나 CLI를 내부 플랫폼에 통합할 수 있습니다.

커뮤니티 및 지원

  • 실시간 도움을 위한 Discord 채널: https://discord.gg/qXt5zzQKpc
  • 오픈소스 기여를 환영합니다. 커밋 규칙과 테스트 가이드라인은 GEMINI.md를 참조하세요.
  • CI 배지로 각 언어 구현이 지속적으로 테스트됨을 확인할 수 있습니다.

Dotprompt는 프롬프트를 일급 실행 가능한 자산으로 전환하여 생성형 AI 개발을 더 모듈화되고 신뢰성 있으며 협업 가능한 것으로 만듭니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트