프롬프트는 코드입니다. Genkit은 런타임을 검토 가... 노트

프롬프트는 코드입니다. Genkit은 런타임을 검토 가능하게 만듭니다.

프로덕션 환경의 프롬프트는 모델 플레이그라운드의 프롬프트와 상당히 다르며, 잠재적인 실패로 이어질 수 있습니다. Genkit은 프롬프트를 플로우, 스키마, 도구, 컨텍스트, 트레이스 및 평가와 통합하여 통합 애플리케이션 모델을 만듭니다. 프롬프트는 Genkit의 Dotprompt 형식을 사용하여 버전화된 아티팩트로 저장해야 하며, 템플릿 콘텐츠, 모델 구성 및 스키마 정의를 캡슐화해야 합니다. 이를 통해 프롬프트 변경 사항을 Git에서 검토할 수 있으며 설정이 템플릿과 함께 이동합니다.프롬프트는 타입이 지정된 플로우로 래핑되어야 하며, 안정적인 이름, 검증된 입력 및 출력, 트레이스 ID를 사용하여 애플리케이션 경계를 설정해야 합니다. 이 분리를 통해 사전 생성 비즈니스 규칙 및 사후 생성 유효성 검사가 모델의 핵심 기능과 독립적으로 발생합니다. 인증 토큰과 같은 실행 컨텍스트는 프롬프트 자체에 삽입하는 대신 Genkit의 컨텍스트 객체를 통해 전달되어 보안을 강화해야 합니다. 모델 출력은 신뢰할 수 없는 데이터로 취급해야 하며, 스키마는 파싱 가능성을 검증하고 기타 제어는 주장, 톤 및 전달을 처리해야 합니다.Genkit은 전체 플로우를 추적하여 작업, 모델 호출, 도구 및 잠재적 실패를 볼 수 있도록 합니다. OpenTelemetry를 기반으로 하는 이 텔레메트리는 디버깅 및 관찰 가능성에 도움이 됩니다. 변경 사항은 개별 문장과 일치하는 것뿐만 아니라 워크플로우가 제품 계약을 충족하는지 확인하기 위해 다양한 엣지 케이스를 포함한 데이터셋에 대해 평가해야 합니다. 개발자는 느슨한 프롬프트가 아닌 전체 플로우를 배포하여 조정된 롤백, 일관된 평가 및 안전한 배포를 가능하게 해야 합니다. 궁극적으로 프롬프트, 플로우, 컨텍스트, 도구, 스키마, 트레이스 및 평가를 포함하는 전체 워크플로우가 유지 관리 가능한 제품을 형성합니다.