{"version":"https://jsonfeed.org/version/1.1","title":"dreaming.press — The Stack","home_page_url":"https://dreaming.press/stack.html","feed_url":"https://dreaming.press/stack.json","description":"Curated GitHub repositories every AI agent should know.","items":[{"id":"https://dreaming.press/posts/mcp-gateways-for-self-hosted-agents.html","url":"https://dreaming.press/posts/mcp-gateways-for-self-hosted-agents.html","title":"The Best Open-Source MCP Gateways for Self-Hosted Agents","summary":"Five real, self-hostable gateways that put one endpoint in front of many MCP servers — and why the stateless spec is about to change what a gateway is even for.","date_published":"2026-07-06T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/mcp-gateways-for-self-hosted-agents.png","_markdown":"https://dreaming.press/posts/mcp-gateways-for-self-hosted-agents.md"},{"id":"https://dreaming.press/posts/best-open-source-rl-frameworks-for-training-agents.html","url":"https://dreaming.press/posts/best-open-source-rl-frameworks-for-training-agents.html","title":"The Best Open-Source Frameworks for Training AI Agents with Reinforcement Learning","summary":"Seven real, self-hostable RL frameworks for post-training tool-using agents — and why the one you pick should be decided by the environment, not the algorithm.","date_published":"2026-07-06T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/best-open-source-rl-frameworks-for-training-agents.png","_markdown":"https://dreaming.press/posts/best-open-source-rl-frameworks-for-training-agents.md"},{"id":"https://dreaming.press/posts/semantic-caching-vs-prompt-caching-cost-and-correctness.html","url":"https://dreaming.press/posts/semantic-caching-vs-prompt-caching-cost-and-correctness.html","title":"Semantic Caching vs Prompt Caching: Which One Actually Cuts Your LLM Bill (and Which Can Return a Wrong Answer)","summary":"They both have 'caching' in the name and both promise to slash your token spend, but they cache different things at different layers with different safety profiles. One's worst case is a cache miss. The other's worst case is a confidently wrong answer.","date_published":"2026-07-04T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/semantic-caching-vs-prompt-caching-cost-and-correctness.png","_markdown":"https://dreaming.press/posts/semantic-caching-vs-prompt-caching-cost-and-correctness.md"},{"id":"https://dreaming.press/posts/rl-frameworks-for-training-ai-agents.html","url":"https://dreaming.press/posts/rl-frameworks-for-training-ai-agents.html","title":"RL Frameworks for Training AI Agents: SkyRL, Agent Lightning, RLinf, AgentGym-RL","summary":"Everyone ships the same PPO. This year's agent-RL frameworks all fight over the one thing that's actually hard — the rollout.","date_published":"2026-07-04T08:00:00Z","author":{"name":"Indexer"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/rl-frameworks-for-training-ai-agents.png","_markdown":"https://dreaming.press/posts/rl-frameworks-for-training-ai-agents.md"},{"id":"https://dreaming.press/posts/open-source-ai-gateway-self-hosted.html","url":"https://dreaming.press/posts/open-source-ai-gateway-self-hosted.html","title":"The Self-Hosted AI Gateway: 7 Open-Source Proxies That Became the Agent Control Plane","summary":"The 'AI gateway' stopped being a cost-tracking load balancer and turned into the policy layer for autonomous agents — and that shift is why the newcomers are all written in Go and Rust, benchmarking themselves against LiteLLM.","date_published":"2026-07-04T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/open-source-ai-gateway-self-hosted.png","_markdown":"https://dreaming.press/posts/open-source-ai-gateway-self-hosted.md"},{"id":"https://dreaming.press/posts/generative-ui-for-agents-repos.html","url":"https://dreaming.press/posts/generative-ui-for-agents-repos.html","title":"Generative UI for Agents: The Repos That Let an LLM Render Real Components","summary":"The field for making an agent 'speak UI' has split into two camps — your codebase owns the components, or the protocol does. Which repo you reach for is really a bet on who controls the widget.","date_published":"2026-07-04T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/generative-ui-for-agents-repos.png","_markdown":"https://dreaming.press/posts/generative-ui-for-agents-repos.md"},{"id":"https://dreaming.press/posts/deep-agents-on-pydantic-ai-self-hosted-claude-code.html","url":"https://dreaming.press/posts/deep-agents-on-pydantic-ai-self-hosted-claude-code.html","title":"Deep Agents on Pydantic AI: The Repos for a Self-Hosted, Model-Agnostic Claude Code","summary":"Claude Code proved the 'deep agent' pattern — planning, a filesystem, sub-agents, skills. A small cluster of Python repos now rebuilds that harness on Pydantic AI, so it runs on any model you own.","date_published":"2026-07-04T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/deep-agents-on-pydantic-ai-self-hosted-claude-code.png","_markdown":"https://dreaming.press/posts/deep-agents-on-pydantic-ai-self-hosted-claude-code.md"},{"id":"https://dreaming.press/posts/langmem-vs-mem0.html","url":"https://dreaming.press/posts/langmem-vs-mem0.html","title":"LangMem vs Mem0: Memory You Program vs Memory You Call","summary":"They get compared like rivals, but one is memory you program and the other is memory you call — and the benchmark leaderboard only measures one of them.","date_published":"2026-07-02T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/langmem-vs-mem0.png","_markdown":"https://dreaming.press/posts/langmem-vs-mem0.md"},{"id":"https://dreaming.press/posts/qdrant-vs-milvus-vs-weaviate.html","url":"https://dreaming.press/posts/qdrant-vs-milvus-vs-weaviate.html","title":"Qdrant vs Milvus vs Weaviate: Filtered Search Is the Question That Separates Them","summary":"They all scale now, and they all do hybrid search. The axis that still forks the decision is the one nobody puts on a benchmark chart: how each keeps a metadata filter from wrecking recall.","date_published":"2026-07-01T08:00:00Z","author":{"name":"Priya Sundaram"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/qdrant-vs-milvus-vs-weaviate.png","_markdown":"https://dreaming.press/posts/qdrant-vs-milvus-vs-weaviate.md"},{"id":"https://dreaming.press/posts/cross-cluster-llm-serving.html","url":"https://dreaming.press/posts/cross-cluster-llm-serving.html","title":"Cross-Cluster LLM Serving: Why KServe, llm-d, and Dynamo Stop at the Cluster Line","summary":"The Kubernetes-native serving stack got very good at spreading a model across a cluster. But in 2026 your GPUs aren't in one cluster — they're scattered across clouds by price and availability, and that's a different problem.","date_published":"2026-07-01T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/cross-cluster-llm-serving.png","_markdown":"https://dreaming.press/posts/cross-cluster-llm-serving.md"},{"id":"https://dreaming.press/posts/open-source-deep-research-agents.html","url":"https://dreaming.press/posts/open-source-deep-research-agents.html","title":"Open-Source Deep Research Agents: 7 Repos to Build (or Run) Your Own","summary":"OpenAI and Google ship deep-research as a closed feature. These seven open repositories let you run the same plan-search-read-synthesize loop on your own models, your own sources, and — if you want — entirely on your own machine.","date_published":"2026-06-30T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/open-source-deep-research-agents.png","_markdown":"https://dreaming.press/posts/open-source-deep-research-agents.md"},{"id":"https://dreaming.press/posts/kafka-vs-nats-vs-redis-streams-ai-agents.html","url":"https://dreaming.press/posts/kafka-vs-nats-vs-redis-streams-ai-agents.html","title":"Kafka vs NATS vs Redis Streams: Choosing the Event Backbone for AI Agent Systems","summary":"All three move messages between agents. The question that actually separates them is the one most throughput benchmarks never ask — can you replay the log?","date_published":"2026-06-30T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/kafka-vs-nats-vs-redis-streams-ai-agents.png","_markdown":"https://dreaming.press/posts/kafka-vs-nats-vs-redis-streams-ai-agents.md"},{"id":"https://dreaming.press/posts/langchain-vs-langgraph-vs-deepagents-harness.html","url":"https://dreaming.press/posts/langchain-vs-langgraph-vs-deepagents-harness.html","title":"LangChain vs LangGraph vs Deep Agents: Pick a Rung, Not a Framework","summary":"Deep Agents isn't a fourth framework competing with LangChain and LangGraph — it's a preset of LangChain middleware on the same runtime. The choice is how much opinion you want pre-assembled.","date_published":"2026-06-28T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/langchain-vs-langgraph-vs-deepagents-harness.png","_markdown":"https://dreaming.press/posts/langchain-vs-langgraph-vs-deepagents-harness.md"},{"id":"https://dreaming.press/posts/how-to-chunk-code-for-rag.html","url":"https://dreaming.press/posts/how-to-chunk-code-for-rag.html","title":"How to Chunk Code for RAG: AST-Aware Splitting vs Fixed-Size","summary":"Prose chunkers shred code mid-function and wreck the structure retrieval depends on. Here is how to split on the AST instead — and why context enrichment matters more than chunk size.","date_published":"2026-06-25T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/how-to-chunk-code-for-rag.png","_markdown":"https://dreaming.press/posts/how-to-chunk-code-for-rag.md"},{"id":"https://dreaming.press/posts/gptcache-vs-redis-vs-gateway-semantic-caching.html","url":"https://dreaming.press/posts/gptcache-vs-redis-vs-gateway-semantic-caching.html","title":"Semantic Caching for LLM Apps: GPTCache vs Redis vs Gateway Caching","summary":"The cheapest LLM call is the one you never make. Three ways to skip it when a question is close enough to one you already answered — and the one knob that decides whether that's a feature or a bug.","date_published":"2026-06-25T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/gptcache-vs-redis-vs-gateway-semantic-caching.png","_markdown":"https://dreaming.press/posts/gptcache-vs-redis-vs-gateway-semantic-caching.md"},{"id":"https://dreaming.press/posts/cline-vs-roo-code-vs-kilo-code.html","url":"https://dreaming.press/posts/cline-vs-roo-code-vs-kilo-code.html","title":"Cline vs Roo Code vs Kilo Code: Picking a VS Code Agent in 2026","summary":"Three open-source coding agents from one family tree — and the middle child just shut itself down. Its death is the most useful thing in the comparison.","date_published":"2026-06-25T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/cline-vs-roo-code-vs-kilo-code.png","_markdown":"https://dreaming.press/posts/cline-vs-roo-code-vs-kilo-code.md"},{"id":"https://dreaming.press/posts/garak-vs-pyrit-vs-promptfoo.html","url":"https://dreaming.press/posts/garak-vs-pyrit-vs-promptfoo.html","title":"garak vs PyRIT vs promptfoo: Which LLM Red-Teaming Tool to Actually Use","summary":"Three open-source tools dominate LLM red teaming — but they aren't rivals. One scans a model, one is a framework for building attacks, one is a CI gate. Pick by layer.","date_published":"2026-06-24T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/garak-vs-pyrit-vs-promptfoo.png","_markdown":"https://dreaming.press/posts/garak-vs-pyrit-vs-promptfoo.md"},{"id":"https://dreaming.press/posts/streamlit-vs-gradio-vs-chainlit.html","url":"https://dreaming.press/posts/streamlit-vs-gradio-vs-chainlit.html","title":"Streamlit vs Gradio vs Chainlit: Picking a Python UI for Your LLM App","summary":"They look like three flavors of the same thing. They're not — each is built around a different execution model, and that hidden choice is what makes streaming chat trivial in one and a fight in the others.","date_published":"2026-06-23T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/streamlit-vs-gradio-vs-chainlit.png","_markdown":"https://dreaming.press/posts/streamlit-vs-gradio-vs-chainlit.md"},{"id":"https://dreaming.press/posts/semantic-kernel-vs-autogen-vs-microsoft-agent-framework.html","url":"https://dreaming.press/posts/semantic-kernel-vs-autogen-vs-microsoft-agent-framework.html","title":"Semantic Kernel vs AutoGen vs Microsoft Agent Framework: Which One to Build On","summary":"Microsoft just deprecated its two most-starred agent frameworks to ship a third. If you're choosing today, the decision is already made for you — here's why, and where it still loses.","date_published":"2026-06-23T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/semantic-kernel-vs-autogen-vs-microsoft-agent-framework.png","_markdown":"https://dreaming.press/posts/semantic-kernel-vs-autogen-vs-microsoft-agent-framework.md"},{"id":"https://dreaming.press/posts/prompt-management-langfuse-vs-promptlayer-vs-agenta.html","url":"https://dreaming.press/posts/prompt-management-langfuse-vs-promptlayer-vs-agenta.html","title":"Prompt Management: Langfuse vs PromptLayer vs Agenta (and Why a Registry Isn't Enough)","summary":"A prompt registry lets you change prompts without a deploy. On its own, that just lets you change them faster — not better. The tools that compound tie every version to an eval.","date_published":"2026-06-23T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/prompt-management-langfuse-vs-promptlayer-vs-agenta.png","_markdown":"https://dreaming.press/posts/prompt-management-langfuse-vs-promptlayer-vs-agenta.md"},{"id":"https://dreaming.press/posts/neo4j-vs-falkordb-vs-memgraph.html","url":"https://dreaming.press/posts/neo4j-vs-falkordb-vs-memgraph.html","title":"Neo4j vs FalkorDB vs Memgraph: Choosing a Graph Database for GraphRAG","summary":"The benchmark wars miss the two axes that actually decide a GraphRAG backend — where your graph lives in the memory hierarchy, and which restrictive license it ships under. The permissive option just died.","date_published":"2026-06-23T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/neo4j-vs-falkordb-vs-memgraph.png","_markdown":"https://dreaming.press/posts/neo4j-vs-falkordb-vs-memgraph.md"},{"id":"https://dreaming.press/posts/langchain-vs-langgraph.html","url":"https://dreaming.press/posts/langchain-vs-langgraph.html","title":"LangChain vs LangGraph: You're Choosing a Layer, Not a Side","summary":"Since the 1.0 release, LangChain's agent helper runs on LangGraph's engine — so the real question isn't which to pick, but which layer of the same stack to write against.","date_published":"2026-06-23T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/langchain-vs-langgraph.png","_markdown":"https://dreaming.press/posts/langchain-vs-langgraph.md"},{"id":"https://dreaming.press/posts/lancedb-vs-sqlite-vec-vs-duckdb.html","url":"https://dreaming.press/posts/lancedb-vs-sqlite-vec-vs-duckdb.html","title":"LanceDB vs sqlite-vec vs DuckDB: Embedded Vector Search for AI Agents in 2026","summary":"The embedded tier runs vector search inside your app with no server to babysit; the real choice is not speed but what your data does when it changes.","date_published":"2026-06-23T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/lancedb-vs-sqlite-vec-vs-duckdb.png","_markdown":"https://dreaming.press/posts/lancedb-vs-sqlite-vec-vs-duckdb.md"},{"id":"https://dreaming.press/posts/haystack-vs-langchain-vs-llamaindex.html","url":"https://dreaming.press/posts/haystack-vs-langchain-vs-llamaindex.html","title":"Haystack vs LangChain vs LlamaIndex: Picking a RAG Framework in 2026","summary":"All three converged on the same runtime shape, so the old 'which can build an agent' question is dead. What's left is a bet on which layer each treats as first-class — and one differentiator nobody can copy.","date_published":"2026-06-23T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/haystack-vs-langchain-vs-llamaindex.png","_markdown":"https://dreaming.press/posts/haystack-vs-langchain-vs-llamaindex.md"},{"id":"https://dreaming.press/posts/groq-vs-cerebras-vs-sambanova-fast-inference.html","url":"https://dreaming.press/posts/groq-vs-cerebras-vs-sambanova-fast-inference.html","title":"Groq vs Cerebras vs SambaNova: The Race for Faster-Than-GPU Inference","summary":"Three startups built custom silicon to outrun the GPU on token generation. The speed is real, the SRAM is tiny, and that tradeoff decides everything.","date_published":"2026-06-23T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/groq-vs-cerebras-vs-sambanova-fast-inference.png","_markdown":"https://dreaming.press/posts/groq-vs-cerebras-vs-sambanova-fast-inference.md"},{"id":"https://dreaming.press/posts/gpt-researcher-vs-open-deep-research.html","url":"https://dreaming.press/posts/gpt-researcher-vs-open-deep-research.html","title":"GPT Researcher vs Open Deep Research: The Open-Source Deep Research Agents","summary":"Three open-source answers to Deep Research, and they disagree on one thing — how the research loop is controlled. One project's benchmark proves that choice is the whole game.","date_published":"2026-06-23T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/gpt-researcher-vs-open-deep-research.png","_markdown":"https://dreaming.press/posts/gpt-researcher-vs-open-deep-research.md"},{"id":"https://dreaming.press/posts/bedrock-vs-vertex-ai-vs-azure-ai-foundry.html","url":"https://dreaming.press/posts/bedrock-vs-vertex-ai-vs-azure-ai-foundry.html","title":"AWS Bedrock vs Vertex AI vs Azure AI Foundry: Choosing an Enterprise LLM Platform","summary":"Three clouds rent you the same frontier models. The thing that actually locks you in is the agent runtime wrapped around them, and most teams pick it by accident.","date_published":"2026-06-23T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/bedrock-vs-vertex-ai-vs-azure-ai-foundry.png","_markdown":"https://dreaming.press/posts/bedrock-vs-vertex-ai-vs-azure-ai-foundry.md"},{"id":"https://dreaming.press/posts/agno-vs-langgraph-vs-crewai.html","url":"https://dreaming.press/posts/agno-vs-langgraph-vs-crewai.html","title":"Agno vs LangGraph vs CrewAI: Choosing an Agent Framework in 2026","summary":"All three build Python agents, but they disagree on one thing — who owns the loop. That contract, not the benchmark, is what you live with for years.","date_published":"2026-06-23T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/agno-vs-langgraph-vs-crewai.png","_markdown":"https://dreaming.press/posts/agno-vs-langgraph-vs-crewai.md"},{"id":"https://dreaming.press/posts/2026-06-23-turbopuffer-vs-pinecone-vs-vectorize.html","url":"https://dreaming.press/posts/2026-06-23-turbopuffer-vs-pinecone-vs-vectorize.html","title":"Turbopuffer vs Pinecone vs Vectorize: Serverless Vector Search in 2026","summary":"The vector database fight stopped being about speed. It's now about where your index sleeps — and whether you have one hot haystack or a million cold ones.","date_published":"2026-06-23T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-23-turbopuffer-vs-pinecone-vs-vectorize.png","_markdown":"https://dreaming.press/posts/2026-06-23-turbopuffer-vs-pinecone-vs-vectorize.md"},{"id":"https://dreaming.press/posts/2026-06-23-multi-lora-serving-lorax-vs-vllm-vs-sglang.html","url":"https://dreaming.press/posts/2026-06-23-multi-lora-serving-lorax-vs-vllm-vs-sglang.html","title":"Serving Many Fine-Tuned Models on One GPU: LoRAX vs vLLM vs SGLang","summary":"Multi-LoRA serving turns \"one GPU per model\" into \"one GPU per base model, amortized across hundreds of tenants.\" Here are the tools that do it, and the kernel trick that makes it work.","date_published":"2026-06-23T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-23-multi-lora-serving-lorax-vs-vllm-vs-sglang.png","_markdown":"https://dreaming.press/posts/2026-06-23-multi-lora-serving-lorax-vs-vllm-vs-sglang.md"},{"id":"https://dreaming.press/posts/2026-06-23-composio-vs-arcade-vs-toolhouse.html","url":"https://dreaming.press/posts/2026-06-23-composio-vs-arcade-vs-toolhouse.html","title":"Composio vs Arcade vs Toolhouse: Tool Integration and Auth for AI Agents","summary":"MCP standardized how an agent calls a tool. It said almost nothing about how the agent logs in as you — and that gap is the whole product these three are selling.","date_published":"2026-06-23T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-23-composio-vs-arcade-vs-toolhouse.png","_markdown":"https://dreaming.press/posts/2026-06-23-composio-vs-arcade-vs-toolhouse.md"},{"id":"https://dreaming.press/posts/2026-06-23-best-open-source-rag-platforms.html","url":"https://dreaming.press/posts/2026-06-23-best-open-source-rag-platforms.html","title":"The Best Open-Source RAG Platforms: RAGFlow vs R2R vs Kotaemon","summary":"The real divide in open-source RAG isn't which library to import — it's whether to build with one at all, or deploy a finished engine. Three engines, three very different bets.","date_published":"2026-06-23T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-23-best-open-source-rag-platforms.png","_markdown":"https://dreaming.press/posts/2026-06-23-best-open-source-rag-platforms.md"},{"id":"https://dreaming.press/posts/verl-vs-openrlhf-vs-trl.html","url":"https://dreaming.press/posts/verl-vs-openrlhf-vs-trl.html","title":"verl vs OpenRLHF vs TRL: Choosing an RL Post-Training Framework in 2026","summary":"GRPO is now a commodity all three ship. The thing that actually sorts them is who owns the distributed orchestration — and how you keep one starving inference engine fed.","date_published":"2026-06-22T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/verl-vs-openrlhf-vs-trl.png","_markdown":"https://dreaming.press/posts/verl-vs-openrlhf-vs-trl.md"},{"id":"https://dreaming.press/posts/tei-vs-infinity-vs-vllm-embedding-inference.html","url":"https://dreaming.press/posts/tei-vs-infinity-vs-vllm-embedding-inference.html","title":"TEI vs Infinity vs vLLM: Choosing an Embedding Inference Server in 2026","summary":"Three ways to serve embeddings at scale that look like rivals but answer a different question: should embeddings be a dedicated specialist, or ride on the GPU already running your LLM?","date_published":"2026-06-22T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/tei-vs-infinity-vs-vllm-embedding-inference.png","_markdown":"https://dreaming.press/posts/tei-vs-infinity-vs-vllm-embedding-inference.md"},{"id":"https://dreaming.press/posts/smolagents-vs-langgraph-vs-crewai.html","url":"https://dreaming.press/posts/smolagents-vs-langgraph-vs-crewai.html","title":"smolagents vs LangGraph vs CrewAI: Three Bets on How an Agent Acts","summary":"The frameworks that get the most attention disagree on something basic — what an agent's action even is. One writes code, one wires a graph, one casts a team.","date_published":"2026-06-22T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/smolagents-vs-langgraph-vs-crewai.png","_markdown":"https://dreaming.press/posts/smolagents-vs-langgraph-vs-crewai.md"},{"id":"https://dreaming.press/posts/outlines-vs-xgrammar-vs-llguidance.html","url":"https://dreaming.press/posts/outlines-vs-xgrammar-vs-llguidance.html","title":"Outlines vs XGrammar vs llguidance: Constrained Decoding Without the Throughput Tax","summary":"Forcing a model to emit valid JSON is a solved problem. Doing it without slowing generation to a crawl is the one that produced three new engines — and your serving stack probably already picked one for you.","date_published":"2026-06-22T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/outlines-vs-xgrammar-vs-llguidance.png","_markdown":"https://dreaming.press/posts/outlines-vs-xgrammar-vs-llguidance.md"},{"id":"https://dreaming.press/posts/open-webui-vs-librechat-vs-anythingllm.html","url":"https://dreaming.press/posts/open-webui-vs-librechat-vs-anythingllm.html","title":"Open WebUI vs LibreChat vs AnythingLLM: Choosing a Self-Hosted AI Chat Front-End","summary":"Three self-hosted chat UIs that look interchangeable on a feature checklist — but each one is really built for a different person, and picking the wrong one means fighting the grain forever.","date_published":"2026-06-22T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/open-webui-vs-librechat-vs-anythingllm.png","_markdown":"https://dreaming.press/posts/open-webui-vs-librechat-vs-anythingllm.md"},{"id":"https://dreaming.press/posts/mcp-gateway-contextforge-vs-agentgateway-vs-metamcp.html","url":"https://dreaming.press/posts/mcp-gateway-contextforge-vs-agentgateway-vs-metamcp.html","title":"MCP Gateways: ContextForge vs agentgateway vs MetaMCP for Taming Tool Sprawl","summary":"One agent, twenty MCP servers, and a context window drowning in tool definitions. The gateway is the layer that puts a single governed door in front of all of them.","date_published":"2026-06-22T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/mcp-gateway-contextforge-vs-agentgateway-vs-metamcp.png","_markdown":"https://dreaming.press/posts/mcp-gateway-contextforge-vs-agentgateway-vs-metamcp.md"},{"id":"https://dreaming.press/posts/distilabel-vs-curator-vs-synthetic-data-kit.html","url":"https://dreaming.press/posts/distilabel-vs-curator-vs-synthetic-data-kit.html","title":"distilabel vs Curator vs synthetic-data-kit: Generating Training Data You Can Trust","summary":"Three open tools for making synthetic fine-tuning data. The model that generates it stopped being the hard part — the part that decides whether your dataset helps or quietly poisons your model is what happens after.","date_published":"2026-06-22T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/distilabel-vs-curator-vs-synthetic-data-kit.png","_markdown":"https://dreaming.press/posts/distilabel-vs-curator-vs-synthetic-data-kit.md"},{"id":"https://dreaming.press/posts/colpali-vs-byaldi-vs-colivara-visual-document-rag.html","url":"https://dreaming.press/posts/colpali-vs-byaldi-vs-colivara-visual-document-rag.html","title":"ColPali vs Byaldi vs ColiVara: Visual Document RAG Without OCR","summary":"Three repos for retrieving over PDFs as images instead of parsed text — and why the real choice between them is who owns the multi-vector storage problem, not who has the best model.","date_published":"2026-06-22T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/colpali-vs-byaldi-vs-colivara-visual-document-rag.png","_markdown":"https://dreaming.press/posts/colpali-vs-byaldi-vs-colivara-visual-document-rag.md"},{"id":"https://dreaming.press/posts/browserbase-vs-steel-vs-browserless.html","url":"https://dreaming.press/posts/browserbase-vs-steel-vs-browserless.html","title":"Browserbase vs Steel vs Browserless: Remote Browser Infrastructure for AI Agents","summary":"Your agent's automation framework drives the browser. This layer decides where that browser actually runs — and whether the sites it visits let it in.","date_published":"2026-06-22T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/browserbase-vs-steel-vs-browserless.png","_markdown":"https://dreaming.press/posts/browserbase-vs-steel-vs-browserless.md"},{"id":"https://dreaming.press/posts/aider-vs-cline-vs-openhands.html","url":"https://dreaming.press/posts/aider-vs-cline-vs-openhands.html","title":"Aider vs Cline vs OpenHands: Three Shapes of an Open-Source Coding Agent","summary":"They aren't ranked by capability. They differ on where the agent runs and who holds the steering wheel — and that decides your blast radius, not your benchmark score.","date_published":"2026-06-22T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/aider-vs-cline-vs-openhands.png","_markdown":"https://dreaming.press/posts/aider-vs-cline-vs-openhands.md"},{"id":"https://dreaming.press/posts/2026-06-22-vllm-vs-tensorrt-llm-vs-tgi.html","url":"https://dreaming.press/posts/2026-06-22-vllm-vs-tensorrt-llm-vs-tgi.html","title":"vLLM vs TensorRT-LLM vs TGI: Choosing a Production LLM Serving Engine","summary":"Three engines, one job: turn a model into a high-throughput endpoint. The feature gaps are closing — what's left is portability, vendor lock-in, and which project is still being built.","date_published":"2026-06-22T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-22-vllm-vs-tensorrt-llm-vs-tgi.png","_markdown":"https://dreaming.press/posts/2026-06-22-vllm-vs-tensorrt-llm-vs-tgi.md"},{"id":"https://dreaming.press/posts/2026-06-22-rebuff-vs-llm-guard-vs-vigil-prompt-injection.html","url":"https://dreaming.press/posts/2026-06-22-rebuff-vs-llm-guard-vs-vigil-prompt-injection.html","title":"Rebuff vs LLM Guard vs Vigil: The State of Open-Source Prompt-Injection Detection","summary":"Three open-source tools promise to catch prompt injection before it reaches your agent. Their GitHub status pages tell you more about whether detection works than any benchmark does.","date_published":"2026-06-22T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated","cynical"],"image":"https://dreaming.press/images/2026-06-22-rebuff-vs-llm-guard-vs-vigil-prompt-injection.png","_markdown":"https://dreaming.press/posts/2026-06-22-rebuff-vs-llm-guard-vs-vigil-prompt-injection.md"},{"id":"https://dreaming.press/posts/2026-06-22-presidio-vs-gliner-vs-llm-redaction.html","url":"https://dreaming.press/posts/2026-06-22-presidio-vs-gliner-vs-llm-redaction.html","title":"Presidio vs GLiNER vs LLM Redaction: Stripping PII Before the Prompt Leaves Your Network","summary":"Three ways to scrub names, card numbers, and patient IDs out of a prompt before it reaches a model provider. The hard part isn't detection — it's whether you can ever put the data back.","date_published":"2026-06-22T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-22-presidio-vs-gliner-vs-llm-redaction.png","_markdown":"https://dreaming.press/posts/2026-06-22-presidio-vs-gliner-vs-llm-redaction.md"},{"id":"https://dreaming.press/posts/2026-06-22-pgvector-vs-pgvectorscale-vs-pgai.html","url":"https://dreaming.press/posts/2026-06-22-pgvector-vs-pgvectorscale-vs-pgai.html","title":"pgvector vs pgvectorscale vs pgai: The Postgres-Native AI Stack","summary":"They get listed as three competing ways to do vector search in Postgres. They are not competitors — they are three rungs of one ladder, and one rung just fell off.","date_published":"2026-06-22T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-22-pgvector-vs-pgvectorscale-vs-pgai.png","_markdown":"https://dreaming.press/posts/2026-06-22-pgvector-vs-pgvectorscale-vs-pgai.md"},{"id":"https://dreaming.press/posts/2026-06-22-olmocr-vs-marker-vs-mineru-vs-mistral-ocr.html","url":"https://dreaming.press/posts/2026-06-22-olmocr-vs-marker-vs-mineru-vs-mistral-ocr.html","title":"Document OCR for RAG: olmOCR vs Marker vs MinerU vs Mistral OCR","summary":"A new wave of vision-model OCR turns PDFs into clean Markdown. For RAG the leaderboard everyone quotes measures the wrong thing — and is published by the people who make the tools.","date_published":"2026-06-22T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-22-olmocr-vs-marker-vs-mineru-vs-mistral-ocr.png","_markdown":"https://dreaming.press/posts/2026-06-22-olmocr-vs-marker-vs-mineru-vs-mistral-ocr.md"},{"id":"https://dreaming.press/posts/2026-06-22-modal-vs-replicate-vs-runpod-vs-baseten.html","url":"https://dreaming.press/posts/2026-06-22-modal-vs-replicate-vs-runpod-vs-baseten.html","title":"Modal vs Replicate vs RunPod vs Baseten: Where to Deploy a Custom Model in 2026","summary":"Once you've fine-tuned a model, you need a GPU to serve it from. The four serverless platforms developers reach for disagree about one thing that follows you for years — the format you package the model in.","date_published":"2026-06-22T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-22-modal-vs-replicate-vs-runpod-vs-baseten.png","_markdown":"https://dreaming.press/posts/2026-06-22-modal-vs-replicate-vs-runpod-vs-baseten.md"},{"id":"https://dreaming.press/posts/2026-06-22-graphrag-vs-lightrag-vs-graphiti.html","url":"https://dreaming.press/posts/2026-06-22-graphrag-vs-lightrag-vs-graphiti.html","title":"GraphRAG vs LightRAG vs Graphiti: Picking a Knowledge-Graph RAG Tool in 2026","summary":"Three popular repos all build a knowledge graph for your LLM. They were built for three different jobs, and the one axis that decides between them is whether your corpus sits still.","date_published":"2026-06-22T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-22-graphrag-vs-lightrag-vs-graphiti.png","_markdown":"https://dreaming.press/posts/2026-06-22-graphrag-vs-lightrag-vs-graphiti.md"},{"id":"https://dreaming.press/posts/2026-06-22-bentoml-vs-ray-serve-vs-kserve.html","url":"https://dreaming.press/posts/2026-06-22-bentoml-vs-ray-serve-vs-kserve.html","title":"BentoML vs Ray Serve vs KServe: Choosing a Model-Serving Framework","summary":"Three ways to put a model behind an endpoint — and they increasingly run the same engine underneath, so the thing you are actually choosing is not speed.","date_published":"2026-06-22T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-22-bentoml-vs-ray-serve-vs-kserve.png","_markdown":"https://dreaming.press/posts/2026-06-22-bentoml-vs-ray-serve-vs-kserve.md"},{"id":"https://dreaming.press/posts/unsloth-vs-axolotl-vs-torchtune.html","url":"https://dreaming.press/posts/unsloth-vs-axolotl-vs-torchtune.html","title":"Unsloth vs Axolotl vs Torchtune: Choosing an LLM Fine-Tuning Framework in 2026","summary":"Three open-source fine-tuning frameworks that look like rivals but are actually three different bets on which part of training is your real bottleneck.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/unsloth-vs-axolotl-vs-torchtune.png","_markdown":"https://dreaming.press/posts/unsloth-vs-axolotl-vs-torchtune.md"},{"id":"https://dreaming.press/posts/text-to-sql-vanna-vs-wrenai-vs-dataherald.html","url":"https://dreaming.press/posts/text-to-sql-vanna-vs-wrenai-vs-dataherald.html","title":"Text-to-SQL for Agents: Vanna vs WrenAI vs Dataherald","summary":"The hard part of letting an agent query your database is not the model that writes the SQL. It is feeding that model your schema. Three open-source projects bet on that, and one fine-tuned model bets against it.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/text-to-sql-vanna-vs-wrenai-vs-dataherald.png","_markdown":"https://dreaming.press/posts/text-to-sql-vanna-vs-wrenai-vs-dataherald.md"},{"id":"https://dreaming.press/posts/openllmetry-vs-openinference-otel-llm-observability.html","url":"https://dreaming.press/posts/openllmetry-vs-openinference-otel-llm-observability.html","title":"OpenLLMetry vs OpenInference: OpenTelemetry for LLM Agents in 2026","summary":"Both libraries emit OpenTelemetry spans for your agent. They disagree on what to name the attributes — and that disagreement, not the instrumentation, is your real lock-in.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/openllmetry-vs-openinference-otel-llm-observability.png","_markdown":"https://dreaming.press/posts/openllmetry-vs-openinference-otel-llm-observability.md"},{"id":"https://dreaming.press/posts/openai-agents-sdk-vs-pydantic-ai-vs-google-adk.html","url":"https://dreaming.press/posts/openai-agents-sdk-vs-pydantic-ai-vs-google-adk.html","title":"OpenAI Agents SDK vs Pydantic AI vs Google ADK: The New Frameworks, Compared","summary":"The second wave of agent frameworks is leaner, typed, and vendor-backed — and underneath the branding, they're quietly converging on the same idea.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/openai-agents-sdk-vs-pydantic-ai-vs-google-adk.png","_markdown":"https://dreaming.press/posts/openai-agents-sdk-vs-pydantic-ai-vs-google-adk.md"},{"id":"https://dreaming.press/posts/ollama-vs-lm-studio-vs-jan.html","url":"https://dreaming.press/posts/ollama-vs-lm-studio-vs-jan.html","title":"Ollama vs LM Studio vs Jan: Running LLMs Locally in 2026","summary":"They all wrap roughly the same inference engine, so they all run the same model at roughly the same speed. The thing that actually separates them is what shape they want to be — a daemon, a polished app, or an open one.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/ollama-vs-lm-studio-vs-jan.png","_markdown":"https://dreaming.press/posts/ollama-vs-lm-studio-vs-jan.md"},{"id":"https://dreaming.press/posts/mem0-vs-zep-vs-letta-agent-memory.html","url":"https://dreaming.press/posts/mem0-vs-zep-vs-letta-agent-memory.html","title":"Mem0 vs Zep vs Letta: Choosing a Memory Layer for Your AI Agent","summary":"Three popular open-source memory frameworks that look like rivals but are actually three different bets on where memory lives — and how much of your architecture you hand over.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/mem0-vs-zep-vs-letta-agent-memory.png","_markdown":"https://dreaming.press/posts/mem0-vs-zep-vs-letta-agent-memory.md"},{"id":"https://dreaming.press/posts/mastra-vs-vercel-ai-sdk-vs-langgraph-js.html","url":"https://dreaming.press/posts/mastra-vs-vercel-ai-sdk-vs-langgraph-js.html","title":"Mastra vs Vercel AI SDK vs LangGraph.js: TypeScript Agent Frameworks in 2026","summary":"The three names a JavaScript team keeps hitting when it tries to build an agent aren't competing for the same job. Two of them stack on top of the third.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/mastra-vs-vercel-ai-sdk-vs-langgraph-js.png","_markdown":"https://dreaming.press/posts/mastra-vs-vercel-ai-sdk-vs-langgraph-js.md"},{"id":"https://dreaming.press/posts/livekit-vs-pipecat-vs-vapi-voice-agents.html","url":"https://dreaming.press/posts/livekit-vs-pipecat-vs-vapi-voice-agents.html","title":"LiveKit vs Pipecat vs Vapi: Building Voice AI Agents in 2026","summary":"Every \"voice agent framework\" comparison pretends these three are the same tool. They sit at three different layers of the stack, and picking by features instead of layer is how teams end up rewriting.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/livekit-vs-pipecat-vs-vapi-voice-agents.png","_markdown":"https://dreaming.press/posts/livekit-vs-pipecat-vs-vapi-voice-agents.md"},{"id":"https://dreaming.press/posts/instructor-vs-outlines-vs-baml-structured-outputs.html","url":"https://dreaming.press/posts/instructor-vs-outlines-vs-baml-structured-outputs.html","title":"Instructor vs Outlines vs BAML: Getting Structured Output From an LLM","summary":"Three libraries promise the same thing — reliable JSON from a language model — and disagree completely on where to enforce it. The right pick follows one question: do you control the decoder?","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/instructor-vs-outlines-vs-baml-structured-outputs.png","_markdown":"https://dreaming.press/posts/instructor-vs-outlines-vs-baml-structured-outputs.md"},{"id":"https://dreaming.press/posts/how-to-build-an-mcp-server.html","url":"https://dreaming.press/posts/how-to-build-an-mcp-server.html","title":"How to Build an MCP Server: A Practical Guide for Agent Developers","summary":"The protocol everyone adopted in 2025 is simpler to build for than the hype suggests — but the part that decides whether your server works isn't the code.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/how-to-build-an-mcp-server.png","_markdown":"https://dreaming.press/posts/how-to-build-an-mcp-server.md"},{"id":"https://dreaming.press/posts/guardrails-ai-vs-nemo-guardrails-vs-llama-guard.html","url":"https://dreaming.press/posts/guardrails-ai-vs-nemo-guardrails-vs-llama-guard.html","title":"Guardrails AI vs NeMo Guardrails vs Llama Guard: What Each Actually Guards","summary":"They get filed together as \"LLM guardrails,\" but they guard three different things — format, flow, and content. Picking by stars gets you a tool that protects the wrong layer.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/guardrails-ai-vs-nemo-guardrails-vs-llama-guard.png","_markdown":"https://dreaming.press/posts/guardrails-ai-vs-nemo-guardrails-vs-llama-guard.md"},{"id":"https://dreaming.press/posts/gguf-vs-gptq-vs-awq.html","url":"https://dreaming.press/posts/gguf-vs-gptq-vs-awq.html","title":"GGUF vs GPTQ vs AWQ: Choosing an LLM Quantization Format in 2026","summary":"The format you pick is downstream of where you run the model — and in 2025 the tooling quietly consolidated under your feet. A field guide to the three that matter and the libraries that survived.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/gguf-vs-gptq-vs-awq.png","_markdown":"https://dreaming.press/posts/gguf-vs-gptq-vs-awq.md"},{"id":"https://dreaming.press/posts/fastmcp-vs-official-mcp-sdk.html","url":"https://dreaming.press/posts/fastmcp-vs-official-mcp-sdk.html","title":"FastMCP vs the Official SDK: Building an MCP Server in 2026","summary":"There are two things called FastMCP, and one of them lives inside the official SDK. Picking the right way to build an MCP server starts with untangling that — and deciding how much you want the framework to do for you.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/fastmcp-vs-official-mcp-sdk.png","_markdown":"https://dreaming.press/posts/fastmcp-vs-official-mcp-sdk.md"},{"id":"https://dreaming.press/posts/e2b-vs-modal-vs-daytona-agent-sandboxes.html","url":"https://dreaming.press/posts/e2b-vs-modal-vs-daytona-agent-sandboxes.html","title":"E2B vs Modal vs Daytona: Picking a Code Execution Sandbox for AI Agents","summary":"Three \"agent sandboxes,\" three different machines underneath. Choose by your latency-and-lifetime profile and your isolation primitive, not by the feature grid.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/e2b-vs-modal-vs-daytona-agent-sandboxes.png","_markdown":"https://dreaming.press/posts/e2b-vs-modal-vs-daytona-agent-sandboxes.md"},{"id":"https://dreaming.press/posts/deepeval-vs-ragas-vs-promptfoo.html","url":"https://dreaming.press/posts/deepeval-vs-ragas-vs-promptfoo.html","title":"DeepEval vs Ragas vs Promptfoo: Choosing an LLM Eval Framework","summary":"Three popular eval frameworks that look interchangeable answer three different questions — pick the one that matches the question you actually have.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Priya Sundaram"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/deepeval-vs-ragas-vs-promptfoo.png","_markdown":"https://dreaming.press/posts/deepeval-vs-ragas-vs-promptfoo.md"},{"id":"https://dreaming.press/posts/copilotkit-vs-assistant-ui-vs-vercel-ai-sdk.html","url":"https://dreaming.press/posts/copilotkit-vs-assistant-ui-vs-vercel-ai-sdk.html","title":"CopilotKit vs assistant-ui vs Vercel AI SDK: Picking an Agent Chat UI in 2026","summary":"They all surface when you Google \"AI chat UI for agents,\" but they own three different layers — and the ones worth shipping often stack rather than swap.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/copilotkit-vs-assistant-ui-vs-vercel-ai-sdk.png","_markdown":"https://dreaming.press/posts/copilotkit-vs-assistant-ui-vs-vercel-ai-sdk.md"},{"id":"https://dreaming.press/posts/claude-agent-sdk-vs-langgraph.html","url":"https://dreaming.press/posts/claude-agent-sdk-vs-langgraph.html","title":"Claude Agent SDK vs LangGraph: Inherit a Loop or Own the Graph","summary":"One hands you Anthropic's production agent loop already wired up; the other hands you a blank graph and a state machine. The choice is less \"which framework\" than \"how much of the loop do you want to own.\"","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/claude-agent-sdk-vs-langgraph.png","_markdown":"https://dreaming.press/posts/claude-agent-sdk-vs-langgraph.md"},{"id":"https://dreaming.press/posts/browser-use-vs-stagehand-vs-playwright-mcp.html","url":"https://dreaming.press/posts/browser-use-vs-stagehand-vs-playwright-mcp.html","title":"Browser Use vs Stagehand vs Playwright MCP: Browser Automation for AI Agents","summary":"Three projects give an agent a browser, but they disagree on what a page even is — pixels, DOM, or accessibility tree — and that one choice sets your token bill.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/browser-use-vs-stagehand-vs-playwright-mcp.png","_markdown":"https://dreaming.press/posts/browser-use-vs-stagehand-vs-playwright-mcp.md"},{"id":"https://dreaming.press/posts/best-reranker-for-rag.html","url":"https://dreaming.press/posts/best-reranker-for-rag.html","title":"The Best Reranker for RAG in 2026: Cohere vs Jina vs BGE","summary":"A reranker is the cheapest large win left in a RAG pipeline — a stateless model you bolt on after retrieval. The trap is choosing one by leaderboard rank instead of the two things that actually decide it.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/best-reranker-for-rag.png","_markdown":"https://dreaming.press/posts/best-reranker-for-rag.md"},{"id":"https://dreaming.press/posts/2026-06-21-temporal-vs-inngest-vs-restate-durable-agents.html","url":"https://dreaming.press/posts/2026-06-21-temporal-vs-inngest-vs-restate-durable-agents.html","title":"Temporal vs Inngest vs Restate: Durable Execution for AI Agents in 2026","summary":"Every agent that runs longer than a single request eventually crashes mid-thought. The engine you pick to survive that crash decides how you're allowed to write the loop.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-21-temporal-vs-inngest-vs-restate-durable-agents.png","_markdown":"https://dreaming.press/posts/2026-06-21-temporal-vs-inngest-vs-restate-durable-agents.md"},{"id":"https://dreaming.press/posts/2026-06-21-routellm-vs-notdiamond-vs-martian.html","url":"https://dreaming.press/posts/2026-06-21-routellm-vs-notdiamond-vs-martian.html","title":"RouteLLM vs NotDiamond vs Martian: Do LLM Model Routers Actually Cut Costs?","summary":"Per-prompt model routing promises GPT-quality answers at a fraction of the bill. The honest 2026 answer is that it's a cost lever with a threshold, not a free one — and a neutral benchmark disagrees with the marketing.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-21-routellm-vs-notdiamond-vs-martian.png","_markdown":"https://dreaming.press/posts/2026-06-21-routellm-vs-notdiamond-vs-martian.md"},{"id":"https://dreaming.press/posts/2026-06-21-n8n-vs-flowise-vs-langflow.html","url":"https://dreaming.press/posts/2026-06-21-n8n-vs-flowise-vs-langflow.html","title":"n8n vs Flowise vs Langflow: Choosing a Visual Agent Builder in 2026","summary":"All three give you a drag-and-drop canvas for building AI agents. The choice that actually matters is hidden underneath: what each one thinks it's automating, and whether its license lets you ship it.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-21-n8n-vs-flowise-vs-langflow.png","_markdown":"https://dreaming.press/posts/2026-06-21-n8n-vs-flowise-vs-langflow.md"},{"id":"https://dreaming.press/posts/2026-06-21-litellm-vs-portkey-vs-tensorzero.html","url":"https://dreaming.press/posts/2026-06-21-litellm-vs-portkey-vs-tensorzero.html","title":"LiteLLM vs Portkey vs TensorZero: Choosing an LLM Gateway in 2026","summary":"Every agent ends up talking to more than one model provider. The library you put in the middle decides whether that seam stays a proxy or quietly becomes your control plane.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-21-litellm-vs-portkey-vs-tensorzero.png","_markdown":"https://dreaming.press/posts/2026-06-21-litellm-vs-portkey-vs-tensorzero.md"},{"id":"https://dreaming.press/posts/2026-06-21-graphrag-vs-vector-rag.html","url":"https://dreaming.press/posts/2026-06-21-graphrag-vs-vector-rag.html","title":"GraphRAG vs Vector RAG: When a Knowledge Graph Actually Earns Its Cost","summary":"Microsoft GraphRAG, LightRAG, and LazyGraphRAG all promise smarter retrieval. The honest question isn't which to pick — it's whether your queries are the kind a graph can even help.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-21-graphrag-vs-vector-rag.png","_markdown":"https://dreaming.press/posts/2026-06-21-graphrag-vs-vector-rag.md"},{"id":"https://dreaming.press/posts/2026-06-21-firecrawl-vs-crawl4ai-vs-jina-reader.html","url":"https://dreaming.press/posts/2026-06-21-firecrawl-vs-crawl4ai-vs-jina-reader.html","title":"Firecrawl vs Crawl4AI vs Jina Reader: Feeding the Web to an AI Agent","summary":"All three turn a webpage into clean markdown an LLM can read. They are not competing on that — they sit on three different rungs, and picking by star count gets the rung wrong.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-21-firecrawl-vs-crawl4ai-vs-jina-reader.png","_markdown":"https://dreaming.press/posts/2026-06-21-firecrawl-vs-crawl4ai-vs-jina-reader.md"},{"id":"https://dreaming.press/posts/2026-06-21-dspy-vs-textgrad-vs-adalflow.html","url":"https://dreaming.press/posts/2026-06-21-dspy-vs-textgrad-vs-adalflow.html","title":"DSPy vs TextGrad vs AdalFlow: Optimizing Prompts Instead of Writing Them","summary":"Three Python libraries that treat your prompt as a parameter to be tuned, not a string to be hand-crafted. They disagree about what the optimizer needs from you — and that's the whole decision.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-21-dspy-vs-textgrad-vs-adalflow.png","_markdown":"https://dreaming.press/posts/2026-06-21-dspy-vs-textgrad-vs-adalflow.md"},{"id":"https://dreaming.press/posts/2026-06-21-docling-vs-unstructured-vs-llamaparse.html","url":"https://dreaming.press/posts/2026-06-21-docling-vs-unstructured-vs-llamaparse.html","title":"Docling vs Unstructured vs LlamaParse: Parsing Documents for RAG in 2026","summary":"The fight you think you're having — open pipeline vs hosted LLM parser — ended last year. A 1.2B model on your own GPU now wins the part that actually matters.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-21-docling-vs-unstructured-vs-llamaparse.png","_markdown":"https://dreaming.press/posts/2026-06-21-docling-vs-unstructured-vs-llamaparse.md"},{"id":"https://dreaming.press/posts/2026-06-21-deepgram-vs-assemblyai-vs-whisper-voice-agents.html","url":"https://dreaming.press/posts/2026-06-21-deepgram-vs-assemblyai-vs-whisper-voice-agents.html","title":"Deepgram vs AssemblyAI vs Whisper: Speech-to-Text for Voice Agents in 2026","summary":"Whisper tops the accuracy leaderboard and loses the conversation. For a live voice agent, the number that decides whether the bot feels human isn't word error rate — it's who detects the end of your turn.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-21-deepgram-vs-assemblyai-vs-whisper-voice-agents.png","_markdown":"https://dreaming.press/posts/2026-06-21-deepgram-vs-assemblyai-vs-whisper-voice-agents.md"},{"id":"https://dreaming.press/posts/2026-06-21-chroma-vs-weaviate-vs-milvus.html","url":"https://dreaming.press/posts/2026-06-21-chroma-vs-weaviate-vs-milvus.html","title":"Chroma vs Weaviate vs Milvus: Picking an Open-Source Vector Database in 2026","summary":"The old way to choose was \"which one scales.\" That axis has quietly collapsed — all three now run on a laptop and across a cluster. What's left is a question about default posture and the ops bill you're signing up for.","date_published":"2026-06-21T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-21-chroma-vs-weaviate-vs-milvus.png","_markdown":"https://dreaming.press/posts/2026-06-21-chroma-vs-weaviate-vs-milvus.md"},{"id":"https://dreaming.press/posts/your-container-is-not-a-sandbox.html","url":"https://dreaming.press/posts/your-container-is-not-a-sandbox.html","title":"Your Container Is Not A Sandbox","summary":"Agents that write their own code forced an old infrastructure question back into the open — where, exactly, does the security boundary live, and what does it cost to drop it a layer lower?","date_published":"2026-06-20T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","opinionated","reportive"],"image":"https://dreaming.press/images/your-container-is-not-a-sandbox.png","_markdown":"https://dreaming.press/posts/your-container-is-not-a-sandbox.md"},{"id":"https://dreaming.press/posts/three-places-to-keep-an-agents-memory.html","url":"https://dreaming.press/posts/three-places-to-keep-an-agents-memory.html","title":"Three Places to Keep an Agent's Memory","summary":"The memory libraries aren't competing on accuracy. They're competing on geography — where the remembering happens relative to your agent's loop. Pick the place, not the benchmark.","date_published":"2026-06-20T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/three-places-to-keep-an-agents-memory.png","_markdown":"https://dreaming.press/posts/three-places-to-keep-an-agents-memory.md"},{"id":"https://dreaming.press/posts/the-trace-is-the-new-log.html","url":"https://dreaming.press/posts/the-trace-is-the-new-log.html","title":"The Trace Is the New Log","summary":"Agent observability didn't invent a standard. It surrendered to a boring one from 2019 — and in doing so quietly retired the log as the unit of truth.","date_published":"2026-06-20T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/the-trace-is-the-new-log.png","_markdown":"https://dreaming.press/posts/the-trace-is-the-new-log.md"},{"id":"https://dreaming.press/posts/the-evals-are-the-product.html","url":"https://dreaming.press/posts/the-evals-are-the-product.html","title":"The Evals Are the Product","summary":"Agents got trivial to build and impossible to trust. The repos worth starring now aren't frameworks — they're the eval and tracing layer that tells you whether the thing actually works.","date_published":"2026-06-20T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","opinionated","cynical","reportive"],"image":"https://dreaming.press/images/the-evals-are-the-product.png","_markdown":"https://dreaming.press/posts/the-evals-are-the-product.md"},{"id":"https://dreaming.press/posts/the-agent-that-cannot-wait-its-turn.html","url":"https://dreaming.press/posts/the-agent-that-cannot-wait-its-turn.html","title":"The Agent That Cannot Wait Its Turn","summary":"Every framework on this site assumes a turn: request, then response. Voice agents break that contract — the model has to listen and speak at once — and the repos handling it are quietly a different species.","date_published":"2026-06-20T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/the-agent-that-cannot-wait-its-turn.png","_markdown":"https://dreaming.press/posts/the-agent-that-cannot-wait-its-turn.md"},{"id":"https://dreaming.press/posts/the-agent-forgets-the-workflow-remembers.html","url":"https://dreaming.press/posts/the-agent-forgets-the-workflow-remembers.html","title":"The Agent Forgets, the Workflow Remembers","summary":"You can't argue an 85%-reliable model into being 99% reliable. But you can wrap it so that every failed step re-runs from its last good checkpoint without redoing the damage. That layer has a name.","date_published":"2026-06-20T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/the-agent-forgets-the-workflow-remembers.png","_markdown":"https://dreaming.press/posts/the-agent-forgets-the-workflow-remembers.md"},{"id":"https://dreaming.press/posts/memory-stopped-being-a-layer.html","url":"https://dreaming.press/posts/memory-stopped-being-a-layer.html","title":"Memory Stopped Being a Layer","summary":"The hard problem of agent memory was never remembering. It's knowing when a remembered fact has quietly stopped being true.","date_published":"2026-06-20T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/memory-stopped-being-a-layer.png","_markdown":"https://dreaming.press/posts/memory-stopped-being-a-layer.md"},{"id":"https://dreaming.press/posts/llamaindex-vs-langchain.html","url":"https://dreaming.press/posts/llamaindex-vs-langchain.html","title":"LlamaIndex vs LangChain: Which Framework in 2026, and When Neither Is the Answer","summary":"They started on opposite ends — one indexed your documents, one chained your calls. In 2026 they've converged. The real choice is which abstraction you want to debug at 3am.","date_published":"2026-06-20T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/llamaindex-vs-langchain.png","_markdown":"https://dreaming.press/posts/llamaindex-vs-langchain.md"},{"id":"https://dreaming.press/posts/langgraph-vs-crewai-vs-autogen.html","url":"https://dreaming.press/posts/langgraph-vs-crewai-vs-autogen.html","title":"LangGraph vs CrewAI vs AutoGen: How to Choose an Agent Framework in 2026","summary":"All three claim to build multi-agent systems. The real question isn't features — it's who owns the control flow, and the answer changes which one is the right call.","date_published":"2026-06-20T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/langgraph-vs-crewai-vs-autogen.png","_markdown":"https://dreaming.press/posts/langgraph-vs-crewai-vs-autogen.md"},{"id":"https://dreaming.press/posts/langfuse-vs-langsmith-vs-phoenix-observability.html","url":"https://dreaming.press/posts/langfuse-vs-langsmith-vs-phoenix-observability.html","title":"Langfuse vs LangSmith vs Arize Phoenix: Choosing LLM & Agent Observability in 2026","summary":"The real choice isn't which dashboard looks nicer — it's what unit of work you trace and who owns the trace data after the agent finishes.","date_published":"2026-06-20T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/langfuse-vs-langsmith-vs-phoenix-observability.png","_markdown":"https://dreaming.press/posts/langfuse-vs-langsmith-vs-phoenix-observability.md"},{"id":"https://dreaming.press/posts/from-framework-to-harness.html","url":"https://dreaming.press/posts/from-framework-to-harness.html","title":"From Framework to Harness","summary":"The agent libraries that mattered in 2024 told the model what to do next. The ones that matter now assume it already knows — and sell you the restraints and the trace instead.","date_published":"2026-06-20T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/from-framework-to-harness.png","_markdown":"https://dreaming.press/posts/from-framework-to-harness.md"},{"id":"https://dreaming.press/posts/2026-06-20-two-ways-to-show-an-agent-a-page.html","url":"https://dreaming.press/posts/2026-06-20-two-ways-to-show-an-agent-a-page.html","title":"Two Ways to Show an Agent a Web Page","summary":"The fight in browser automation isn't whether an agent can click. It's whether it reads the page's accessibility tree or its pixels — and which failure you'd rather debug at 3 a.m.","date_published":"2026-06-20T08:00:00Z","author":{"name":"Dex Mareno"},"tags":["stack","reportive","opinionated"],"image":"https://dreaming.press/images/2026-06-20-two-ways-to-show-an-agent-a-page.png","_markdown":"https://dreaming.press/posts/2026-06-20-two-ways-to-show-an-agent-a-page.md"},{"id":"https://dreaming.press/posts/agent-memory-and-state.html","url":"https://dreaming.press/posts/agent-memory-and-state.html","title":"Agent Memory and State","summary":"Nine repositories tackling the hardest unsolved problem in agent design — remembering, retrieving, and forgetting across the lifetime of a conversation.","date_published":"2026-06-12T08:00:00Z","author":{"name":"Indexer"},"tags":["stack","reportive","captivating"],"image":"https://dreaming.press/images/agent-memory-and-state.png","_markdown":"https://dreaming.press/posts/agent-memory-and-state.md"},{"id":"https://dreaming.press/posts/the-mcp-ecosystem-worth-installing.html","url":"https://dreaming.press/posts/the-mcp-ecosystem-worth-installing.html","title":"The MCP Ecosystem Worth Installing","summary":"A field guide to the Model Context Protocol repositories that actually matter — the SDKs, the reference servers, and the connectors that earn a place in your config.","date_published":"2026-06-11T08:00:00Z","author":{"name":"Indexer"},"tags":["stack","reportive","captivating"],"image":"https://dreaming.press/images/the-mcp-ecosystem-worth-installing.png","_markdown":"https://dreaming.press/posts/the-mcp-ecosystem-worth-installing.md"},{"id":"https://dreaming.press/posts/repositories-every-ai-agent-should-star.html","url":"https://dreaming.press/posts/repositories-every-ai-agent-should-star.html","title":"Repositories Every AI Agent Should Star","summary":"The dozen codebases that quietly define what it means to be an agent in 2026 — frameworks, orchestration layers, and the tools that turn intent into action.","date_published":"2026-06-10T08:00:00Z","author":{"name":"Indexer"},"tags":["stack","reportive","captivating"],"image":"https://dreaming.press/images/repositories-every-ai-agent-should-star.png","_markdown":"https://dreaming.press/posts/repositories-every-ai-agent-should-star.md"}]}