0Pricing
AI Prompt Engineering · Урок

Введение в фреймворк DSPy

Почему DSPy заменяет написанные вручную запросы декларативными сигнатурами.

«Введение в фреймворк DSPy» — бесплатный урок AI Prompt Engineering на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Prompt Engineering, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Prompt Engineering содержит 4 уроков всего.

Хрупкость написанных вручную промптов

Промпты, созданные вручную, хрупки. Изменение всего одного слова может резко изменить поведение модели, а то, что работает с GPT-4, часто перестаёт работать с Claude или Gemini.

Специалисты по разработке промптов часами подбирают формулировки, но обнаруживают, что изменения не обобщаются на разные наборы данных или версии моделей. Именно эта хрупкость — ключевая проблема, которую решает DSPy.

Что такое DSPy

DSPy (декларативный самоулучшающийся Python) — это фреймворк Стэнфордского университета, который рассматривает составление промптов как задачу компиляции, а не как ручное мастерство.

Вместо того чтобы писать: "Think step by step and answer the following question...", вы объявляете, что хотите получить (сигнатуру), и позволяете DSPy определить, как сформировать промпт, чтобы добиться нужного результата от модели.

Установка DSPy

DSPy доступен в PyPI. Установите его и настройте подключение к языковой модели, чтобы начать работу.

pip install dspy-ai

# Basic setup in Python
import dspy

# Configure the language model
lm = dspy.LM('openai/gpt-4o-mini', api_key='sk-...')
dspy.configure(lm=lm)

print('DSPy configured successfully')

Основная идея: отделение логики от составления промптов

При традиционном составлении промптов логика программы и текст промпта тесно переплетены. Если вы хотите изменить способ рассуждений модели, вам приходится переписывать строку промпта.

DSPy разделяет эти задачи: вы пишете логику Python с помощью модулей, а DSPy автоматически создаёт и оптимизирует фактический текст промпта на этапе компиляции.

Сигнатуры: объявление намерения

signature в DSPy — это типизированное объявление входных и выходных данных. Это описание того, что нужно сделать, а не того, как это сделать.

DSPy использует signature, чтобы во время компиляции создать подходящий промпт — вам не требуется вручную разрабатывать промпты.

import dspy

# Declare: given a question, produce an answer
class SimpleQA(dspy.Signature):
    """Answer questions with short factual responses."""
    question: str = dspy.InputField()
    answer: str = dspy.OutputField(desc='A concise factual answer')

# DSPy turns this declaration into a real prompt automatically
print(SimpleQA.__doc__)

Модули: составные блоки рассуждений

DSPy предоставляет модули, реализующие распространённые схемы рассуждений. Вы используете их подобно слоям PyTorch и объединяете в более крупные программы.

  • dspy.Predict — прямое предсказание
  • dspy.ChainOfThought — добавляет шаги рассуждения
  • dspy.ReAct — рассуждения и использование инструментов
import dspy

class SimpleQA(dspy.Signature):
    """Answer questions with short factual responses."""
    question: str = dspy.InputField()
    answer: str = dspy.OutputField()

# Three different module strategies for the same signature
predict_module = dspy.Predict(SimpleQA)
cot_module = dspy.ChainOfThought(SimpleQA)

# Call just like a function
result = predict_module(question='What is the capital of France?')
print(result.answer)

Что делает компиляция

Компиляция — это процесс, в ходе которого DSPy оптимизирует промпты вашей программы с помощью обучающей выборки и функции метрики.

До компиляции DSPy использует простой промпт по умолчанию. После компиляции DSPy находит примеры с малым числом образцов, более удачные инструкции или демонстрации пошагового рассуждения, которые максимизируют значение метрики. Оптимизированные промпты сохраняются и повторно используются во время вывода.

Минимальная программа на DSPy

Ниже приведена полностью готовая минимальная программа DSPy: сигнатура, модуль и вызов. Строка промпта нигде не записывается.

import dspy

# 1. Configure LM
lm = dspy.LM('openai/gpt-4o-mini', api_key='sk-...')
dspy.configure(lm=lm)

# 2. Define signature
class Summarize(dspy.Signature):
    """Summarize text into one sentence."""
    text: str = dspy.InputField()
    summary: str = dspy.OutputField()

# 3. Create module
summarizer = dspy.Predict(Summarize)

# 4. Use it
result = summarizer(text='DSPy is a framework for programming language models.')
print(result.summary)

DSPy и традиционная разработка промптов

Ключевое философское различие:

  • Традиционный подход: вы пишете текст промпта → модель выполняет его → вы вручную изменяете текст
  • DSPy: вы пишете логику Python → оптимизатор находит лучший текст промпта → модель выполняет оптимизированный промпт

DSPy рассматривает промпты как детали реализации, которыми должен заниматься компилятор, подобно тому как компилятор преобразует Python в байт-код.

Когда стоит использовать DSPy

DSPy особенно полезен, если у вас есть:

  • Чёткая метрика для оптимизации (точность, F1, оценка пользователей)
  • Обучающая выборка с примерами (часто достаточно даже 20–50 примеров)
  • Конвейер с несколькими шагами рассуждения, которые взаимодействуют друг с другом

Для разовых простых промптов дополнительные затраты DSPy не оправданы. Для рабочих конвейеров LLM с измеримыми целями DSPy кардинально меняет подход.

Обзор экосистемы DSPy

DSPy — это не просто оболочка API, а полноценная экосистема:

  • Сигнатуры: объявление ввода-вывода
  • Модули: стратегии рассуждения
  • Оптимизаторы: BootstrapFewShot, MIPRO, COPRO
  • Evaluate: встроенный набор средств оценки
  • Утверждения: декларативное ограничение выходных данных

В следующих уроках этого курса вы изучите каждый из этих элементов.

Проверка знаний: основная концепция DSPy

В чём главное отличие DSPy от ручного написания промптов?

Повторение: основы фреймворка DSPy

DSPy решает проблему хрупкости написанных вручную промптов, рассматривая составление промптов как задачу компиляции. Вы создаёте сигнатуры (типизированные объявления ввода-вывода) и объединяете их с модулями, такими как Predict и ChainOfThought. Затем оптимизатор автоматически находит лучший текст промпта, используя ваши обучающие данные и метрику. В результате получается переносимый конвейер промптов, пригодный для тестирования и автоматического улучшения — без ручной разработки промптов.

Часто задаваемые вопросы

Урок «Введение в фреймворк DSPy» бесплатный?

Да — полный текст урока «Введение в фреймворк DSPy» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Prompt Engineering, подпишись на CoddyKit PRO. Курс AI Prompt Engineering содержит 4 уроков всего.

Чему я научусь в уроке «Введение в фреймворк DSPy»?

Почему DSPy заменяет написанные вручную запросы декларативными сигнатурами. Ты практикуешь AI Prompt Engineering с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать AI Prompt Engineering?

Предыдущий опыт не требуется. AI Prompt Engineering на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Введение в фреймворк DSPy»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке AI Prompt Engineering?

Да. Каждый урок AI Prompt Engineering включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Введение в фреймворк DSPy
  2. Определение сигнатур и модулей
  3. Компиляция и оптимизация запросов
  4. Оценка конвейеров DSPy
← Назад к AI Prompt Engineering