IBM/prompt-declaration-language
Prompt Declaration Language (PDL) is a declarative prompt programming language.
해결하는 문제
소프트웨어 시스템에 쉽게 통합할 수 있는 신뢰성 있고 조합 가능한 LLM 프롬프트를 만드는 어려움을 해결합니다. 프롬프트를 하드코딩하는 대신, 구조적이고 선언적인 방식으로 관리함으로써 프롬프트 엔지니어링의 취약성을 줄입니다.
작동 방식
PDL은 YAML 기반의 선언형 언어를 사용하여 프롬프트 템플릿, 모델 호출, 로직을 지정합니다. CLI 도구는 이러한 프로그램을 해석하여 메시지를 누적하고, 호스팅된 또는 로컬 모델(예: Ollama를 통한 모델)로 전송합니다. 변수, 조건문, 반복문, 함수를 지원하며, 프롬프트 흐름 내에서 직접 Python 코드 실행 및 REST API 호출을 통합할 수 있습니다.
대상 사용자
복잡한 LLM 기반 애플리케이션을 구축하고 싶은 개발자로서, 프롬프트 엔지니어링, 디버깅, 전통적인 규칙 기반 시스템과의 통합에 구조적인 접근을 원하는 사람.
주요 기능
- 선언형 프롬프트: YAML을 사용해 프롬프트 흐름을 정의하여 원시 문자열보다 관리하기 쉬움.
- 통합된 제어 흐름: 변수, 반복문, 조건문을 지원하여 동적 프롬프트 생성 가능.
- 하이브리드 실행: LLM 호출과 네이티브 Python 코드 실행 및 API 호출을 결합.
- 개발자 도구: Python SDK, 인터랙티브 디버깅 및 실시간 프로그래밍을 위한 GUI, 모델 I/O에 대한 타입 체크 포함.
- 프롬프트 최적화: AutoPDL이라는 도구를 통해 텍스트 프롬프트, 소수 샘플 예시, 프롬프트 패턴을 최적화할 수 있음.
관련
- 프로젝트
microsoft/promptflowLLM 기반 AI 애플리케이션의 프로토타이핑 및 프롬프트 엔지니어링부터 평가 및 프로덕션 배포까지 엔드‑투‑엔드 사이클을 간소화하는 개발 도구 모음입니다.
- 프로젝트
chr15m/runprompt.prompt 파일을 실행하는 명령줄 도구로, 사용자가 LLM 프롬프트를 버전 관리 가능한 아티팩트로 취급하고 셸을 통해 AI 워크플로우를 자동화할 수 있도록 합니다.
- 프로젝트
microsoft/conductorConductor는 Microsoft가 유지 관리하는 CLI로, YAML에서 결정적이고 버전 관리되는 다중 에이전트 AI 워크플로를 정의하고 GitHub Copilot 또는 Anthropic Claude와 같은 공급자로 실행할 수 있습니다. 병렬 실행, 하위 워크플로 구성, 인간 개입 게이트, 웹 대시보드, TUI 플릿 관리자, OpenTelemetry 추적을 제공하며, 모두 한 줄 스크립트 또는 표준 Python 도구로 설치할 수 있습니다.
- 프로젝트
Trampoline-AI/predict-rlmpredict-rlm은 대규모 언어 모델(LLM)에 샌드박스화된 상태 유지 런타임을 제공하는 Python 라이브러리입니다. 모델은 Python 코드를 작성 및 실행하고, 가변 상태를 유지하며, 특정 하위 모델을 호출하고, 도구 및 기술(PDF 처리, 스프레드시트 등)을 사용할 수 있습니다. 이 프레임워크는 관측 가능성을 위해 전체 추적을 기록하며, 해당 추적을 GEPA와 같은 최적화 도구에 공급할 수 있습니다. 문서 분석, 감사, 스프레드시트 자동화와 같은 복잡한 다단계 워크플로우를 대상으로 하며, 선택적 Docker 샌드박스 및 풍부한 콜백을 지원합니다.
- 프로젝트
promptdriven/pdd.prompt 파일을 소스로 삼고 구현 코드를 검토 가능한 아티팩트로 생성하는 프롬프트 네이티브 프로그래밍 시스템.