Q: How should I version and manage prompts? – Hamel’s Blog - Hamel Husain
Статья обсуждает подходы к версионированию и управлению промптами в LLM-приложениях. Автор рекомендует хранить промпты в Git, рассматривая их как программные артефакты, которые версионируются и деплоятся вместе с кодом. Вендорские инструменты управления промптами (Arize, Braintrust, LangSmith) удобны для быстрой итерации, но ограничены тем, что не могут полноценно выполнять код приложения. Для экспериментов с промптами рекомендуются Jupyter-ноутбуки, позволяющие работать с реальными агентами, инструментами и RAG. Если ноутбуки неприменимы, альтернативой служит интегрированная среда для промптов.
Существует неизбежное противоречие между хранением промптов рядом с кодом и средой, к которой имеют доступ нетехнические участники команды.
Мой предпочтительный подход — хранить промпты в Git. Это позволяет рассматривать их как программные артефакты, которые версионируются, проходят ревью и деплоятся атомарно вместе с кодом приложения. Хотя командная строка Git неудобна для нетехнических специалистов, веб-интерфейс GitHub и приложение GitHub Desktop делают работу вполне доступной. Когда я работал в GitHub, я сотрудничал со многими нетехническими профессионалами, включая юристов и бухгалтеров, которые эффективно использовали эти инструменты. Вот статья в блоге, адресованная нетехническим специалистам для начала работы.
Как альтернатива, большинство вендоров в сфере инструментов для LLM — платформы наблюдаемости вроде Arize, Braintrust и LangSmith — предлагают специализированные инструменты управления промптами. Они удобны для быстрой итерации, но создают риск дополнительных уровней косвенности.
Почему инструменты управления промптами часто не оправдывают ожиданий: AI-продукты обычно включают множество подвижных частей: инструменты, RAG, агенты и т. д. Инструменты управления промптами по своей природе ограничены, поскольку не могут легко выполнять код вашего приложения. Даже когда могут, часто возникает значительная косвенность, затрудняющая тестирование промптов с реальными возможностями вашей системы.
Когда это возможно, ноутбуки — отличное решение для экспериментов с промптами. Если у вас есть точки входа на Python или ваша кодовая база написана на Python, Jupyter-ноутбуки особенно эффективны для этой цели. Вы можете экспериментировать с промптами и итерировать на реальных AI-агентах с полным набором инструментов и возможностями RAG. Это значительно упрощает понимание того, как ваша система работает на практике. Кроме того, вы можете создавать виджеты и небольшие пользовательские интерфейсы внутри ноутбуков, получая лучшее из обоих миров для экспериментов и итераций. Чтобы увидеть, как это выглядит на практике, Teresa Torres даёт отличный практический разбор того, как она в роли PM использовала ноутбуки для полного цикла оценки и экспериментов:
Если ноутбуки неприменимы для вашей кодовой базы, интегрированная среда для промптов может быть эффективной для экспериментов. В любом случае я предпочитаю версионировать и управлять промптами в Git.
Эта статья является частью нашего AI Evals FAQ — коллекции распространённых вопросов (и ответов) об оценке LLM. Смотреть все FAQ или вернуться на главную.