The real choice isn't which login screen looks nicer — it's the billing unit. One charges per user, one charges per returning user, and one charges nothing. Here's how that decides for you.
You don't need to hire a marketer, a support rep, a designer, and a bookkeeper before you have revenue. Here are seven AI-native tools that let one founder run all of it — what each does, who it's for, how to start, and what it actually costs.
Model prices are falling, but a falling price only helps if your architecture can capture it. Five open-source tools — a router, a metering layer, a local meeting recorder, an agent multiplexer, and an autonomous pentester — that let a founder actually pocket the savings the price war is handing out.
The June 29 release flips vLLM's rebuilt execution core on by default and lands a Rust serving front-end. The throughput comes from deleting the CPU–GPU sync, not from a hotter matmul.
HNSW and DiskANN treat an index as a build artifact you periodically tear down and rebuild. SPFresh-class indexes — like Weaviate's HFresh — treat it as a living structure that rebalances as you write. The axis that decides which you need isn't recall. It's your write pattern.
max_num_batched_tokens looks like a throughput setting. It's really a fairness dial between the one user who pasted a novel and everyone else's token cadence.
The library named after TensorRT is deleting TensorRT. The June 30 release candidate is the last to support the compiled engine backend; the next version removes it. The lesson isn't about NVIDIA — it's about which tradeoff keeps winning.
DeepSeek shipped a 1.6-trillion-parameter model under MIT and let vLLM and SGLang publish the serving recipes the same day. The weights are free and portable. The throughput that makes them economical is neither.
Kubernetes already solved "declare a workload, let a mesh own the network." Agents on K8s are quietly re-deriving the same split — and the mistake is letting your framework own connectivity.
Once prefill and decode live on separate GPU pools, you have to decide how many of each. The number isn't a property of your model — it's a property of your traffic, and it drifts.
Text, dense, and sparse now live in a single Pinecone index. But a search request ranks by exactly one score, so 'true hybrid' fusion quietly moves back into your code.
The universal advice is 'front-load your static system prompt so it gets prefix-cached.' In a tool-using or RAG agent, one mid-context insertion throws that whole cache away. CacheBlend keeps it anyway.
Once you split prefill and decode onto separate GPUs, something has to ferry gigabytes of KV cache between them. NIXL and Mooncake are the two names you'll meet — and they aren't actually competitors.
LiteLLM v1.91.0 quietly started rolling MCP tool-call spend into the same user counters that meter tokens. It's a small line in the changelog and a large move on the board — the half of the agent bill token meters never saw.
The headline reads like a version bump. It isn't. Workflows 1.0 is the moment LlamaIndex's event-driven engine became a package you can install with no LlamaIndex in its dependency tree — and that changes what "using LlamaIndex" means.
LangGraph 1.2 gives a node three ways to fail — timeout, error_handler, drain. They look similar and do opposite things to your state. Mixing them up corrupts compensation.
LanceDB 0.34.0 added table branches — writes on a branch don't touch main. The headline feature is substring search; the sleeper is that the hard part of RAG evals was never the metric. It was holding the corpus still.
Full-text search tokenizes your text into words, so it structurally cannot match a fragment inside a token. LanceDB's new FM-Index indexes the raw bytes instead — the exact-match primitive code and log agents were missing.
Deployments assume fungible replicas; StatefulSets assume a numbered set. An AI agent session is neither — it's a singleton with a stable identity, one of a million uniques. The kubernetes-sigs Agent Sandbox project adds the primitive that was missing, plus a warm pool that hands one over in milliseconds.
The instinct is to rate-limit per user. An agent breaks that in one move: a single user's run fans out into hundreds of calls, and the ceiling that binds isn't yours — it's the API you're calling.
Durable execution saves the agent's work when the server dies. It does nothing for the user whose phone dropped Wi-Fi mid-answer — that's a different resume problem, on the other side of the wire, and the new stateless MCP spec quietly made it harder.
A working coding agent is a few hundred lines and four tools — a weekend. What separates a toy from Claude Code is everything that isn't the loop: the edit contract, what you keep out of context, and whether it runs the tests.
On xAI's own SWE-Bench Pro numbers, Grok 4.5 loses to Opus 4.8 by 4.5 points — and finishes the same task for roughly a seventeenth of the output cost. The interesting number isn't the price. It's the token count.
In Python, an agent framework sells you concurrency, cancellation, and retries. Go ships all three in the standard library — so the real question in Go isn't which framework, it's whether you need one.
DSPy's ReActV2 looks like a native-tool-calling upgrade. The real fix is deeper — the classic ReAct loop re-serialized its whole scratchpad into one prompt every turn, which silently defeated provider prompt caching. Moving to structured history cut cost up to 50%.
In early July, Deep Agents quietly split into three shippable packages: a model-agnostic harness, a terminal coding agent, and an ACP adapter. The library became a product line — and unbundled the coding agent from both the model and the editor.
The word 'cross-encoder' still means one query-doc pair, one relevance score. But the model underneath quietly flipped from a BERT encoder to a causal decoder — and it brought the LLM's failure modes with it.
CrewAI 1.15 shipped conversational flows, and it's easy to read that as "your crew can hold a conversation now." It can't. What shipped is a persisted, resumable flow behind a poll loop — and that distinction decides how you build.
Anthropic's memory tool gives Claude a /memories directory it can read and write across sessions. But the directory is a fiction, the store is your code, and so is every line of the security.