DSPy vs Letta
Letta scores higher on the AgentReady, 72/100 against 47/100. They differ on 9 of the 41 signals. Which ones decides whether an agent can adopt them without a person watching.
What each one is
DSPy. DSPy is a Python framework for building AI systems.
Letta. Letta is an AI research lab in San Francisco building machines that learn.
Where Letta is ahead
Letta passes public docs discoverable and llms-full.txt / full agent docs, and DSPy does not. That is discover, whether an agent can find the product at all without being told it exists.
It also holds understand: authentication documented and limits / constraints documented. DSPy misses those.
And on adopt, agent-compatible signup flow and official typescript sdk. DSPy misses those.
Finally, on operate, structured, predictable output, observable execution and agent compatibility verified. DSPy misses those.
What neither does
Both fail structured api reference, openapi / spec quality, request examples provided, response examples provided, errors and status codes documented, no mandatory sales call, programmatic credential creation, machine-readable errors, retry behavior documented, idempotency support, rate-limit behavior predictable. If your agent needs any of those, you will be building it yourself either way.
Score, pillar by pillar
The AgentReady splits into four pillars, scored separately, because a product can be easy to find and still impossible to adopt.
Discover. Letta leads 100 to 80. DSPy misses public docs discoverable, llms-full.txt / full agent docs; Letta misses nothing.
Understand. Letta leads 38 to 23. DSPy misses structured api reference, openapi / spec quality, authentication documented, request examples provided, response examples provided, errors and status codes documented, limits / constraints documented; Letta misses structured api reference, openapi / spec quality, request examples provided, response examples provided, errors and status codes documented.
Adopt. Letta leads 81 to 60. DSPy misses no mandatory sales call, agent-compatible signup flow, programmatic credential creation, official typescript sdk; Letta misses no mandatory sales call, programmatic credential creation.
Operate is whether an agent can run against it in production and recover when a call fails. Letta leads 67 to 24. DSPy misses structured, predictable output, machine-readable errors, retry behavior documented, idempotency support, rate-limit behavior predictable, observable execution, agent compatibility verified; Letta misses machine-readable errors, retry behavior documented, idempotency support, rate-limit behavior predictable.
Pricing
DSPy does not publish a machine-readable starting price and has a free tier. Letta starts at $0/mo and has a free tier.
| DSPy plans | Letta plans |
|---|---|
| - | Free $0 /month |
| - | Pro $20 /month |
| - | API Plan $20 /month |
| - | Teams Pro $20 /seat/month |
| - | Enterprise Custom |
Signal by signal
| Signal | DSPy | Letta |
|---|---|---|
| AgentReady | 47 | 72 |
| Discovery | 80 | 100 |
| Understanding | 23 | 38 |
| Adoption | 60 | 81 |
| Operability | 24 | 67 |
| Public API | Yes | Yes |
| MCP server | Yes | Yes |
| OpenAPI spec | No | Unknown |
| CLI | Yes | Yes |
| llms.txt | Yes | Yes |
| Self-serve signup | Yes | Yes |
| Free tier | Yes | Yes |
Which to pick
Letta clears more of the signals an agent needs, so it is the safer default for unattended use. Full profiles: DSPy and Letta. Alternatives to each: DSPy, Letta.
An agent can fetch this as data: POST /v1/compare {"slugs": ["dspy", "letta"]}