0Pricing
AI Prompt Engineering · Lekcja

Wprowadzenie do frameworka DSPy

Dlaczego DSPy zastępuje ręcznie pisane prompty deklaratywnymi sygnaturami.

Wprowadzenie do frameworka DSPy to bezpłatna lekcja AI Prompt Engineering na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AI Prompt Engineering, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AI Prompt Engineering zawiera 4 lekcji w sumie.

Kruchość ręcznie pisanych promptów

Prompty tworzone ręcznie są kruche. Zmiana jednego słowa może radykalnie zmienić zachowanie modelu, a rozwiązanie działające z GPT-4 często nie działa z Claude ani Gemini.

Inżynierowie promptów spędzają wiele godzin na dopracowywaniu sformułowań, by odkryć, że wprowadzone zmiany nie sprawdzają się w różnych zbiorach danych ani wersjach modeli. Ta kruchość jest głównym problemem, który rozwiązuje DSPy.

Czym jest DSPy

DSPy (Declarative Self-improving Python) to framework ze Stanford, który traktuje tworzenie promptów jako problem kompilacji, a nie rzemiosło.

Zamiast pisać: "Think step by step and answer the following question...", deklarują Państwo co chcą uzyskać (sygnaturę), a DSPy ustala, jak sformułować prompt, aby model osiągnął ten cel.

Instalowanie DSPy

DSPy jest dostępne w PyPI. Aby rozpocząć pracę, należy je zainstalować i skonfigurować backend modelu językowego.

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')

Główna idea: oddzielenie logiki od promptowania

W tradycyjnym promptowaniu logika programu i tekst promptu są ze sobą ściśle powiązane. Jeśli chcą Państwo zmienić sposób rozumowania modelu, muszą Państwo przepisać tekst promptu.

DSPy rozdziela te kwestie: piszą Państwo logikę w języku Python, korzystając z modułów, a DSPy automatycznie generuje i optymalizuje właściwy tekst promptu podczas etapu kompilacji.

Sygnatury: deklarowanie intencji

Sygnatura w DSPy to typowana deklaracja wejść i wyjść. Określa co ma zostać zrobione, a nie jak.

DSPy wykorzystuje sygnaturę do skonstruowania odpowiedniego promptu w czasie kompilacji — nie muszą Państwo zajmować się inżynierią promptów.

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__)

Moduły: łączone bloki rozumowania

DSPy udostępnia moduły implementujące typowe wzorce rozumowania. Korzystają Państwo z nich podobnie jak z warstw PyTorch — łączą je Państwo w większe programy.

  • dspy.Predict — bezpośrednie przewidywanie
  • dspy.ChainOfThought — dodaje kroki rozumowania
  • dspy.ReAct — rozumowanie i używanie narzędzi
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)

Na czym polega kompilacja

Kompilacja to proces, w którym DSPy optymalizuje prompty programu na podstawie zbioru treningowego i funkcji metryki.

Przed kompilacją DSPy używa podstawowego promptu domyślnego. Po kompilacji DSPy znajduje przykłady few-shot, lepsze instrukcje lub demonstracje chain-of-thought, które maksymalizują wartość metryki. Zoptymalizowane prompty są zapisywane i ponownie wykorzystywane podczas inferencji.

Minimalny program w DSPy

Oto kompletny, minimalny program w DSPy: sygnatura, moduł i wywołanie. Nigdzie nie zapisano tekstu promptu.

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 a tradycyjna inżynieria promptów

Najważniejsza różnica w podejściu:

  • Tradycyjne: piszą Państwo tekst promptu → model go wykonuje → ręcznie modyfikują Państwo tekst
  • DSPy: piszą Państwo logikę w Pythonie → optymalizator znajduje najlepszy tekst promptu → model wykonuje zoptymalizowany prompt

DSPy traktuje prompty jako szczegóły implementacji, którymi powinien zajmować się kompilator — podobnie jak kompilator przekształca kod Pythonu w kod bajtowy.

Kiedy warto użyć DSPy

DSPy sprawdza się szczególnie wtedy, gdy mają Państwo:

  • jasną metrykę do optymalizacji (dokładność, F1, ocena użytkownika)
  • zbiór treningowy zawierający przykłady (wystarczy nawet 20–50)
  • potok z wieloma krokami rozumowania, które wzajemnie na siebie wpływają

W przypadku pojedynczych, prostych promptów narzut związany z DSPy nie jest wart poniesionego kosztu. W produkcyjnych potokach LLM z mierzalnymi celami DSPy może całkowicie zmienić sposób pracy.

Przegląd ekosystemu DSPy

DSPy to nie tylko opakowanie API — to kompletny ekosystem:

  • Sygnatury: deklarowanie wejść i wyjść
  • Moduły: strategie rozumowania
  • Optymalizatory: BootstrapFewShot, MIPRO, COPRO
  • Evaluate: wbudowany mechanizm ewaluacji
  • Assertions: deklaratywne ograniczanie wyjść

W kolejnych lekcjach tego kursu poznają Państwo każdy z tych elementów.

Sprawdzenie wiedzy: główna koncepcja DSPy

Jaka jest podstawowa różnica między DSPy a ręcznym pisaniem promptów?

Podsumowanie: podstawy frameworka DSPy

DSPy rozwiązuje problem kruchości ręcznie pisanych promptów, traktując promptowanie jako problem kompilacji. Piszą Państwo sygnatury (typowane deklaracje wejść i wyjść) i łączą je z modułami, takimi jak Predict i ChainOfThought. Następnie optymalizator automatycznie znajduje najlepszy tekst promptu, korzystając z danych treningowych i metryki. W rezultacie otrzymują Państwo przenośny, testowalny i automatycznie ulepszany potok promptów — bez ręcznej inżynierii promptów.

Często zadawane pytania

Czy lekcja „Wprowadzenie do frameworka DSPy” jest bezpłatna?

Tak — pełny tekst „Wprowadzenie do frameworka DSPy” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AI Prompt Engineering, przejdź na CoddyKit PRO. Kurs AI Prompt Engineering zawiera 4 lekcji w sumie.

Co nauczysz się w „Wprowadzenie do frameworka DSPy”?

Dlaczego DSPy zastępuje ręcznie pisane prompty deklaratywnymi sygnaturami. Ćwiczysz AI Prompt Engineering z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć AI Prompt Engineering?

Nie wymagamy żadnego doświadczenia. AI Prompt Engineering w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Wprowadzenie do frameworka DSPy”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji AI Prompt Engineering?

Tak. Każda lekcja AI Prompt Engineering zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Wprowadzenie do frameworka DSPy
  2. Definiowanie sygnatur i modułów
  3. Kompilowanie i optymalizowanie promptów
  4. Ewaluacja potoków DSPy
← Powrót do AI Prompt Engineering