Da pesquisa em Stanford ao framework de produção
A Stanford NLP começou a desenvolver o DSPy em dezembro de 2022, e o repositório GitHub stanfordnlp/dspy o descreve como "o framework para programar — em vez de dar prompts a — modelos de linguagem". O projeto nasceu de pesquisa acadêmica sobre compilar pipelines de LLM declarativos, em vez de escrever strings de prompt manualmente.
O framework introduziu cedo Signatures e Modules como abstrações principais, e ampliou seus algoritmos de otimização ao longo do tempo: BootstrapFewShot para seleção rápida de exemplos few-shot, seguido de MIPROv2, que busca conjuntamente instruções e exemplos few-shot via otimização bayesiana, e mais recentemente GEPA, descrito na documentação como o ajuste automático de prompts "até a qualidade convergir" a partir de exemplos e uma função de pontuação.
O DSPy está em desenvolvimento ativo no momento desta análise: o pacote dspy no PyPI estava na versão 3.3.1, lançada em 21 de agosto de 2026. O site do projeto reporta mais de 454 colaboradores e documenta uso em produção em empresas como Shopify, Databricks e AWS.
Diferente de vários outros frameworks desta série, o DSPy não foi arquivado, não entrou em um modo declarado de apenas manutenção e não tem projeto sucessor anunciado — é a implementação canônica, ativamente desenvolvida, das ideias que introduziu.
Desenvolvimento começa na Stanford NLP
- Date:
- 2022-12
- What it means:
- O repositório stanfordnlp/dspy e as abstrações principais Signature/Module surgem
Otimizador BootstrapFewShot
- Date:
- Primeiras versões
- What it means:
- Um otimizador básico rápido gera exemplos few-shot a partir de um conjunto de treinamento
Otimizador MIPROv2
- Date:
- Versões posteriores
- What it means:
- Busca conjunta de instruções e exemplos few-shot via otimização bayesiana é lançada
Otimizador GEPA
- Date:
- Versões recentes
- What it means:
- Um otimizador mais novo para ajuste automático de prompts contra uma função de pontuação
dspy 3.3.1 no PyPI
- Date:
- 2026-08-21
- What it means:
- Última versão verificada no momento desta análise — o desenvolvimento ativo continua
📌Nota: O nome do pacote PyPI do DSPy tem uma história interessante: o nome dspy já estava ocupado no PyPI, então o projeto foi distribuído primeiro como dspy-ai. O nome canônico atual é dspy — use pip install dspy para instalações atuais.
O que é o DSPy?
O DSPy é um framework Python de código aberto (licença MIT, mantido ativamente, github.com/stanfordnlp/dspy) criado pela Stanford NLP para programar tarefas de modelos de linguagem de forma declarativa, e depois compilar essas declarações em prompts otimizados — e opcionalmente pesos otimizados — em vez de uma pessoa iterar manualmente sobre texto de prompt.
- Signature: uma definição tipada das entradas e saídas de uma tarefa, escrita como uma classe curta ou string (por exemplo,
"question -> answer"), portável entre diferentes LLMs subjacentes e estratégias de prompt - Module: um componente que implementa uma estratégia de execução em torno de uma Signature —
Predictpara conclusão direta,ChainOfThoughtpara raciocínio passo a passo,ReActpara loops de raciocínio que usam ferramentas, entre outros - Optimizer (antes chamado de teleprompter): um algoritmo que ajusta os prompts e exemplos few-shot dentro de um programa DSPy segundo uma métrica, de forma automática em vez de manual — otimizadores nomeados incluem
BootstrapFewShot,MIPROv2eGEPA - Compilar um programa: executar um otimizador sobre um conjunto de treinamento e uma função de pontuação produz um programa compilado com instruções e exemplos ajustados já incorporados, que você então executa como qualquer outro programa DSPy
- Agnóstico de modelo: o DSPy se conecta ao provedor de LLM que você configura, em vez de trazer um modelo embutido, e o mesmo código de Signature/Module pode ser reotimizado para um modelo subjacente diferente
- Não é um orquestrador multiagente: o DSPy não tem um conceito embutido de vários agentes se comunicando, como o CrewAI ou o AutoGen — um programa DSPy é tipicamente um único pipeline de Modules, embora módulos
ReActpossam chamar ferramentas dentro de um loop de raciocínio
Programar, não dar prompts — o que essa frase significa na prática
No DSPy, você não escreve uma string de prompt cuja redação ajusta manualmente. Você descreve o formato da tarefa com uma Signature e escolhe um Module que define a estratégia de raciocínio; o texto do prompt realmente enviado ao LLM é gerado e, ao compilar com um Optimizer, ajustado automaticamente. Essa é a diferença central de posicionamento do framework em relação a bibliotecas de prompts e frameworks de orquestração que tratam a própria string de prompt como a unidade que se redige.
pip install dspy
# Exemplo mínimo: Signature + Module + Optimizer
import dspy
class AnswerQuestion(dspy.Signature):
"""Answer a question factually."""
question: str = dspy.InputField()
answer: str = dspy.OutputField()
qa = dspy.ChainOfThought(AnswerQuestion)
result = qa(question="What is the capital of France?")
print(result.answer)Quanto custa o DSPy?
O DSPy em si é gratuito sob a licença MIT — não há assinatura, nível pago ou serviço hospedado pela Stanford a pagar. Você paga pela sua própria computação, além de eventuais taxas de API do provedor de LLM que configurar.
- DSPy (o framework de código aberto): gratuito para sempre sob a licença MIT, autogerenciado, sem limites de uso, sem necessidade de conta para executá-lo
- Nenhum produto hospedado ou assinatura: o DSPy é uma biblioteca que você importa e executa por conta própria, não um serviço gerenciado — não há nada para assinar
- Custo opcional: taxas de API do provedor de LLM configurado (por exemplo, preços por token de um provedor em nuvem), caso você conecte um modelo em nuvem em vez de um local
- Consideração de custo dos otimizadores: executar um otimizador como o MIPROv2 faz múltiplas chamadas ao LLM para buscar a melhor configuração de prompt, então compilar um programa tem seu próprio custo de chamadas de API, além de executar o programa compilado depois
Como instalar e começar a usar o DSPy?
Instale o DSPy pelo PyPI com pip install dspy. Não é necessário clonar, usar Docker ou um binário de CLI separado — o DSPy é usado como um import Python comum.
- 1Instale o pacote:
pip install dspy. - 2Configure um provedor de LLM — por exemplo,
dspy.configure(lm=dspy.LM('openai/gpt-4o-mini', api_key='your-key'))para um modelo hospedado, ou aponte para um endpoint local compatível com OpenAI. - 3Defina uma Signature descrevendo as entradas e saídas da sua tarefa, seja como uma string curta (
"question -> answer") ou como uma classe tipada comdspy.InputField()/dspy.OutputField(). - 4Envolva a Signature em um Module —
dspy.Predict(...)para uma chamada direta, oudspy.ChainOfThought(...)para raciocínio passo a passo — e chame-o como uma função. - 5Opcional: monte um pequeno conjunto de treinamento e uma função de pontuação, e então execute um otimizador como
dspy.BootstrapFewShotoudspy.MIPROv2para compilar uma versão ajustada do seu programa. - 6Veja a documentação do DSPy para o conjunto completo de tutoriais, incluindo pipelines RAG, loops de agente com
ReActe configuração de otimizadores.
Nome de pacote antigo
Tutoriais mais antigos e algumas bases de código existentes referenciam pip install dspy-ai — esse era o nome original no PyPI antes de o projeto recuperar o nome mais curto dspy. Instalações novas devem usar pip install dspy.
É preciso Docker ou GPU para rodar o DSPy?
Não. O DSPy é uma biblioteca Python que chama um provedor de LLM que você configura — não exige Docker ou GPU local, a menos que você esteja rodando separadamente um servidor de modelo local.
O DSPy funciona com modelos locais?
Sim, se o modelo local for servido por um endpoint compatível com OpenAI ou outro suportado, para o qual você aponte a configuração de LM do DSPy — o DSPy em si não traz um modelo embutido.
Quem deveria usar o DSPy?
O DSPy se encaixa para desenvolvedores que já escrevem pipelines de LLM em Python e querem que os prompts dentro delas sejam ajustados com base em resultados mensuráveis, em vez de tentativa e erro manual. É menos adequado para equipes que precisam principalmente de coordenação multiagente ou de uma interface sem código.
Use o DSPy se
- Você tem um pipeline de LLM em Python e uma forma de pontuar suas saídas — os otimizadores do DSPy precisam de uma métrica e de um conjunto de treinamento para buscar
- Você quer que prompts e exemplos few-shot sejam gerados e ajustados de forma programática, reprodutível e reotimizável ao trocar o modelo subjacente
- Você se sente confortável definindo tarefas como Signatures tipadas e compondo Modules em código, em vez de trabalhar em um construtor visual sem código
- Sua tarefa se beneficia de estratégias de raciocínio estruturadas como
ChainOfThoughtou loops que usam ferramentas comoReAct, e você quer que essas estratégias sejam ajustadas em vez de receberem prompts manuais
Evite o DSPy se
- Você precisa de orquestração multiagente — vários agentes de LLM se comunicando, delegando e coordenando tarefas — esse é o trabalho principal do CrewAI, do AutoGen ou do LangGraph, não do DSPy
- Você precisa de uma interface sem código ou low-code — o DSPy é uma biblioteca Python sem construtor visual, diferente de ferramentas como Langflow ou Flowise
- Você não tem exemplos rotulados nem uma função de pontuação para sua tarefa — os otimizadores do DSPy precisam de algo contra o qual medir; sem isso, você volta a escrever prompts manualmente de qualquer forma
- Você precisa do ecossistema mais amplo possível de integrações prontas (carregadores de documentos, conectores de bancos vetoriais, ferramentas de agentes) — o LangChain tem uma superfície de integração maior para isso
Quando você NÃO deveria usar o DSPy?
Evite o DSPy quando sua tarefa na verdade envolve coordenar vários agentes ou conectar integrações de ferramentas de terceiros, em vez de otimizar o prompt dentro de um único pipeline.
- Uma equipe que precisa de um construtor de fluxo visual e sem código — o DSPy é code-first, sem interface de arrastar e soltar
- Um projeto que é fundamentalmente coordenação multiagente (agentes delegando subtarefas uns aos outros) — um framework feito para esse padrão, como CrewAI ou AutoGen, se encaixa melhor estruturalmente
- Um script pontual em que um único prompt escrito manualmente já funciona bem o suficiente — introduzir Signatures, Modules e um loop de otimização adiciona uma sobrecarga de engenharia que só compensa quando é preciso uma melhoria de prompt mensurável e repetível
- Uma tarefa sem forma de pontuar a correção — os otimizadores do DSPy exigem uma função de métrica, então tarefas puramente subjetivas sem exemplos rotulados ganham pouco com a etapa de otimização
- Use o DSPy justamente quando você tiver um pipeline, uma métrica e um conjunto de treinamento, e quiser automatizar e tornar reprodutível a etapa de engenharia de prompts
DSPy vs. alternativas
O DSPy ocupa uma categoria diferente da maioria dos frameworks de orquestração de agentes: ele otimiza prompts e exemplos few-shot dentro de um pipeline, em vez de coordenar vários agentes. Os pontos de comparação mais próximos são outros frameworks Python para construir pipelines de LLM, ainda que sua tarefa principal difira da do DSPy.
Ferramenta | Tarefa principal | Licença | Status | Melhor para |
|---|---|---|---|---|
| DSPy | Otimização de prompts/pesos | MIT | Ativo | Ajustar prompts com base em uma métrica |
| LangChain | Construção geral de pipelines de LLM | MIT | Ativo | O ecossistema de integrações mais amplo |
| LlamaIndex | Framework de dados focado em RAG | MIT | Ativo | Pipelines de geração aumentada por recuperação |
| Semantic Kernel | Composição estruturada de prompts/skills | MIT | Ativo (convergindo para o MAF) | SDK empresarial .NET/Python/Java |
Esta tabela compara o DSPy com frameworks de pipeline Python com a sobreposição conceitual mais próxima, não com orquestradores multiagente — o DSPy não compete diretamente com CrewAI ou AutoGen, que resolvem coordenação de agentes, não otimização de prompts.
Erros comuns ao avaliar o DSPy
Esses erros vêm de tratar o DSPy como um framework multiagente, ou de pular a etapa de otimização que é o real propósito do framework.
Erro 1: esperar que o DSPy orquestre vários agentes
Os Modules do DSPy se compõem em um único pipeline, não em uma equipe de agentes que se comunicam. Equipes que precisam de agentes delegando subtarefas uns aos outros devem avaliar em vez disso CrewAI, AutoGen ou LangGraph — o DSPy pode otimizar os prompts dentro de uma etapa de um desses pipelines, mas não substitui a própria camada de orquestração.
Erro 2: nunca executar um otimizador
Escrever Signatures e Modules sem nunca compilar o programa com um otimizador como BootstrapFewShot ou MIPROv2 pula a parte do DSPy que realmente melhora prompts escritos manualmente — um Module executado com prompting padrão, não otimizado, pode ter desempenho pior do que um prompt cuidadosamente ajustado à mão em um fluxo de trabalho tradicional.
Erro 3: confundir dspy-ai e dspy no PyPI
Tutoriais antigos referenciam pip install dspy-ai, o nome de pacote original no PyPI do projeto antes de recuperar o nome mais curto dspy. Instalações atuais devem usar pip install dspy para obter o pacote mantido e atualizado.
Perguntas frequentes
O DSPy ainda é mantido?
Sim. O repositório stanfordnlp/dspy está em desenvolvimento ativo; o pacote dspy no PyPI estava na versão 3.3.1, lançada em 21 de agosto de 2026, no momento desta análise.
O DSPy é gratuito para usar?
Sim. O DSPy tem licença MIT e é gratuito para uso comercial, modificação e hospedagem própria. Não há assinatura ou produto hospedado a pagar.
Qual é a diferença entre DSPy e LangChain?
O LangChain é um framework de propósito geral para construir pipelines de LLM com um amplo ecossistema de integrações; o DSPy foca especificamente em programar tarefas com Signatures e Modules tipados e depois otimiza automaticamente os prompts e exemplos few-shot com base em uma métrica. Eles resolvem problemas diferentes e complementares.
O que são Signatures e Modules do DSPy?
Uma Signature é uma definição tipada das entradas e saídas de uma tarefa (por exemplo, "question -> answer"). Um Module implementa uma estratégia de execução em torno de uma Signature — Predict para conclusão direta, ChainOfThought para raciocínio passo a passo, ReAct para loops de raciocínio que usam ferramentas.
O que são os otimizadores do DSPy?
Otimizadores, antes chamados de teleprompters, são algoritmos que ajustam automaticamente os prompts e exemplos few-shot dentro de um programa DSPy com base em uma métrica e um conjunto de treinamento — otimizadores nomeados incluem BootstrapFewShot, MIPROv2 e GEPA.
Como instalar o DSPy?
Execute pip install dspy. Esse é o nome canônico atual do pacote no PyPI; um pacote dspy-ai mais antigo o precedeu.
O DSPy substitui frameworks multiagente como CrewAI ou AutoGen?
Não. O DSPy otimiza prompts dentro de um pipeline; ele não orquestra vários agentes se comunicando como o CrewAI ou o AutoGen fazem. As duas categorias são complementares, não concorrentes.
Sob qual licença o DSPy é distribuído?
MIT, que permite uso comercial gratuito, modificação e hospedagem própria.
Quem criou o DSPy?
O DSPy foi criado na Stanford NLP, com desenvolvimento iniciado em dezembro de 2022. O projeto reporta mais de 454 colaboradores e uso em produção documentado em empresas como Shopify, Databricks e AWS.
Quantas estrelas no GitHub o DSPy tem?
O repositório stanfordnlp/dspy já ultrapassou 37.900 estrelas no GitHub e 3.300 forks, em setembro de 2026.
