Подсказки — это код. Genkit де... Заметка
DEV Community на русском

Подсказки — это код. Genkit делает время выполнения доступным для просмотра.

Промпты в производственной среде значительно отличаются от промптов в песочнице модели, что может привести к сбоям. Genkit решает эту проблему, интегрируя промпты с потоками, схемами, инструментами, контекстом, трассировками и оценками в единую модель приложения. Промпты должны храниться как версионированные артефакты в формате Dotprompt от Genkit, инкапсулируя содержимое шаблона, конфигурацию модели и определения схемы. Это гарантирует, что изменения промптов можно будет просматривать в Git, а настройки будут связаны с шаблоном.Промпты должны быть обернуты в типизированные потоки, устанавливая границы приложения со стабильными именами, проверенными входными и выходными данными, а также идентификатором трассировки. Это разделение гарантирует, что бизнес-правила до генерации и проверка после генерации происходят независимо от основной функции модели. Контекст выполнения, такой как токены аутентификации, должен передаваться через объект контекста Genkit, а не интерполироваться в сам промпт, что повышает безопасность. Вывод модели должен рассматриваться как недоверенные данные, причем схемы проверяют возможность разбора, а другие элементы управления решают вопросы утверждений, тона и доставки.Genkit отслеживает весь поток, предоставляя представление операций, вызовов модели, инструментов и скрытых сбоев. Эта телеметрия, основанная на OpenTelemetry, помогает в отладке и наблюдаемости. Изменения должны оцениваться на основе наборов данных, включая различные крайние случаи, чтобы гарантировать, что рабочий процесс соответствует своему продуктовому контракту, а не просто соответствует отдельным предложениям. Разработчики должны развертывать весь поток, а не только отдельные промпты, что позволяет осуществлять скоординированные откаты, последовательную оценку и безопасное развертывание. В конечном итоге, полный рабочий процесс, включающий промпты, потоки, контекст, инструменты, схемы, трассировки и оценки, формирует поддерживаемый продукт.