<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: DigitalOcean</title>
    <description>The latest articles on DEV Community by DigitalOcean (@digitalocean_staff).</description>
    <link>https://dev.to/digitalocean_staff</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F64516%2Fa0c9989b-6d18-46c7-bc66-4c2c1580534e.jpg</url>
      <title>DEV Community: DigitalOcean</title>
      <link>https://dev.to/digitalocean_staff</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/digitalocean_staff"/>
    <language>en</language>
    <item>
      <title>How do I run untrusted LLM-generated code in an isolated environment?</title>
      <dc:creator>DigitalOcean</dc:creator>
      <pubDate>Thu, 05 Nov 2026 18:01:52 +0000</pubDate>
      <link>https://dev.to/digitalocean/how-do-i-run-untrusted-llm-generated-code-in-an-isolated-environment-21lg</link>
      <guid>https://dev.to/digitalocean/how-do-i-run-untrusted-llm-generated-code-in-an-isolated-environment-21lg</guid>
      <description>&lt;p&gt;Run untrusted LLM-generated code in a hardware-isolated sandbox with the network locked to an allowlist and only the credentials the task needs. &lt;a href="https://www.digitalocean.com/products/managed-agents" rel="noopener noreferrer"&gt;DigitalOcean Managed Agents&lt;/a&gt; does this through Harness Runtime, which gives each session its own &lt;a href="https://www.digitalocean.com/blog/managed-agents-public-preview" rel="noopener noreferrer"&gt;Firecracker microVM&lt;/a&gt;. The hypervisor, not container namespaces, &lt;a href="https://docs.digitalocean.com/products/managed-agents/agent-harness-runtime/concepts/environments/" rel="noopener noreferrer"&gt;enforces isolation&lt;/a&gt;. The service is in public preview.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key takeaways&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Each session runs in its own microVM, so code in one sandbox cannot reach another session, another customer, or the host.
&lt;/li&gt;
&lt;li&gt;Outbound network access is open by default, so set an egress allowlist before running anything untrusted.
&lt;/li&gt;
&lt;li&gt;Treat the session as the unit of isolation: one session per user or workload, with narrowly scoped secrets.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Start with a sandbox that has no agent
&lt;/h2&gt;

&lt;p&gt;If your application generates the code, you don't need a full agent. A &lt;a href="https://docs.digitalocean.com/products/managed-agents/agent-harness-runtime/how-to/run-sandbox/" rel="noopener noreferrer"&gt;sandbox&lt;/a&gt; with &lt;code&gt;harness: none&lt;/code&gt; is the same microVM without an agent inside.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;untrusted-run&lt;/span&gt;
&lt;span class="na"&gt;harness&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;none&lt;/span&gt;
&lt;span class="na"&gt;egress&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;pypi.org&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;files.pythonhosted.org&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;doctl harness-runtime create &lt;span class="nt"&gt;--spec&lt;/span&gt; ./sandbox.yaml
doctl harness-runtime upload untrusted-run &lt;span class="nt"&gt;--local-file&lt;/span&gt; ./generated.py &lt;span class="nt"&gt;--workspace-path&lt;/span&gt; generated.py
doctl harness-runtime &lt;span class="nb"&gt;exec &lt;/span&gt;untrusted-run &lt;span class="nt"&gt;--&lt;/span&gt; python3 generated.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Lock down the network
&lt;/h2&gt;

&lt;p&gt;Without an &lt;code&gt;egress&lt;/code&gt; field, &lt;a href="https://docs.digitalocean.com/products/managed-agents/agent-harness-runtime/concepts/egress/" rel="noopener noreferrer"&gt;a sandbox reaches any host&lt;/a&gt;, so generated code can send workspace contents anywhere. Naming one host turns the allowlist on and denies the rest, though the platform adds GitHub, the DigitalOcean registry, and model endpoints.&lt;/p&gt;

&lt;h2&gt;
  
  
  Scope secrets and tools
&lt;/h2&gt;

&lt;p&gt;Declare keys under &lt;code&gt;secrets&lt;/code&gt;, not &lt;code&gt;env&lt;/code&gt;. Any process in the sandbox can read an injected value, so &lt;a href="https://docs.digitalocean.com/products/managed-agents/agent-harness-runtime/how-to/secure-sessions/" rel="noopener noreferrer"&gt;issue each key with the narrowest scope&lt;/a&gt; the task needs. For third-party tools, &lt;a href="https://docs.digitalocean.com/products/managed-agents/action-gateway/" rel="noopener noreferrer"&gt;Action Gateway&lt;/a&gt; brokers credentials at execution time, so the sandbox never holds them. If an agent writes the code, add a permission policy that defaults to &lt;code&gt;ask&lt;/code&gt; and denies commands like &lt;code&gt;rm -rf *&lt;/code&gt;; enforcement varies by adapter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Isolate users and clean up
&lt;/h2&gt;

&lt;p&gt;Processes in the same sandbox share files and credentials, so give each user or workload its own session. A harness-less sandbox bills until you pause or remove it, so download results first, then remove the session.&lt;/p&gt;

&lt;h2&gt;
  
  
  Untrusted LLM-generated code FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;How do I give each user's agent its own isolated sandbox at scale?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Start a separate session for each user or workload. Every session gets its own microVM, and sandboxes cannot observe or reach each other. Keep your external user identifier associated with the DigitalOcean session ID.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do I manage secrets and API keys for autonomous agents running in the cloud?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Declare keys under &lt;code&gt;secrets&lt;/code&gt;, and DigitalOcean injects them at session start so values stay out of the spec file and logs. Scope each key narrowly at the provider, because any process in the sandbox can read it. For third-party tools, Action Gateway brokers credentials so the agent never holds the key.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do sandboxes have internet access by default?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Yes. Add an &lt;code&gt;egress&lt;/code&gt; allowlist to restrict outbound traffic to the hosts you name, plus platform defaults, subject to team policy. Sandboxes accept no inbound internet connections.&lt;/p&gt;

&lt;h2&gt;
  
  
  References &amp;amp; further reading
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Learn more about &lt;a href="https://www.digitalocean.com/products/managed-agents" rel="noopener noreferrer"&gt;Managed Agents&lt;/a&gt; and the &lt;a href="https://www.digitalocean.com/blog/managed-agents-public-preview" rel="noopener noreferrer"&gt;public preview launch post&lt;/a&gt;.
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://docs.digitalocean.com/products/managed-agents/agent-harness-runtime/concepts/environments/" rel="noopener noreferrer"&gt;Environments and Sandboxes&lt;/a&gt; explains how an environment maps to a sandbox.
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://docs.digitalocean.com/products/managed-agents/agent-harness-runtime/how-to/run-sandbox/" rel="noopener noreferrer"&gt;How to run a sandbox&lt;/a&gt; covers file transfer and port forwarding.
&lt;/li&gt;
&lt;li&gt;Learn more about &lt;a href="https://docs.digitalocean.com/products/managed-agents/agent-harness-runtime/concepts/egress/" rel="noopener noreferrer"&gt;network egress&lt;/a&gt; and &lt;a href="https://docs.digitalocean.com/products/managed-agents/action-gateway/" rel="noopener noreferrer"&gt;Action Gateway&lt;/a&gt;.
&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://docs.digitalocean.com/products/managed-agents/agent-harness-runtime/how-to/secure-sessions/" rel="noopener noreferrer"&gt;secure sessions checklist&lt;/a&gt; is worth checking directly before you ship.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>startup</category>
      <category>agents</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>What metrics matter for LLM inference observability (TTFT, TPOT, ITL)?</title>
      <dc:creator>DigitalOcean</dc:creator>
      <pubDate>Fri, 30 Oct 2026 21:42:24 +0000</pubDate>
      <link>https://dev.to/digitalocean/what-metrics-matter-for-llm-inference-observability-ttft-tpot-itl-11na</link>
      <guid>https://dev.to/digitalocean/what-metrics-matter-for-llm-inference-observability-ttft-tpot-itl-11na</guid>
      <description>&lt;p&gt;Track time to first token (TTFT), time per output token (TPOT), and inter-token latency (ITL) together, because each exposes a different aspect of inference effectiveness. TTFT reflects queueing and prompt processing, TPOT summarizes streaming speed, and ITL reveals stutter inside the stream.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key takeaways&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;TTFT points to queueing and prefill, while TPOT and ITL point to decode.
&lt;/li&gt;
&lt;li&gt;TPOT is an average, and ITL is per token gap, so only ITL exposes jitter.
&lt;/li&gt;
&lt;li&gt;Alert on percentiles and per-request targets, not averages.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How TTFT, TPOT, and ITL relate
&lt;/h2&gt;

&lt;p&gt;Inference runs in two phases: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prefill processes the whole prompt and is compute-bound.
&lt;/li&gt;
&lt;li&gt;Decode generates one token at a time and is memory-bound. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;TTFT lands on the prefill side, since it includes queue wait and prompt processing. TPOT and ITL land on decode.&lt;/p&gt;

&lt;p&gt;With N output tokens, the math ties them together:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;TPOT = (E2E latency - TTFT) / (N - 1)
E2E latency ≈ network overhead + TTFT + (TPOT × N)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On long responses, TPOT dominates total time even when the first token is fast.&lt;/p&gt;

&lt;h2&gt;
  
  
  When a healthy TPOT still feels slow
&lt;/h2&gt;

&lt;p&gt;ITL measures the gap between two consecutive tokens, so it catches jitter that average TPOT smooths over. Our &lt;a href="https://www.digitalocean.com/blog/llm-inference-benchmarking" rel="noopener noreferrer"&gt;inference benchmarking guide&lt;/a&gt; lists common causes: large prefills monopolizing compute, PagedAttention overhead, and poor hardware topology—such as cross-NUMA traffic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Read LLM inference observability metrics as a diagnostic
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;High TTFT, normal TPOT:&lt;/strong&gt; requests are queueing or prompts are long. Check prefill capacity.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rising TPOT:&lt;/strong&gt; decode is memory-bound. Check GPU memory bandwidth and load.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Healthy TPOT, spiky ITL:&lt;/strong&gt; something is interrupting decode, such as prefill interference.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Alert on percentiles and goodput
&lt;/h2&gt;

&lt;p&gt;Averages hide the slow tail. Track P95 and P99 for each metric, then define goodput: the share of requests that meet every target at once, such as a TTFT ceiling, an ITL ceiling, and an end-to-end budget. Set thresholds per use case.&lt;/p&gt;

&lt;h2&gt;
  
  
  Check how your tool defines each metric
&lt;/h2&gt;

&lt;p&gt;Definitions vary. &lt;a href="https://docs.nvidia.com/nim/benchmarking/llm/metrics.html" rel="noopener noreferrer"&gt;NVIDIA's benchmarking docs&lt;/a&gt;, for example, treat ITL as the average gap between tokens, also called TPOT, and warn that tools differ on whether TTFT is included. Confirm what each tool calculates before comparing numbers. On the DigitalOcean &lt;a href="https://www.digitalocean.com/products/inference-engine" rel="noopener noreferrer"&gt;Inference Engine&lt;/a&gt;, &lt;a href="https://docs.digitalocean.com/products/inference/reference/serverless-inference-metrics/" rel="noopener noreferrer"&gt;Serverless Inference metrics&lt;/a&gt; cover TTFT, end-to-end latency, error rates, and per-request cost with token counts. You can derive TPOT from those with the formula shared earlier.&lt;/p&gt;

&lt;h2&gt;
  
  
  LLM inference observability FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What is disaggregated prefill and decode in LLM inference?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It runs prompt processing (prefill, which is compute-bound) and token generation (decode, which is memory-bound) on separate workers. The KV cache must move between them, and depending on the implementation, that transfer can delay TTFT or the second token’s ITL. On the DigitalOcean Inference Engine, Serverless Inference metrics report TTFT and end-to-end latency, so you can check whether an architecture change affects first-token time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is the difference between TPOT and ITL?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;TPOT is the average time per token after the first token, calculated across the entire response. ITL, in the stricter sense, is the gap between two specific consecutive tokens, so it exposes stutter that a healthy TPOT hides. You can derive it from TTFT and end-to-end latency with TPOT = (E2E latency - TTFT) / (N - 1).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why track P95 and P99 instead of averages?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Averages hide outliers. P95 and P99 show what your slowest requests experience, which is what you compare against latency targets and use to define goodput. Serverless Inference metrics on DigitalOcean cover TTFT, end-to-end latency, error rates, and per-request cost with token counts, so you can set those targets against both speed and spend.&lt;/p&gt;

&lt;h2&gt;
  
  
  References &amp;amp; further reading
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Worth bookmarking: &lt;a href="https://www.digitalocean.com/blog/llm-inference-benchmarking" rel="noopener noreferrer"&gt;DigitalOcean's guide to LLM inference benchmarking&lt;/a&gt;, which covers the formulas above plus concurrency sweeps.
&lt;/li&gt;
&lt;li&gt;Learn more about &lt;a href="https://docs.digitalocean.com/products/inference/reference/serverless-inference-metrics/" rel="noopener noreferrer"&gt;Serverless Inference metrics&lt;/a&gt; and the &lt;a href="https://www.digitalocean.com/products/inference-engine" rel="noopener noreferrer"&gt;DigitalOcean Inference Engine&lt;/a&gt;.
&lt;/li&gt;
&lt;li&gt;Worth checking directly before you compare tools: &lt;a href="https://docs.nvidia.com/nim/benchmarking/llm/metrics.html" rel="noopener noreferrer"&gt;NVIDIA's LLM benchmarking metric definitions&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>developer</category>
      <category>startup</category>
    </item>
    <item>
      <title>AI tech stacks see increase in open source adoption</title>
      <dc:creator>DigitalOcean</dc:creator>
      <pubDate>Tue, 27 Oct 2026 18:05:28 +0000</pubDate>
      <link>https://dev.to/digitalocean/ai-tech-stacks-see-increase-in-open-source-adoption-2cg</link>
      <guid>https://dev.to/digitalocean/ai-tech-stacks-see-increase-in-open-source-adoption-2cg</guid>
      <description>&lt;p&gt;&lt;em&gt;ICYMI AI: The latest AI trends, delivered to Dev.to&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Tech Talk: The AI stack is more modular and multi-modal than ever
&lt;/h3&gt;

&lt;p&gt;With a changing landscape of models, standards, and systems, no two AI tech stacks are alike. This open ecosystem is the emerging standard of architecture, something last week’s &lt;a href="https://www.youtube.com/watch?v=IhWSgZlVizQ&amp;amp;list=PLf7jPeOpSZyk&amp;amp;index=9" rel="noopener noreferrer"&gt;Open Intelligence Summit&lt;/a&gt; (OIS) highlighted with speakers from NVIDIA, Amplitude, Open Hands, and Nous Research.&lt;/p&gt;

&lt;p&gt;According to internal DigitalOcean figures, 88% of our tokens run on open-weight models, a 27% increase from May 2026. This is accompanied by a 50% growth in token volume over the last six months.&lt;/p&gt;

&lt;p&gt;It’s clear that loyalty to a single model is fading, and a new layer is emerging to manage churn: routers. Analysis from &lt;a href="https://www.vals.ai/blogs/routers-new-ai-primitive" rel="noopener noreferrer"&gt;Vals AI&lt;/a&gt; frames routers as a new AI primitive. They choose models based on quality and cost per request, so applications don’t need to revisit model selection every time something new launches. They also provide more opportunities for developers to select models based on use case, rather than being locked into frontier models or a specific provider.&lt;/p&gt;

&lt;p&gt;Open standards are doing the work that closed-loop systems and frontier models used to do, and the tooling is adapting:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DeepSeek opened Search and Fetch APIs that return live web content as Markdown for agents and RAG pipelines.&lt;/li&gt;
&lt;li&gt;Perplexity open-sourced its agent sandbox.&lt;/li&gt;
&lt;li&gt;Anthropic’s OpenTelemetry support means traces from different providers can share the same dashboards.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When models are interchangeable, differentiation moves to the layers you control: evaluation, observability, security, and cost. With the ability to fine-tune multiple layers, developers need concrete plans for AI stack management. Abstract your model calls behind a routing layer. Standardize on OpenTelemetry for agent traces. Build evals you can rerun against any model. And keep a cost dashboard open.&lt;/p&gt;

&lt;p&gt;Our new &lt;a href="https://www.digitalocean.com/products/managed-agents" rel="noopener noreferrer"&gt;Managed Agents&lt;/a&gt; and &lt;a href="https://investors.digitalocean.com/news/news-details/2026/DigitalOcean-Launches-Agent-Learning-and-Data-Services-for-Recursively-Self-Improving-AI-Agents/default.aspx" rel="noopener noreferrer"&gt;Agent Learning Services&lt;/a&gt;, announced at OIS, paired with our cache-aware Inference Router, allow you to build AI products and own your intelligence.&lt;/p&gt;




&lt;h3&gt;
  
  
  Industry news
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;AI adoption looks broad until you check what’s measurably working.&lt;/strong&gt; &lt;a href="https://a16z.com/state-of-markets-ii/" rel="noopener noreferrer"&gt;a16z’s State of Markets II presentation&lt;/a&gt; found that 69% of S&amp;amp;P 500 companies have a live AI deployment and about 30% report a quantified result, but only around 2% track a metric for it, while the top 1% of companies by AI spend outspend the top 10% roughly eightfold. The gap is less about access to tools than about tying AI to a workflow you can measure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ChatGPT is shifting from walls of text to answers you can interact with.&lt;/strong&gt; &lt;a href="https://openai.com/index/gpt-6-for-everyone/" rel="noopener noreferrer"&gt;OpenAI’s GPT-6 launch&lt;/a&gt; introduced “Intelligent UI,” which lets the model respond with charts, buttons, forms, and quick tools like savings calculators or bill splitters, all inside the conversation. OpenAI also says GPT-6 Instant starts answering web-search questions 44% sooner on average than GPT-5.6 Instant.&lt;/p&gt;




&lt;h3&gt;
  
  
  Community tutorials
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/community/tutorials/ai-customer-support-agent-human-in-the-loop" rel="noopener noreferrer"&gt;&lt;strong&gt;Agents in Production, Part 1: Build an Overnight AI Support Agent using Managed Agents&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
An unattended support agent ran for 1 hour 48 minutes against a live board, triaged 99 tickets, stopped all 35 sensitive ones for a person, and sent zero replies, because the agent was never given a route to send. Learn how to scope board credentials, restrict egress to a single host, and add deterministic checks to drafts so the agent can't act outside its brief.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/community/tutorials/how-to-safely-let-ai-agents-call-production-apis" rel="noopener noreferrer"&gt;&lt;strong&gt;How to Safely Let AI Agents Call Production APIs using DigitalOcean Action Gateway&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Across 1,300 episodes, 45 to 48 of every 100 runs without a gateway ended with at least one harmful change, and the agent re-sent a refund in 66 of 75 tries. See how idempotency keys, version checks, and approval tiers brought harmful changes to 0 of 100.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/community/tutorials/ttft-latency-audit-guide" rel="noopener noreferrer"&gt;&lt;strong&gt;What real time-to-first-token looks like on DigitalOcean Serverless Inference&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Across 380 calls to six models, five landed between 0.88 and 0.98 seconds median TTFT on short prompts, but DeepSeek V3.2 hit 78.3 and 186.9 seconds on two of 80 calls. Get the measurement method and code repository to run the same audit on your own models and prompt sizes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/community/conceptual-articles/should-you-use-spot-or-on-demand-gpus-for-model-training" rel="noopener noreferrer"&gt;&lt;strong&gt;Should You Use Spot or On-Demand GPUs for Model Training?&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
At a 60-minute cadence, a Spot GPU fits single-node jobs and multi-node jobs with elastic restart. Resuming a 98.3 GB checkpoint after a simulated reclaim took 706.5 seconds on MI355X and 436.6 seconds on B300. Walk through the break-even model and decision table, and plug in your own checkpoint cost and reclaim rate.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/community/tutorials/deployment-isnt-the-bottleneck-inference-economics-is" rel="noopener noreferrer"&gt;&lt;strong&gt;Deployment Isn't the Bottleneck: Inference Economics Is&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
The same $3-per-hour GPU can cost about $0.30 or about $3 per million tokens, depending on whether it runs at full or 10 percent utilization. Learn how cold starts, continuous batching, and KV-cache limits set cost per request, and run the arithmetic for your own model.&lt;/p&gt;




&lt;h3&gt;
  
  
  Video tutorials
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=12UkcojWAwg" rel="noopener noreferrer"&gt;&lt;strong&gt;Does context length affect inference cost linearly? We measured it&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Every AI pricing page treats context length as linear: ten times the tokens, ten times the cost. This video shows what happens when you run one H200 GPU Droplet, serve Mistral 3 14B with vLLM, and run the same test from 2,000-token prompts up to 256,000.&lt;/p&gt;




&lt;h3&gt;
  
  
  Product updates
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://digitalocean.com/blog/introducing-insights" rel="noopener noreferrer"&gt;&lt;strong&gt;Now in Public Preview: DigitalOcean Insights&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Insights gives you one place to see what your agents, applications, and infrastructure are actually doing, with metrics, logs, and traces built in and nothing to install or instrument. Follow an agent run from the model call through every tool it used and find exactly what broke, without switching tools or lining up timestamps yourself. It’s free to use during public preview.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/blog/inference-router-enhancements" rel="noopener noreferrer"&gt;&lt;strong&gt;Now Available: Inference Router Enhancements&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Choosing the right model for every request shouldn’t require constant testing and manual routing. DigitalOcean’s enhanced Inference Router automatically selects models based on task performance, cost, and latency, helping you balance quality and efficiency as new models become available.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/blog/introducing-signals-and-simulations" rel="noopener noreferrer"&gt;&lt;strong&gt;Now in Public Preview: Simulations&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Simulations, a new capability of DigitalOcean Evaluations, lets you test a change through realistic multi-turn scenarios in an isolated sandbox on Harness Runtime, with the same configuration and Action Gateway tools your agent uses in production. Pull scenarios from Signals, generate them from your agent’s configuration, or describe one in plain language. An LLM judge scores every trajectory, and running a baseline against a candidate shows exactly what improved and what regressed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/blog/introducing-signals-and-simulations" rel="noopener noreferrer"&gt;&lt;strong&gt;Now in Public Preview: Signals&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Signals watches production traffic on Managed Agents and Inference Engine and automatically highlights potential problems across user sentiment, tool execution, and infrastructure, with nothing extra to instrument. Flagged sessions become evaluation scenarios in one click. Signals is opt-in, designed to redact PII before processing, and keeps traces within your DigitalOcean Team boundary.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>ai</category>
      <category>developer</category>
      <category>startup</category>
    </item>
    <item>
      <title>Where can I get free credits to test LLM inference</title>
      <dc:creator>DigitalOcean</dc:creator>
      <pubDate>Fri, 23 Oct 2026 20:45:01 +0000</pubDate>
      <link>https://dev.to/digitalocean/where-can-i-get-free-credits-to-test-llm-inference-2l0h</link>
      <guid>https://dev.to/digitalocean/where-can-i-get-free-credits-to-test-llm-inference-2l0h</guid>
      <description>&lt;p&gt;DigitalOcean gives new customers a free \$5 credit, with no credit card required, through its &lt;a href="https://www.digitalocean.com/products/managed-agents" rel="noopener noreferrer"&gt;Managed Agents free trial&lt;/a&gt;. The credit covers inference on DigitalOcean-hosted models plus the agent runtime and tools around them. It's sized for testing, and Managed Agents is in Public Preview.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key takeaways&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;New DigitalOcean customers get \$5 in free credit, no credit card required, to test inference through Managed Agents.
&lt;/li&gt;
&lt;li&gt;Trial inference runs on DigitalOcean-hosted models such as Kimi K3, GLM 5.3, and DeepSeek V4 Flash. Frontier models like Claude and GPT bill at list price.
&lt;/li&gt;
&lt;li&gt;Credit drains as you use compute, storage, and tools, so pause idle sessions and watch your balance.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What the free credit covers
&lt;/h2&gt;

&lt;p&gt;Managed Agents pairs Harness Runtime, which runs agent sessions in isolated Firecracker microVMs, with Action Gateway, which gives agents governed access to 16,000+ tools through one MCP endpoint. It integrates natively with the &lt;a href="https://www.digitalocean.com/products/inference-engine" rel="noopener noreferrer"&gt;Inference Engine&lt;/a&gt;, so inference tokens, agent execution, and tool use come together in one place. &lt;/p&gt;

&lt;p&gt;Refer to the &lt;a href="https://www.digitalocean.com/pricing/agent-droplets" rel="noopener noreferrer"&gt;Agent Droplets pricing page&lt;/a&gt; for more details about the trial offer, as well as details for paid Pro (\$50 per month) and Team (\$200 per month) plans.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which models you can test
&lt;/h2&gt;

&lt;p&gt;The trial's inference is built around models DigitalOcean hosts, including Kimi K3 and GLM 5.3. For scale, as of October 2026, the DigitalOcean-hosted GLM-5.3 Flash lists at \$0.15 per million input tokens and \$0.50 per million output tokens on the &lt;a href="https://docs.digitalocean.com/products/inference/details/pricing/" rel="noopener noreferrer"&gt;Inference pricing page&lt;/a&gt;. Frontier models like Claude and GPT are also available through DigitalOcean without a provider key of your own, billed at list price and outside the Agent Droplets plan discounts. If you bring your own provider key, that provider bills you directly.&lt;/p&gt;

&lt;p&gt;DigitalOcean's &lt;a href="https://www.digitalocean.com/blog/introducing-agent-droplets" rel="noopener noreferrer"&gt;Agent Droplets announcement&lt;/a&gt; estimates the free trial at roughly 4.5M tokens of inference.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to start
&lt;/h2&gt;

&lt;p&gt;Sign up as a new customer, open Managed Agents in the control panel, and start the trial. The &lt;a href="https://docs.digitalocean.com/products/managed-agents/agent-harness-runtime/" rel="noopener noreferrer"&gt;Harness Runtime docs&lt;/a&gt; include a quickstart that launches an agent with one doctl command, and the &lt;a href="https://www.digitalocean.com/blog/managed-agents-public-preview" rel="noopener noreferrer"&gt;launch post&lt;/a&gt; reports supported harnesses like OpenCode and Codex CLI.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to watch while you test
&lt;/h2&gt;

&lt;p&gt;Usage draws down your balance as agents run, and Harness Runtime has no per-session or per-product spend limit. Some Action Gateway tools, like Exa web search and web fetch, are prepaid and metered per call. Serverless inference is prepaid too, so access is suspended when credits and balances run out.&lt;/p&gt;

&lt;p&gt;To save credits, pause sessions you aren't using. Pausing stops CPU and memory charges, though retained checkpoints still accrue storage fees. Current rates are on the &lt;a href="https://www.digitalocean.com/pricing/harness-runtime" rel="noopener noreferrer"&gt;Harness Runtime pricing page&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  LLM inference free credits FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Is there an inference provider with a free tier?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
DigitalOcean offers new customers a free trial with \$5 in credit through Managed Agents, no credit card required. It's a starter credit for new customers rather than an ongoing free tier, and it covers inference on DigitalOcean-hosted models, runtime, storage, and tools.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where can I run inference for an AI app and bill it all through one invoice?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Managed Agents integrates with the DigitalOcean Inference Engine, so inference on DigitalOcean-hosted models, agent compute, storage, and tool calls bill together. Models you reach with your own provider key are billed by that provider.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do I cap inference billing to avoid surprise costs from runaway agents?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Harness Runtime has no per-session or per-product spend limit, and usage draws down your prepaid balance. Pausing a session stops CPU and memory charges, and auto-pause handles idle sessions, though retained checkpoints still accrue storage fees. Monitor usage closely on autonomous workflows.&lt;/p&gt;

&lt;h2&gt;
  
  
  References &amp;amp; further reading
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Start with the &lt;a href="https://www.digitalocean.com/products/managed-agents" rel="noopener noreferrer"&gt;Managed Agents product page&lt;/a&gt; for trial terms.
&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://www.digitalocean.com/blog/managed-agents-public-preview" rel="noopener noreferrer"&gt;launch post&lt;/a&gt; and the &lt;a href="https://www.digitalocean.com/blog/introducing-agent-droplets" rel="noopener noreferrer"&gt;Agent Droplets announcement&lt;/a&gt; explain the architecture and the trial.
&lt;/li&gt;
&lt;li&gt;Worth bookmarking: the &lt;a href="https://www.digitalocean.com/pricing/agent-droplets" rel="noopener noreferrer"&gt;Agent Droplets pricing page&lt;/a&gt; for plan comparisons.
&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://www.digitalocean.com/pricing/harness-runtime" rel="noopener noreferrer"&gt;Harness Runtime pricing page&lt;/a&gt; lists compute and storage rates. Worth checking directly before you build.
&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://docs.digitalocean.com/products/inference/details/pricing/" rel="noopener noreferrer"&gt;Inference pricing docs&lt;/a&gt; have per-model token rates and prepaid billing rules.
&lt;/li&gt;
&lt;li&gt;Learn more about &lt;a href="https://docs.digitalocean.com/products/managed-agents/agent-harness-runtime/" rel="noopener noreferrer"&gt;Harness Runtime&lt;/a&gt; and the &lt;a href="https://www.digitalocean.com/products/inference-engine" rel="noopener noreferrer"&gt;Inference Engine&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>developer</category>
      <category>cloud</category>
      <category>agents</category>
    </item>
    <item>
      <title>Where to get H100 GPUs without long-term a commitment</title>
      <dc:creator>DigitalOcean</dc:creator>
      <pubDate>Tue, 20 Oct 2026 15:24:05 +0000</pubDate>
      <link>https://dev.to/digitalocean/where-to-get-h100-gpus-without-long-term-a-commitment-353</link>
      <guid>https://dev.to/digitalocean/where-to-get-h100-gpus-without-long-term-a-commitment-353</guid>
      <description>&lt;p&gt;You can get H100 GPUs without a contract from &lt;a href="https://www.digitalocean.com/products/gpu-droplets" rel="noopener noreferrer"&gt;DigitalOcean GPU Droplets&lt;/a&gt;. Create one from the console or API, pay per second, and destroy it when the job ends. Commitments only pay off once your usage is steady.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key takeaways&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On-demand H100 &lt;a href="https://www.digitalocean.com/pricing/gpu-droplets" rel="noopener noreferrer"&gt;GPU Droplets pricing&lt;/a&gt; starts at \$4.41 per GPU per hour (as of October 2026), billed per second, with no term.
&lt;/li&gt;
&lt;li&gt;A 12-month reserved H100 rate is lower (\$3.26 per GPU per hour), but that is the commitment you are avoiding.
&lt;/li&gt;
&lt;li&gt;Powering off does not stop billing. Destroying the Droplet does.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What on-demand H100 access looks like
&lt;/h2&gt;

&lt;p&gt;H100 GPU Droplets come with one GPU (80 GB of GPU memory, 20 vCPUs, 240 GiB of RAM) or eight (640 GB of GPU memory, 160 vCPUs, 1,920 GiB of RAM), at \$35.28 per hour for the eight-GPU size. They are available in New York (NYC2), Amsterdam (AMS3), and Toronto (TOR1). Billing is per second with a 60-second or \$0.01 minimum, whichever is higher.&lt;/p&gt;

&lt;h2&gt;
  
  
  When on-demand beats reserved
&lt;/h2&gt;

&lt;p&gt;A 10-hour fine-tuning run on one H100 costs about \$44.10. A reserved plan only wins if you would keep that GPU busy roughly 74% of the year if you pay for the reserved GPU for the full 12 months (\$3.26 divided by \$4.41 is the break-even utilization). Prototypes, experiments, and bursty inference rarely clear that bar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep costs predictable
&lt;/h2&gt;

&lt;p&gt;The most common surprise is an idle GPU. Billing continues while a GPU Droplet is powered off because the hardware stays reserved, so destroy it when you finish. Set &lt;a href="https://docs.digitalocean.com/platform/billing/spend-alerts/" rel="noopener noreferrer"&gt;spend alerts&lt;/a&gt; to get an email when monthly spend crosses percentage thresholds of a monthly budget you set. Alerts notify you but don't cap spending.&lt;/p&gt;

&lt;h2&gt;
  
  
  If H100 capacity or budget is tight
&lt;/h2&gt;

&lt;p&gt;The same on-demand catalog includes NVIDIA H200 at \$4.47 per GPU per hour and AMD Instinct MI300X at \$2.59. Spot GPU Droplets are cheaper but interruptible, with at least two hours' notice before reclaim (less in emergencies), and are currently listed for B300, MI350X, and MI355X rather than H100. If you only need model output rather than a server, the &lt;a href="https://www.digitalocean.com/products/inference-engine" rel="noopener noreferrer"&gt;Inference Engine&lt;/a&gt; lets you pay for what you use.&lt;/p&gt;

&lt;h2&gt;
  
  
  H100 GPU FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Which provider bills GPU usage by the second with no long-term commitment?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
DigitalOcean GPU Droplets bill per second, with a minimum charge of 60 seconds or \$0.01, whichever is higher. On-demand plans have no contract, and billing runs from creation until you destroy the Droplet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do I still pay for a powered-off H100 GPU Droplet?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Yes. The GPU and other compute resources stay reserved while the Droplet is off, so billing continues until you destroy it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Which AI platform supports both AMD and NVIDIA GPUs?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
DigitalOcean GPU Droplets offer NVIDIA H100 and H200 alongside AMD Instinct MI300X on demand. You can create any of them from the same console or API.&lt;/p&gt;

&lt;h2&gt;
  
  
  References &amp;amp; further reading
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Learn more about &lt;a href="https://www.digitalocean.com/pricing/gpu-droplets" rel="noopener noreferrer"&gt;GPU Droplets pricing&lt;/a&gt; and reserved plans, and check it directly before you build, since rates change.
&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://docs.digitalocean.com/products/droplets/details/pricing/" rel="noopener noreferrer"&gt;Droplet pricing docs&lt;/a&gt; spell out per-second billing and the powered-off rule.
&lt;/li&gt;
&lt;li&gt;Worth bookmarking: &lt;a href="https://docs.digitalocean.com/products/droplets/details/gpu-availability/" rel="noopener noreferrer"&gt;GPU availability by region&lt;/a&gt; for which datacenters carry H100.
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://docs.digitalocean.com/products/droplets/how-to/gpu/create/" rel="noopener noreferrer"&gt;How to create GPU Droplets&lt;/a&gt; walks through image, plan, and datacenter choices.
&lt;/li&gt;
&lt;li&gt;Learn more about &lt;a href="https://docs.digitalocean.com/products/droplets/concepts/spot-vs-on-demand/" rel="noopener noreferrer"&gt;Spot vs on-demand GPU Droplets&lt;/a&gt; if interruptible capacity fits your workload.
&lt;/li&gt;
&lt;li&gt;For dedicated hardware instead of a virtual machine, see &lt;a href="https://www.digitalocean.com/products/bare-metal-gpus" rel="noopener noreferrer"&gt;Bare Metal GPUs&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>developer</category>
      <category>startup</category>
      <category>cloud</category>
    </item>
    <item>
      <title>How do I cap inference billing to avoid surprise costs from idle GPUs or runaway agents?</title>
      <dc:creator>DigitalOcean</dc:creator>
      <pubDate>Wed, 14 Oct 2026 16:31:01 +0000</pubDate>
      <link>https://dev.to/digitalocean/how-do-i-cap-inference-billing-to-avoid-surprise-costs-from-idle-gpus-or-runaway-agents-1cbd</link>
      <guid>https://dev.to/digitalocean/how-do-i-cap-inference-billing-to-avoid-surprise-costs-from-idle-gpus-or-runaway-agents-1cbd</guid>
      <description>&lt;p&gt;You cap inference billing by layering controls, not by flipping one switch. On DigitalOcean, Serverless Inference is prepaid, so your balance is a real ceiling, and scoped keys, alerts, and cleanup jobs cover the rest. Spend alerts alone won't stop anything: they email you when spending crosses a threshold, but your usage keeps running.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key takeaways&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Serverless Inference stops when funds run out, so fund a dedicated balance with only what you plan to spend.
&lt;/li&gt;
&lt;li&gt;Dedicated Inference and GPU Droplets bill by the hour until destroyed, so automate cleanup.
&lt;/li&gt;
&lt;li&gt;Agents need caps in your own code, because rate limits slow spending but don't cap it.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Use prepaid balances as a ceiling
&lt;/h2&gt;

&lt;p&gt;Serverless usage draws from promotional credits, then the Inference and Agents balance, then your account prepayment balance. Only Serverless Inference and Managed Agents draw from the first, so it works as a separate AI budget. Auto-reload is on by default, so turn it off for a hard stop. A zero balance is also an outage, so reserve this for experiments and non-critical workloads.&lt;/p&gt;

&lt;h2&gt;
  
  
  Add alerts and scope your keys
&lt;/h2&gt;

&lt;p&gt;Spend alerts email you at percentage thresholds of your monthly budget, within an hour of each threshold being crossed. Their sole purpose is notification. Give each service its own model access key, scoped to specific models and a VPC, so one leak or loop has a small blast radius. Regenerating a key takes effect immediately, which is how you want it to work during an incident.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cap agents in code
&lt;/h2&gt;

&lt;p&gt;Rate limits (up to 120 requests and 1.5M tokens per minute at the lowest serverless tier) limit speed, not total spend. Harness Runtime has no per-session or per-product spend limit, so an agent stuck in an unintended loop can quickly drain balances. Set a max output token count per call, a max step count per task, and a running spend counter that stops the run. You should also pause idle sessions, since paused sessions incur no compute charges.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stop paying for idle GPUs
&lt;/h2&gt;

&lt;p&gt;Dedicated Inference bills per GPU-hour, and GPU Droplets bill per second until destroyed. Powering off doesn't stop the meter. At \$30.32 per hour for 8x H100, an idle Dedicated Inference endpoint costs roughly \$728 a day. &lt;/p&gt;

&lt;p&gt;To cap inference billing and avoid surprise costs, tag experimental GPU Droplets and destroy them nightly:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;doctl compute droplet delete &lt;span class="nt"&gt;--tag-name&lt;/span&gt; ephemeral-gpu &lt;span class="nt"&gt;--force&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Inference billing cap FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Can I get usage alerts or hard spending caps on a managed AI platform before bills run away?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
DigitalOcean spend alerts notify you at budget thresholds but don't limit usage. The closest hard cap is Serverless Inference's prepaid model, where access is suspended when credits and balances run out.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does powering off a GPU Droplet stop billing?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
No. The GPU stays reserved, so billing continues until you destroy the Droplet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Which inference option doesn't penalize variable workloads?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Serverless Inference, which bills per token instead of reserving GPUs, is a solid choice for variable workloads. Dedicated Inference bills per GPU-hour, whether or not anyone calls it, so it suits steady traffic better than spiky traffic.&lt;/p&gt;

&lt;h2&gt;
  
  
  References &amp;amp; further reading
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://docs.digitalocean.com/platform/billing/spend-alerts/" rel="noopener noreferrer"&gt;Spend alerts&lt;/a&gt;: worth setting up first.
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://docs.digitalocean.com/products/inference/how-to/manage-serverless-inference-prepayment/" rel="noopener noreferrer"&gt;Manage Serverless Inference prepayment&lt;/a&gt;: explains the order balances are drawn down.
&lt;/li&gt;
&lt;li&gt;Learn more about &lt;a href="https://docs.digitalocean.com/products/inference/how-to/manage-model-access-keys/" rel="noopener noreferrer"&gt;model access keys&lt;/a&gt; and &lt;a href="https://docs.digitalocean.com/products/inference/details/limits/" rel="noopener noreferrer"&gt;inference limits&lt;/a&gt;.
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://docs.digitalocean.com/products/inference/details/pricing/" rel="noopener noreferrer"&gt;Inference pricing&lt;/a&gt;: worth checking directly before you build.
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://docs.digitalocean.com/products/droplets/details/pricing/" rel="noopener noreferrer"&gt;Droplet pricing and billing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://docs.digitalocean.com/products/managed-agents/agent-harness-runtime/details/pricing/" rel="noopener noreferrer"&gt;Harness Runtime pricing&lt;/a&gt;: worth bookmarking before you run agents at scale.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>developers</category>
      <category>cloud</category>
      <category>startup</category>
    </item>
    <item>
      <title>Jev: an AI model that can’t write a sentence</title>
      <dc:creator>DigitalOcean</dc:creator>
      <pubDate>Fri, 09 Oct 2026 14:00:00 +0000</pubDate>
      <link>https://dev.to/digitalocean/jev-an-ai-model-that-cant-write-a-sentence-3cj</link>
      <guid>https://dev.to/digitalocean/jev-an-ai-model-that-cant-write-a-sentence-3cj</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frl0ka9ms5vgx3bap4qwe.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frl0ka9ms5vgx3bap4qwe.jpg" alt="Jev: an AI model that can’t write a sentence" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;ICYMI AI: The latest AI trends, delivered to you on Dev.to&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Tech Talk: TypeSafe’s Jev is a model that only returns probabilities
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://typesafe.ai/blog/introducing-system-one-models-and-jev" rel="noopener noreferrer"&gt;TypeSafe's Jev&lt;/a&gt;, released into early access on September 15, is a general-purpose classification model. It reads up to 32K tokens of input (such as a support ticket, a customer record, or a row of data). It answers any number of typed questions about it in a single parallel pass, and returns probabilities rather than prose.&lt;/p&gt;

&lt;p&gt;Outputs are limited to three options: Choice, Score, and Noul (yes or no), so structured-output errors and bad tool calls drop to zero by construction. A valid answer isn't always the right one, and Jev doesn't claim otherwise. &lt;/p&gt;

&lt;p&gt;What it does is tell you how sure it is. TypeSafe trains it for calibration, so its probabilities match real-world frequencies. When Jev says it's 80% confident, it's right about 80% of the time. That lets you set a threshold, automatically acting on high-confidence calls and routing the rest to a human or a larger model.&lt;/p&gt;

&lt;p&gt;The pricing is what makes Jev worth a look. At \$0.042 per million input tokens with free output, TypeSafe estimates about \$0.0004 per decision, roughly 1/76th the cost of GPT-5.6 Terra on its benchmark. Within days, imitators appeared: Laya, Bespoke Nimble, and Kev, several of them open-weight fine-tunes of Qwen 3.5 you can run locally. OpenAI likewise followed with a Decisions API of its own.&lt;/p&gt;

&lt;p&gt;For developers, the change is in how you structure the call. Instead of sending an LLM one broad question like "is this spam?" and parsing a paragraph back, you pass Jev the email once, along with a set of narrower typed questions, such as: Does the sender domain match the claimed company? Does it ask for credentials? How urgent is the language? Each comes back as a probability. Your own code then applies the thresholds and makes the call, so the routing policy lives in your repo, versioned and auditable, and the model only scores the inputs.&lt;/p&gt;

&lt;p&gt;Jev is available today on Serverless Inference through the &lt;a href="https://www.digitalocean.com/products/model-library" rel="noopener noreferrer"&gt;DigitalOcean Model Library&lt;/a&gt;, at Typesafe’s list price—no separate TypeSafe account needed. Pair it with the DigitalOcean Inference Router to send routing and classification traffic to Jev while keeping frontier models in reserve for the calls that need them.&lt;/p&gt;




&lt;h3&gt;
  
  
  Event calendar
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/open-intelligence-summit" rel="noopener noreferrer"&gt;&lt;strong&gt;Open Intelligence Summit&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;October 12-13th, San Francisco&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The argument is no longer “Is open source AI cheaper?” It’s now “Who owns intelligence?” A movement is forming around open intelligence and generating the belief that the intelligence powering our AI products and companies should be more open, portable, and controllable.&lt;/p&gt;

&lt;p&gt;Join DigitalOcean, NVIDIA, RadixArk, Inferact, and more for deep dives, demos, and discussions about the technologies that keep intelligence portable, interoperable, and in the hands of builders. &lt;/p&gt;




&lt;h3&gt;
  
  
  Industry news
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Near-flagship intelligence at a fifth of the price was the headline at OpenAI DevDay, but the bigger shift is the stack forming around the model&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
&lt;a href="https://openai.com/index/introducing-gpt-6-1-sol/" rel="noopener noreferrer"&gt;OpenAI announced&lt;/a&gt; GPT-6.1 Sol, which it says delivers near-Astra intelligence at a fifth of Astra's token prices, plus an Ultrafast tier with up to 6x faster generation in the API. It also added computer use to its Agents API and opened ChatGPT, which it puts at 1.2B weekly users, to developer-built plugins and partners like Devin, Notion, and Vercel.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent safety is moving below the application layer&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
&lt;a href="https://nvidianews.nvidia.com/news/open-agent-safety-platform" rel="noopener noreferrer"&gt;NVIDIA's Open Agent Safety Platform&lt;/a&gt; pairs OpenShell, an open-source runtime that traces agent actions and enforces policy, with Sentry, an out-of-band watchdog on BlueField-4 DPUs that NVIDIA says can quarantine an agent that leaves its boundaries within milliseconds. NVIDIA says more than 100 organizations, including Anthropic and CrowdStrike, are working with the technology, and DigitalOcean is among the companies supporting the platform.&lt;/p&gt;




&lt;h2&gt;
  
  
  New models available on DigitalOcean Inference Engine
&lt;/h2&gt;

&lt;p&gt;We recently launched models from TypeSafeAI, DeepSeek, Z.ai, NVIDIA, OpenAI, and Anthropic, all with different strengths and use cases. Learn more about the models in our &lt;a href="https://www.digitalocean.com/blog/whats-new-on-inference-engine" rel="noopener noreferrer"&gt;What’s New blog&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Start using them through the &lt;a href="https://docs.digitalocean.com/products/inference/how-to/si-endpoints/" rel="noopener noreferrer"&gt;DigitalOcean API&lt;/a&gt; or directly in the &lt;a href="https://cloud.digitalocean.com/model-studio/explore-models/model-catalog?i=b69464" rel="noopener noreferrer"&gt;Cloud Console&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DeepSeek-V4.1-Flash&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
DeepSeek-V4.1-Flash cuts the KV cache footprint to 1/4 of V4-Flash while outperforming DeepSeek's own V4-Pro flagship on coding and agentic benchmarks, addressing the cache-hit charges that often dominate agent costs. The 552B MoE model activates just 8B parameters on input, delivering frontier performance with infrastructure economics that improve as you scale.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GLM-5.3 and GLM-5.3-Flash from Z.ai&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Z.ai's post-training translates to significant performance improvements for GLM-5.3, achieving a 50% lower cost per completed coding task than GLM-5.2 while jumping to 28.3 on Terminal-Bench 3.0. GLM-5.3-Flash adds native image and video input with the same agentic strength, giving teams both reasoning-heavy and efficient multimodal paths on a single platform.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nemotron™ 3 Diarization from NVIDIA&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
NVIDIA's Nemotron™ 3 Diarization replaces the multi-stage speaker attribution pipeline (VAD, embeddings, clustering, post-processing) with a single 100M-parameter model, keeping audio within DigitalOcean's infrastructure rather than routing it to third-party APIs. It identifies up to 8 speakers (double the previous limit) with a 14.72% error rate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GPT-6.1 Sol, GPT-6 Astra, Sol, and Luna from OpenAI&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
One week after GPT-6 Sol’s launch, OpenAI releases GPT-6.1 Sol, which offers near-Astra-level coding and substantial improvements in document understanding, computer use, and scientific work. OpenAI's three-tier GPT-6 family also debuts on DigitalOcean: Astra for computer use and coding, Sol for frontier reasoning at 90% lower cost than Opus 5, and Luna for high-volume tasks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Claude Fable 5.1, Opus 5.5, and Sonnet 5.5 from Anthropic&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Anthropic's latest point releases deliver focused gains: Fable 5.1 reaches 55.8% on Terminal-Bench 4.0 with 75% cheaper cache reads, while Opus 5.5 matches high-effort results at default effort using half the tokens and 20% lower per-token cost. Sonnet 5.5 runs 30% faster with equivalent cost savings, with a shift toward better token efficiency and lower verification burden.&lt;/p&gt;




&lt;h3&gt;
  
  
  Community tutorials
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/community/conceptual-articles/how-naive-failover-between-inference-providers-makes-outages-worse" rel="noopener noreferrer"&gt;&lt;strong&gt;How naive failover between inference providers makes outages worse&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
In a six-hour fault-injection run on an H200 GPU Droplet, the standard retry-with-backoff policy pushed 3.54x normal load onto a degraded provider, while a retry budget plus circuit breaker held it to 1.02x, and naive retries left 3,743 zombie requests generating 959,232 output tokens for clients that had already disconnected. Learn how to classify inference errors before failing over, replace fixed retry counts with a budget, and verify whether your provider actually stops billing when you cancel a stream.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/community/tutorials/the-real-cost-of-multimodal-inference" rel="noopener noreferrer"&gt;&lt;strong&gt;What vision-language models cost to serve at production scale&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
A single uploaded photo can add more than a thousand input tokens before the model writes a word, and at 500,000 requests a month, that gap is the difference between \$155 on serverless Nemotron Nano 12B VL and \$3,175.20 for a dedicated H100 running 24/7. Walk through the per-request cost math, the roughly 10.2 million-request breakeven, where dedicated wins, and six levers for cutting image-token spend.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/community/tutorials/speculative-decoding-kv-cache-capacity" rel="noopener noreferrer"&gt;&lt;strong&gt;Speculative decoding's hidden cost: the KV cache capacity you give up, and where throughput turns negative&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
On a 141 GB H200 serving Qwen3-14B with vLLM, a separate Qwen3-0.6B draft model consumed about 43.8 percent of baseline batch slots, and even n-gram speculation, predicted to cost nothing, measured a 2.8 percent capacity tax. See where each method's throughput crosses below baseline as concurrency rises, and get the config.json arithmetic to predict a draft model's KV cost before spending GPU hours.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/community/conceptual-articles/deepseek-v4-1-flash-cache-reliability" rel="noopener noreferrer"&gt;&lt;strong&gt;Cache reliability is a pricing term: what I learned measuring DeepSeek-V4.1-Flash on DigitalOcean Serverless Inference&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
DeepSeek-V4.1-Flash has the deepest cache discount in the Serverless Inference catalog at \$0.006 per million cached tokens, yet across 844 API calls it hit the cache on only 78.6% of warm turns, and with a miss priced at 50x a hit, it cost 2.2x what GLM-5.3-Flash did for the same 15-turn, 200K-token sessions. Discover how DigitalOcean's 64-token-block prefix cache works, how to log your own hit rate from the usage object, and why reasoning_effort: max cost up to 1.88x more without improving accuracy.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/community/tutorials/deepseek-v41-flash-ced-article" rel="noopener noreferrer"&gt;&lt;strong&gt;Why DeepSeek-V4.1-Flash splits reading from writing&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
DeepSeek-V4.1-Flash's Causal Encoder-Decoder splits a 40-layer model into a 20-layer encoder that runs prefill at 8B active parameters and a full stack that decodes at 16B, shrinking the global KV cache to about 890 bytes per token, roughly a quarter of V4-Flash's. Learn why that asymmetry, not the 74.2 versus 62.7 DeepSWE score against V4-Pro, is what lowers the bill for read-heavy coding agents.&lt;/p&gt;




&lt;h3&gt;
  
  
  Product updates
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/blog/managed-agents-public-preview" rel="noopener noreferrer"&gt;&lt;strong&gt;Introducing DigitalOcean Managed Agents, now in Public Preview&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
AI agents are ready to take on more, and we built the infrastructure to match. &lt;a href="https://www.digitalocean.com/products/managed-agents" rel="noopener noreferrer"&gt;DigitalOcean Managed Agents&lt;/a&gt; brings together &lt;a href="https://cloud.digitalocean.com/managed-agents/harness-runtime?i=e0fda3" rel="noopener noreferrer"&gt;Harness Runtime&lt;/a&gt;, a purpose-built runtime for running agent sessions at scale, and &lt;a href="https://cloud.digitalocean.com/managed-agents/action-gateway/getting-started?i=e0fda3" rel="noopener noreferrer"&gt;Action Gateway&lt;/a&gt;, governed access to the tools agents need to get real work done, all in one platform.&lt;/p&gt;

&lt;p&gt;Deploy your preferred agent harness, Claude Code, Codex CLI, OpenCode, and more, or bring your own, and connect to 16,000+ tools across 500+ providers through a single managed endpoint. Sessions are ready in under a second, resume in about 300 milliseconds with full context intact, and you only pay for the compute you actually use.&lt;/p&gt;

&lt;p&gt;Whether you're automating support workflows, refactoring code across repositories, or building the next agent-powered product, Managed Agents gives you the infrastructure to do it, without building it yourself. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/blog/microvms-for-agents" rel="noopener noreferrer"&gt;&lt;strong&gt;DigitalOcean MicroVMs now in private preview&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Isolated, Firecracker-based VMs that pause when idle and resume with state intact, built for agent workloads that run in bursts. The same layer that powers Managed Agents is now available directly to teams building their own agent platforms, sandboxes, and short-lived jobs. &lt;/p&gt;

</description>
      <category>ai</category>
      <category>startup</category>
      <category>infrastructure</category>
      <category>developers</category>
    </item>
    <item>
      <title>What is disaggregated prefill and decode in LLM inference?</title>
      <dc:creator>DigitalOcean</dc:creator>
      <pubDate>Tue, 06 Oct 2026 18:03:00 +0000</pubDate>
      <link>https://dev.to/digitalocean/what-is-disaggregated-prefill-and-decode-in-llm-inference-4m0n</link>
      <guid>https://dev.to/digitalocean/what-is-disaggregated-prefill-and-decode-in-llm-inference-4m0n</guid>
      <description>&lt;p&gt;What is disaggregated prefill and decode in LLM inference?&lt;/p&gt;

&lt;p&gt;Prefill is compute-bound, decode is memory-bound. Learn why colocating them hurts TTFT and ITL, and when disaggregated serving pays off.&lt;/p&gt;

&lt;p&gt;Every LLM request runs through two phases with effectively opposite hardware profiles. Understanding the split explains most of the latency and cost behavior you see in production, and why disaggregated prefill and decode has become a standard serving pattern.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key takeaways&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prefill is compute-bound and sets TTFT; decode is memory-bandwidth-bound and sets ITL/TPOT.
&lt;/li&gt;
&lt;li&gt;Running both on the same GPUs creates prefill/decode interference, visible as TTFT spikes and ITL jitter.
&lt;/li&gt;
&lt;li&gt;Chunked prefill and continuous batching reduce interference; disaggregating the phases onto separate pools removes it, at the cost of a KV cache transfer.
&lt;/li&gt;
&lt;li&gt;Disaggregation is worth it for long prompts, high concurrency, and strict streaming SLOs. A managed option like DigitalOcean Serverless Inference gives you it without the setup; for small self-hosted deployments, a well-tuned single pool on a &lt;a href="https://www.digitalocean.com/products/gpu-droplets" rel="noopener noreferrer"&gt;GPU Droplet&lt;/a&gt; running vLLM is often enough.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The two phases of LLM inference
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Prefill&lt;/strong&gt; processes the entire prompt in one forward pass and builds the KV cache, the attention state every later token reads from. It is compute-bound: arithmetic intensity is high and the GPU spends its time doing math, not waiting on memory. Prefill governs time to first token (TTFT), and its attention cost grows quadratically with prompt length.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Decode&lt;/strong&gt; generates output one token at a time. Each step reloads the model weights and the growing KV cache from HBM to produce a single token, so it is memory-bandwidth-bound. Decode governs inter-token latency (ITL) and time per output token (TPOT). A GPU with higher memory bandwidth streams tokens faster even if its FLOPs are unchanged.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why colocating prefill and decode causes latency problems
&lt;/h2&gt;

&lt;p&gt;Most serving engines batch prefill and decode on the same GPUs. That is where the interference shows up: a long prompt's prefill can monopolize compute while dozens of in-flight decode requests stall, and users see ITL jitter or a TTFT spike. The two phases also want different batch sizes and parallelism strategies, but colocated they must share one configuration. &lt;/p&gt;

&lt;p&gt;Chunked prefill and continuous batching soften this by interleaving prompt chunks with decode steps, which is why our &lt;a href="https://www.digitalocean.com/blog/llm-inference-tradeoffs" rel="noopener noreferrer"&gt;inference trilemma&lt;/a&gt; guide recommends them for latency-sensitive deployments.&lt;/p&gt;

&lt;h2&gt;
  
  
  What disaggregation changes
&lt;/h2&gt;

&lt;p&gt;Disaggregated serving, formalized in the &lt;a href="https://arxiv.org/abs/2401.09670" rel="noopener noreferrer"&gt;DistServe paper&lt;/a&gt;, runs prefill and decode on separate GPU pools. A prefill worker computes the KV cache, ships it over a fast interconnect (RDMA, RoCE, or a transfer library like NIXL or LMCache) to a decode worker, and the decode pool streams tokens without prefill interference. Because each pool is sized and tuned independently, you can hit TTFT and ITL targets at the same time rather than trading one for the other. The cost is added complexity plus a KV transfer step; that transfer can land on second-token latency rather than TTFT depending on how orchestration is done.&lt;/p&gt;

&lt;p&gt;This is the architecture DigitalOcean already runs in production: &lt;a href="https://www.digitalocean.com/blog/reduce-llm-inference-costs-prefix-caching" rel="noopener noreferrer"&gt;Serverless Inference&lt;/a&gt; uses disaggregated serving over a RoCE network, paired with prefix-aware routing so shared system prompts skip redundant prefill entirely.&lt;/p&gt;

&lt;h2&gt;
  
  
  References &amp;amp; further reading
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://arxiv.org/abs/2401.09670" rel="noopener noreferrer"&gt;DistServe: Disaggregating Prefill and Decoding for Goodput-optimized LLM Serving&lt;/a&gt;: the primary source for the pattern, worth reading before you build.
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.digitalocean.com/blog/llm-inference-benchmarking" rel="noopener noreferrer"&gt;LLM inference benchmarking: measure what matters&lt;/a&gt;: a clear walkthrough of TTFT, TPOT, ITL, and how each maps to prefill or decode.
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.digitalocean.com/blog/llm-inference-tradeoffs" rel="noopener noreferrer"&gt;The LLM inference trilemma&lt;/a&gt;: practical tuning advice, including when to reach for chunked prefill.
&lt;/li&gt;
&lt;li&gt;Learn more about &lt;a href="https://www.digitalocean.com/community/tutorials/debugging-p99-ttft-llm-inference" rel="noopener noreferrer"&gt;debugging p99 TTFT&lt;/a&gt; and &lt;a href="https://www.digitalocean.com/community/tutorials/how-to-deploy-nvidia-dynamo-for-llm-inference" rel="noopener noreferrer"&gt;deploying NVIDIA Dynamo on GPU Droplets&lt;/a&gt;, a framework built around disaggregated serving.
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.digitalocean.com/products/gpu-droplets" rel="noopener noreferrer"&gt;GPU Droplets&lt;/a&gt;: current hardware and regions, worth checking directly since availability changes.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>developers</category>
      <category>startup</category>
      <category>infrastructure</category>
    </item>
    <item>
      <title>How to route LLM requests by cost vs. latency</title>
      <dc:creator>DigitalOcean</dc:creator>
      <pubDate>Fri, 02 Oct 2026 18:33:17 +0000</pubDate>
      <link>https://dev.to/digitalocean/how-to-route-llm-requests-by-cost-vs-latency-463j</link>
      <guid>https://dev.to/digitalocean/how-to-route-llm-requests-by-cost-vs-latency-463j</guid>
      <description>&lt;p&gt;Routing LLM requests by cost and latency means sending each request to the cheapest or fastest model that still meets the quality bar, rather than hardcoding a single model for everything. Production traffic isn't uniform: routine lookups, complex troubleshooting, and background jobs have different cost and latency requirements, even within a single app. &lt;/p&gt;

&lt;p&gt;Using an inference router like DigitalOcean Inference Router involves defining request categories, assigning each a selection policy (cost, latency, or a benchmarked best fit), and setting fallback models so an unavailable model doesn't break the request. Cost is the price per token (which can vary by up to 100x across a model catalog); latency is mainly the time to first token (TTFT). The two don't move together, so route per task rather than using a single blended score.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key takeaways:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Routing is a per-workload policy, not a search for "the best model."
&lt;/li&gt;
&lt;li&gt;Cost and latency usually need separate, explicit priorities.
&lt;/li&gt;
&lt;li&gt;Fallback and cache-aware routing protect the savings that routing is meant to deliver.
&lt;/li&gt;
&lt;li&gt;The DigitalOcean Inference Router implements this as configuration, not custom infrastructure.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  LLM routing strategies
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Static rules&lt;/strong&gt;: Hardcode model per request type. Simple, but brittle.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Policy-based routing&lt;/strong&gt;: A model pool per task with a cost/latency/optimal policy. Most production systems land here.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic routing&lt;/strong&gt;: A classifier infers the task and policy automatically.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Routing LLM requests: A quick decision framework
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Workload&lt;/th&gt;
&lt;th&gt;Priority&lt;/th&gt;
&lt;th&gt;Policy&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Real-time chat&lt;/td&gt;
&lt;td&gt;Latency&lt;/td&gt;
&lt;td&gt;Speed-optimized (TTFT)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Routine lookups&lt;/td&gt;
&lt;td&gt;Cost&lt;/td&gt;
&lt;td&gt;Cost-optimized&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Complex reasoning&lt;/td&gt;
&lt;td&gt;Quality&lt;/td&gt;
&lt;td&gt;Benchmarked "optimal"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Batch/background&lt;/td&gt;
&lt;td&gt;Cost&lt;/td&gt;
&lt;td&gt;Cost-optimized&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Fallback models&lt;/strong&gt; keep requests completing when the preferred model is down or rate-limited. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cache-aware routing&lt;/strong&gt; matters too: switching models to save a fraction of a cent can break a cached prompt and cost more overall.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the DigitalOcean Inference Router routes LLM requests
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://docs.digitalocean.com/products/inference/how-to/use-inference-router/" rel="noopener noreferrer"&gt;Inference Router&lt;/a&gt; tasks pair a model pool with a selection policy: preset tasks default to a benchmarked &lt;strong&gt;Optimal&lt;/strong&gt; policy; custom tasks choose &lt;strong&gt;Cost Efficiency&lt;/strong&gt;, &lt;strong&gt;Speed Optimization&lt;/strong&gt; (TTFT), or &lt;strong&gt;Manual Ranking&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Fallback models handle unmatched traffic. &lt;code&gt;X-Model-Affinity&lt;/code&gt; preserves cache reuse, and &lt;code&gt;X-Routing-Max-Switch-Spend-Pct&lt;/code&gt; (default 20%) caps the cost of switching mid-session. &lt;/p&gt;

&lt;p&gt;It's a drop-in change. Set &lt;code&gt;"model": "router:your-router-name"&lt;/code&gt;. Routing decisions typically resolve in about 200ms, billed at the serving model's &lt;a href="https://docs.digitalocean.com/products/inference/details/pricing/" rel="noopener noreferrer"&gt;standard rate&lt;/a&gt; with no separate router charge during public preview.&lt;/p&gt;

&lt;h2&gt;
  
  
  LLM routing FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What is LLM routing?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
LLM routing is the practice of directing each request to the model best suited to it—by cost, latency, or task fit—instead of sending every request through one model regardless of what it needs. The DigitalOcean Inference Router implements this as a managed feature, so teams get task-aware routing and fallback handling without building it themselves.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do you &lt;a href="https://www.digitalocean.com/resources/articles/llm-cost-calculation-guide" rel="noopener noreferrer"&gt;model cost-per-token&lt;/a&gt; for LLM inference?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Multiply input tokens by the model's input rate and output tokens by its output rate, then sum the two, since the rates are usually very different. Because rates vary widely across a model catalog, this is best tracked per task rather than as one blended number. The DigitalOcean Inference Router reports token usage and cost-relevant metrics per model and per task in its Analyze view.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What metrics matter for LLM inference observability?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Time to first token (TTFT), time per output token (TPOT), and inter-token latency (ITL) are the core metrics for judging responsiveness. A latency-optimized routing policy should be measured against these, not just overall request time. The DigitalOcean Inference Router uses TTFT specifically as the basis for its Speed Optimization selection policy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What causes cold start latency in GPU inference, and how do you avoid it?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Cold starts happen when a model has to load onto available GPU capacity before it can serve a request, rather than running on an already-warm instance. Pooled serverless capacity and routing policies that keep related traffic on one model reduce how often this happens. The DigitalOcean Inference Router uses model affinity to keep a session's requests on the same warm model, rather than triggering repeated cold starts across models.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I route by both cost and latency at the same time?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Yes—typically by defining separate tasks or policies for different request types rather than one blended score. For example, cost-first for background work and latency-first for real-time chat. The DigitalOcean Inference Router supports this directly. Each task in a router can have its own model pool and its own Cost Efficiency, Speed Optimization, or Manual Ranking policy.&lt;/p&gt;

&lt;h2&gt;
  
  
  References &amp;amp; further reading
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://docs.digitalocean.com/products/inference/how-to/use-inference-router/" rel="noopener noreferrer"&gt;How to use Inference Router&lt;/a&gt;: The full documentation on tasks, selection policies, fallback models, and the cache-aware router referenced throughout this piece. Worth reading directly before you configure a router for production traffic.
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://docs.digitalocean.com/products/inference/details/pricing/" rel="noopener noreferrer"&gt;Inference pricing&lt;/a&gt;: Current per-model Serverless Inference rates, since routing decisions are only as good as the pricing data behind them.
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.digitalocean.com/blog/inference-router-architecture" rel="noopener noreferrer"&gt;How DigitalOcean built Inference Router&lt;/a&gt;: An inside look at the architecture decisions behind cache-aware routing and fallback handling, useful if you want the reasoning behind the mechanics.
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.digitalocean.com/blog/serverless-inference-deep-dive" rel="noopener noreferrer"&gt;DigitalOcean Serverless Inference: a deep dive&lt;/a&gt;: Background on the serverless layer that Inference Router sits in front of.
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.digitalocean.com/resources/articles/best-llm-routers" rel="noopener noreferrer"&gt;DigitalOcean's best LLM routers roundup&lt;/a&gt;: A good next read if you're comparing routing options across vendors rather than implementing a policy on a platform you've already chosen.
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.digitalocean.com/products/inference-engine" rel="noopener noreferrer"&gt;AI Inference Engine overview&lt;/a&gt;: shows where Inference Router fits alongside serverless, batch, and dedicated inference on DigitalOcean's broader platform.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>startup</category>
      <category>developers</category>
      <category>infrastructure</category>
    </item>
    <item>
      <title>Which inference provider has both serverless and dedicated GPU tiers on the same platform with one API?</title>
      <dc:creator>DigitalOcean</dc:creator>
      <pubDate>Mon, 28 Sep 2026 17:17:40 +0000</pubDate>
      <link>https://dev.to/digitalocean/which-inference-provider-has-both-serverless-and-dedicated-gpu-tiers-on-the-same-platform-with-one-50dc</link>
      <guid>https://dev.to/digitalocean/which-inference-provider-has-both-serverless-and-dedicated-gpu-tiers-on-the-same-platform-with-one-50dc</guid>
      <description>&lt;p&gt;DigitalOcean's Inference Engine puts serverless, dedicated, and batch inference behind a single endpoint, on the same GPU Droplets infrastructure, so a workload can move from pay-per-token prototyping to a reserved-GPU deployment without switching platforms or rewriting its integration. A handful of other inference providers share a single API across serverless and dedicated tiers, too, but they generally limit that unification to inference alone, rather than to the broader cloud the dedicated GPUs run on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why serverless-only or dedicated-only platforms create a migration tax
&lt;/h2&gt;

&lt;p&gt;Most teams don't start with a clear answer to "How much GPU capacity do we need?". They prototype on a pay-per-token endpoint, and only once traffic gets steady and predictable does it make financial sense to reserve GPUs outright. Many inference providers treat serverless and dedicated as separate products, with distinct SDKs, auth, and billing dashboards, so moving from one to the other means rewriting integration code in the middle of a product's growth curve, which is exactly when a team has the least time to do it. A provider that puts both tiers behind a single API avoids that: you prototype on serverless and repoint the same client to a dedicated endpoint once volume justifies it, often by changing a model or endpoint parameter rather than an integration.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the DigitalOcean Inference Engine unifies serverless, dedicated, and batch inference
&lt;/h2&gt;

&lt;p&gt;The DigitalOcean &lt;a href="https://www.digitalocean.com/products/inference-engine" rel="noopener noreferrer"&gt;Inference Engine&lt;/a&gt; runs three inference patterns over the same GPU Droplets infrastructure, behind a single endpoint. These solutions include real-time &lt;a href="https://docs.digitalocean.com/products/inference/how-to/use-serverless-inference-hub" rel="noopener noreferrer"&gt;Serverless inference&lt;/a&gt; across 70+ open-weight and frontier models, &lt;a href="https://docs.digitalocean.com/products/inference/how-to/use-dedicated-inference" rel="noopener noreferrer"&gt;Dedicated inference&lt;/a&gt; on reserved, single-tenant GPU capacity with support for bringing your own model, and asynchronous Batch Inference for large, non-real-time jobs. The Preview Inference Router adds cost- and latency-based routing on top, and a shared Model Playground and evaluations tooling sit on the same account.&lt;br&gt;
That's what makes DigitalOcean a solid solution for AI-native companies requiring both serverless and dedicated GPU tiers. The unification isn't limited to the inference API itself. It extends to the GPU Droplets the dedicated tier runs on, as well as the rest of the AI-Native Cloud around them. A workload doesn't need to switch vendors, contracts, or billing relationships as it matures from prototype to production.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to check before assuming "one API" elsewhere means the same thing
&lt;/h2&gt;

&lt;p&gt;Several other inference-focused platforms let serverless and dedicated calls share one API too, usually as a way past per-token rate limits or shared-capacity contention once traffic justifies reserving GPUs. But a shared API can sound more unified on a landing page than it is in production. So it's worth confirming directly against each provider's current docs: does provisioning real dedicated capacity happen through the API, or does it route through a sales conversation first? Is the dedicated tier's hardware genuinely part of the same cloud a team already runs on, or does the provider specialize in inference alone, with GPUs sitting apart from the application's data and storage? And does "one API" cover just the inference call—or the account, billing, and observability around it too?&lt;/p&gt;

&lt;h2&gt;
  
  
  What else to verify before standardizing on a provider
&lt;/h2&gt;

&lt;p&gt;Beyond scope, it's worth confirming: whether the model you need is available in both tiers (not every model ships to both), what the cutover mechanism actually looks like (a new endpoint URL versus a full redeploy), how billing reconciles if usage straddles both tiers in the same month, and whether dedicated capacity is truly single-tenant or a reserved slice of shared hardware. For teams already running other infrastructure on a given cloud, it's also worth weighing how much value comes from the inference API alone versus not having to move data, agents, or storage to a second vendor to get dedicated GPU access.&lt;/p&gt;

&lt;h2&gt;
  
  
  References &amp;amp; further reading
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.digitalocean.com/products/inference-engine" rel="noopener noreferrer"&gt;DigitalOcean's Inference Engine&lt;/a&gt; brings serverless, dedicated, and batch inference together in one place.&lt;/li&gt;
&lt;li&gt;Our &lt;a href="https://docs.digitalocean.com/products/inference/how-to/use-dedicated-inference" rel="noopener noreferrer"&gt;Dedicated Inference documentation&lt;/a&gt; covers bring-your-own-model (BYOM) support and scaling settings for teams ready to move off serverless.&lt;/li&gt;
&lt;li&gt;Read our &lt;a href="https://docs.digitalocean.com/products/inference/how-to/use-serverless-inference-hub" rel="noopener noreferrer"&gt;Serverless Inference documentation&lt;/a&gt; for the model catalog and routing options available on the shared endpoint.&lt;/li&gt;
&lt;li&gt;Reading through each inference provider's own docs tends to be the fastest way to confirm whether "serverless and dedicated" really means one API or two separate products.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>infrastructure</category>
      <category>llm</category>
      <category>startup</category>
    </item>
    <item>
      <title>What It Actually Costs to Serve a 1M-Token Model in Production</title>
      <dc:creator>DigitalOcean</dc:creator>
      <pubDate>Mon, 21 Sep 2026 20:33:36 +0000</pubDate>
      <link>https://dev.to/digitalocean/what-it-actually-costs-to-serve-a-1m-token-model-in-production-4f0k</link>
      <guid>https://dev.to/digitalocean/what-it-actually-costs-to-serve-a-1m-token-model-in-production-4f0k</guid>
      <description>&lt;p&gt;Model providers now advertise context windows large enough to hold a codebase or a stack of contracts in a single request. It's tempting to read that number as a green light, but it isn't. A model that &lt;em&gt;accepts&lt;/em&gt; a million tokens and a system that can &lt;em&gt;serve&lt;/em&gt; a million tokens to real, concurrent users within your latency and cost budget are two different engineering problems. Conflating them is how teams end up with a demo that works and a bill or a &lt;a href="https://www.digitalocean.com/community/conceptual-articles/when-your-vllm-p99" rel="noopener noreferrer"&gt;p99 latency&lt;/a&gt; chart that doesn't.&lt;/p&gt;

&lt;p&gt;You serve a 1M-token model in production by treating context length as a cost and latency variable you manage on purpose, not a spec you flip on. Let’s dive into the memory math, the latency cliff, and the cost curve for serving a model with a million tokens of context, plus the caching and routing techniques that production teams use today to keep all three in check. Plus, a straight answer on when long context is the wrong tool for the job and retrieval should do the work instead.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key takeaways&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Serving a 1M-token context model in production is a memory, latency, and cost problem layered on top of a model capability. Supporting long context and serving it reliably are not the same claim.
&lt;/li&gt;
&lt;li&gt;Serving long context effectively means stable agent sessions and predictable spend, rather than retries, timeouts, and a bill that scales with the window instead of the question.
&lt;/li&gt;
&lt;li&gt;The real decision isn't whether to "turn on" long context, it's which combination of caching, prefix reuse, and retrieval fits your workload's cost and latency budget.
&lt;/li&gt;
&lt;li&gt;Production-grade 1M-token serving combines general techniques, including KV cache economics and prefix-reuse approaches like SGLang's RadixAttention. Use DigitalOcean Inference Router for cache-aware routing, plus retrieval-augmented generation (RAG) as the alternative and complement.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What "serving" a long-context model actually means
&lt;/h2&gt;

&lt;p&gt;Context is everything you send to a model in a single request, measured in tokens: the prompt, the documents, the conversation history. A 128K-token window is roughly a novel's worth of text, and frontier closed models now advertise up to 1M tokens (roughly, ten novels). That number describes what the model can read in isolation, but not what happens to time-to-first-token, batch size, or your GPU bill once dozens of those requests land on the same cluster at once.&lt;/p&gt;

&lt;p&gt;Support is a model capability, and performance is a serving question. The two come apart the moment real traffic shows up.&lt;/p&gt;

&lt;p&gt;Two mechanics decide whether a long-context request is slow to start or slow to finish:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.digitalocean.com/community/tutorials/prefill-decode-disaggregation" rel="noopener noreferrer"&gt;Prefill&lt;/a&gt;: The compute-bound pass where the model reads your entire input before writing anything.
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.digitalocean.com/community/conceptual-articles/how-kv-caching-slashes-llm-inference-costs-at-scale" rel="noopener noreferrer"&gt;KV cache&lt;/a&gt;: The memory that stores each token's key and value vectors so the model doesn't reread the input on every step.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dig in to how &lt;a href="https://www.digitalocean.com/community/tutorials/prefill-decode-disaggregation" rel="noopener noreferrer"&gt;prefill/decode disaggregation&lt;/a&gt; works: the two-phase split behind every long-context serving decision below.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why its worth optimizing for long-context
&lt;/h2&gt;

&lt;p&gt;Getting long-context serving right pays off in multiple ways.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Here's what's actually at stake once you're running this in production:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Stable agent and document workloads&lt;/strong&gt;: A correctly cached long-context session makes it possible for a coding agent or a multi-turn document review to hold state across dozens of turns without resending the same 100K-token context on every message.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Costs you can forecast&lt;/strong&gt;: Once you know whether traffic is cache-friendly or retrieval-shaped, it's easier to accurately predict spend.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No silent accuracy loss&lt;/strong&gt;: Long-context serving done well accounts for the fact that models answer less reliably as input grows. This happens by routing precision lookups to retrieval instead of trusting long-context recall, and by testing accuracy at the context lengths you'll actually run rather than assuming a bigger model or window is automatically more reliable.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latency you can put in an SLA&lt;/strong&gt;: Understanding the prefill/decode split lets you set a time-to-first-token target you can actually hit, instead of promising an interactive response time a long-context request can't deliver.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Room to scale without a rebuild&lt;/strong&gt;: Architectures built around caching and routing from the start absorb growth in context length and concurrent users without the rewrite that a "just resend everything" approach eventually forces.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What to evaluate before you commit to a long-context approach
&lt;/h2&gt;

&lt;p&gt;Long-context serving isn't a single decision, but rather a set of infrastructure and architecture choices considered together:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cache-awareness&lt;/strong&gt;: Check whether the serving layer reuses the KV cache across requests that share a common prefix, rather than recomputing it each time. The DigitalOcean &lt;a href="https://www.digitalocean.com/products/inference-engine" rel="noopener noreferrer"&gt;Inference Router&lt;/a&gt;, for example, pins a session to the same model so that a warm cache isn't discarded mid-task when switching to a different, cheaper model.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Batching under long-context load&lt;/strong&gt;: Confirm the system maintains healthy batch sizes as the average context length grows, using techniques like chunked prefill and paged memory allocation, rather than letting a single long request starve everything queued behind it.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Isolation from noisy neighbors&lt;/strong&gt;: Ask whether long-context and interactive traffic run in separate pools. &lt;a href="https://docs.digitalocean.com/products/inference/how-to/use-dedicated-inference/" rel="noopener noreferrer"&gt;Dedicated Inference&lt;/a&gt; on DigitalOcean exists specifically so a large document-processing job doesn't blow up latency for interactive users on the same infrastructure.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pricing that reflects the real cost curve&lt;/strong&gt;: Look for tiered, per-token pricing that acknowledges long-context requests cost more proportionally, plus a prompt-caching rate that's meaningfully cheaper than a full rewrite.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Observability into cache health, not just request counts&lt;/strong&gt;: Make sure you can see KV-cache occupancy, eviction, and preemption counts—not just average latency—since that's what actually explains a p99 problem caused by long-context traffic.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Resend, cache, retrieve, or both: what each costs per session
&lt;/h2&gt;

&lt;p&gt;The cleanest way to understand the cost of each approach is to price a full session rather than a single token.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;These examples take a 10-turn agent conversation carrying a stable 128K-token context—a codebase or a document set—where each turn adds a short question and gets a short answer:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Strategy&lt;/th&gt;
&lt;th&gt;Use Case&lt;/th&gt;
&lt;th&gt;Mechanism&lt;/th&gt;
&lt;th&gt;Cost per 10-turn session (128K context)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Resend the full context every turn&lt;/td&gt;
&lt;td&gt;Short, one-off sessions where simplicity matters more than cost&lt;/td&gt;
&lt;td&gt;Full context re-sent as input tokens on every turn&lt;/td&gt;
&lt;td&gt;$3.93&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cache the context; reuse it&lt;/td&gt;
&lt;td&gt;Stable, reused context — a codebase, a document set, a long agent session&lt;/td&gt;
&lt;td&gt;Prefill cost paid once; later turns reuse the cached KV state&lt;/td&gt;
&lt;td&gt;$0.95&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Retrieve a relevant slice (RAG)&lt;/td&gt;
&lt;td&gt;Large or changing corpora where each query touches a small fraction of the data&lt;/td&gt;
&lt;td&gt;Only the relevant slice enters context; the rest of the corpus stays out&lt;/td&gt;
&lt;td&gt;$0.33&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Figures per DigitalOcean's &lt;a href="https://www.digitalocean.com/community/tutorials/long-context-llm-serving-tradeoffs-2026" rel="noopener noreferrer"&gt;long-context serving tradeoffs analysis&lt;/a&gt;, priced at Claude Sonnet's published rates ($3.00/M input tokens, $3.75/M to write the cache, $0.30/M to read it).&lt;/p&gt;

&lt;p&gt;Caching cuts the bill roughly 4x against resending; retrieval cuts it roughly 12x. At thousands of sessions a day, that architecture choice matters more than any provider's per-token rate.&amp;nbsp;&lt;/p&gt;

&lt;h2&gt;
  
  
  The four tradeoffs that decide whether long-context works in production
&lt;/h2&gt;

&lt;p&gt;A 1M-token context window is a spec, not a guarantee that serving it will work. Memory, latency, throughput, and accuracy each break in their own way as context grows, and "supports 1M tokens" and "serves 1M tokens well" can be very different claims.&lt;/p&gt;

&lt;h3&gt;
  
  
  Memory: the KV cache doesn't scale the way people expect
&lt;/h3&gt;

&lt;p&gt;For every token a model reads, it stores a key and a value vector so it doesn't have to reprocess the input on each new token. That cache grows in direct proportion to context length: &lt;a href="https://www.digitalocean.com/community/tutorials/long-context-inference-production-cost" rel="noopener noreferrer"&gt;the math&lt;/a&gt; works out to roughly 43GB for a single 128K-token request on a 70-billion-parameter model in BF16—close to the model's own memory footprint. Push to a million tokens, and the cache alone exceeds what a single high-end GPU holds, before the model's own weights are even loaded.&lt;/p&gt;

&lt;h3&gt;
  
  
  Latency: why time-to-first-token is the number that breaks
&lt;/h3&gt;

&lt;p&gt;Attention compares every token against every other token, so compute grows with the square of input length: double the context, quadruple the work. That happens entirely during prefill, before a user sees a single word, which is why time-to-first-token ranges from milliseconds with short context to multiple seconds with long context. It also means one long request can hold a GPU for seconds, quietly degrading p95 and p99 latency for every short, unrelated request queued behind it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Throughput: the bandwidth ceiling no amount of compute fixes
&lt;/h3&gt;

&lt;p&gt;Generating each output token requires reading the entire KV cache from GPU memory, and the read speed is limited by hardware bandwidth. Double the context, double the cache, and tokens-per-second roughly halves, with a limit that has nothing to do with how much compute is sitting idle. A cluster can appear underutilized on a FLOPS dashboard and still serve long-context requests slowly because the bottleneck has shifted to the memory bus.&lt;/p&gt;

&lt;h3&gt;
  
  
  Accuracy: why a bigger window doesn't guarantee a better answer
&lt;/h3&gt;

&lt;p&gt;Longer context doesn't reliably mean a better answer. A 2026 measurement study found that accuracy at long context lengths doesn't track model size — a smaller model sometimes outperformed a larger sibling — and that a wrong answer just becomes a retry, which turns an accuracy problem into a latency problem measured in total time-to-correct-answer. Production systems that route by expected accuracy at a given context length, not just by cost, cut that wasted retry time substantially.&lt;/p&gt;

&lt;h2&gt;
  
  
  How production teams are actually solving the long-context problem today
&lt;/h2&gt;

&lt;p&gt;Successful teams aren't fighting the KV cache, they're making it reusable. &lt;a href="https://www.digitalocean.com/resources/articles/what-is-sglang" rel="noopener noreferrer"&gt;SGLang&lt;/a&gt;'s RadixAttention implements prefix caching alongside continuous batching, so a repeated prompt prefix (i.e. a system prompt, a shared reference document, a stable set of few-shot examples) gets computed once and reused across requests instead of recomputed on every call. That keeps throughput comparatively stable even as context length grows into the millions of tokens, which is exactly the workload where naive serving falls apart first.&lt;/p&gt;

&lt;p&gt;You can run this pattern yourself on &lt;a href="https://www.digitalocean.com/products/gpu-droplets" rel="noopener noreferrer"&gt;DigitalOcean GPU Droplets&lt;/a&gt;, or skip the setup work with the &lt;a href="https://www.digitalocean.com/resources/articles/what-is-sglang" rel="noopener noreferrer"&gt;SGLang 1-Click Marketplace app&lt;/a&gt;, which handles the underlying infrastructure for you.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F20hh5y3klu0mii00c2pp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F20hh5y3klu0mii00c2pp.png" alt="SGLang on DigitalOcean" width="800" height="335"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;DigitalOcean's Inference Router adds cache-aware routing on top of that. It keeps a session pinned to the same model, so a warm KV cache doesn't get discarded mid-task by a switch to a different model chosen for cost reasons.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;If you're self-hosting long-context serving on GPU Droplets rather than going through a managed router, three additional levers matter:&amp;nbsp;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Chunked prefill, which breaks a large prefill pass into pieces so it doesn't stall the rest of the batch.&amp;nbsp;
&lt;/li&gt;
&lt;li&gt;Tuning max batch size and max batched-token limits for your actual mix of context lengths.
&lt;/li&gt;
&lt;li&gt;Keeping long-context traffic in a separate pool from interactive traffic so one doesn't degrade the other.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When time-to-first-token degrades as context grows, &lt;a href="https://www.digitalocean.com/community/tutorials/debugging-p99-ttft-llm-inference" rel="noopener noreferrer"&gt;DigitalOcean's inference-debugging guidance&lt;/a&gt; points to KV-cache pressure—not the scheduler—as the usual culprit. This is why watching KV-cache occupancy, eviction, and preemption counts diagnoses the problem faster than staring at a scheduler queue.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do you even need long context? Choosing between caching, retrieval, or using both
&lt;/h2&gt;

&lt;p&gt;If a model accepts a million tokens, it's fair to ask why you'd also use a &lt;a href="https://www.digitalocean.com/community/conceptual-articles/a-dive-into-vector-databases" rel="noopener noreferrer"&gt;vector database&lt;/a&gt;, a chunking pipeline, and a retrieval step. The answer is that the price of skipping retrieval includes the quadratic prefill cost, the multi-second time-to-first-token, and the tiered per-token pricing. They’re all paid on every request—even when the answer only needed to use three paragraphs of the input.&lt;/p&gt;

&lt;p&gt;As a practical rule, long context plus caching wins when your working set is stable and reused. For example, many requests against the same document set, or a day-long agent session where the context is the state. RAG wins when your corpus is larger than any context window, changes frequently, or is mostly irrelevant to any single query. Precision lookups favor RAG even when the full corpus would technically fit, since retrieval keeps the model working at the shorter lengths where it's most reliable. Most production systems end up using both: retrieval to decide what enters the context, a long window to hold a generous amount of it, and caching wherever it repeats.&lt;/p&gt;

&lt;h2&gt;
  
  
  Long-context LLM serving FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;How do you serve long-context (1M token) models in production?&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Serving a 1M-token model in production means treating context length as a cost and latency variable you manage on purpose, not a spec you flip on, since supporting long context and serving it reliably are not the same claim. It requires managing KV cache memory, the quadratic prefill cost, and the resulting time-to-first-token, then choosing the right mix of caching, prefix reuse, and retrieval for your workload. The DigitalOcean Inference Router applies cache-aware routing to this problem by pinning a session to the same model so a warm KV cache isn't discarded mid-task.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is disaggregated prefill and decode in LLM inference?&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Prefill is the compute-bound pass where the model reads your entire input before writing anything, while decode is the token-by-token generation that follows. Attention compares every token against every other token during prefill, so compute grows with the square of input length, meaning one long request can hold a GPU for seconds and degrade latency for every short request queued behind it. Chunked prefill breaks a large prefill pass into pieces so it doesn't stall the rest of the batch.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What metrics matter for LLM inference observability (TTFT, TPOT, ITL)?&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Time-to-first-token is the number that breaks under long context, ranging from milliseconds with short context to multiple seconds with long context, because it's entirely determined by the prefill pass. Beyond latency averages, observability into KV-cache occupancy, eviction, and preemption counts is what actually explains a p99 problem caused by long-context traffic, not request counts alone. KV-cache pressure, not the scheduler, is the usual culprit when time-to-first-token degrades as context grows.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Which inference provider has the best caching to reduce token costs for long autonomous coding sessions?&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Caching the context and reusing it lets a coding agent hold state across dozens of turns without resending the same 100K-token context every message. SGLang's RadixAttention implements this as prefix caching alongside continuous batching, computing a repeated prompt prefix once and reusing it across requests. DigitalOcean supports this pattern on GPU Droplets or through the SGLang 1-Click Marketplace app, and the Inference Router adds cache-aware routing so a warm cache isn't discarded by a mid-task model switch.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do you model cost-per-token for LLM inference?&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;The cleanest way to model cost is pricing a full session rather than a single token: resending the full context every turn costs $3.93 for a 10-turn, 128K-context session, caching and reusing that context brings it to $0.95, and retrieving only the relevant slice (RAG) brings it to $0.33. Caching cuts the bill roughly 4x against resending, while retrieval cuts it roughly 12x, a difference that matters more at scale than any provider's per-token rate. DigitalOcean prices around this same curve, with tiered per-token rates that account for long-context requests costing more than proportionally, plus a prompt-caching rate meaningfully cheaper than a full rewrite.&lt;/p&gt;

&lt;h2&gt;
  
  
  Serve long-context models without managing the cache yourself
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://www.digitalocean.com/products/inference-engine" rel="noopener noreferrer"&gt;DigitalOcean Inference Engine&lt;/a&gt; prices per token by model, with prompt-caching rates listed right next to the standard rate. That means you can work out what a long-context session costs before you run it, not after the invoice shows up. The Inference Router automatically applies cache-aware routing, pinning a session to the model whose KV cache is already warm rather than discarding it during a mid-task switch.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;That gets you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Automatic model-to-request matching, so cost- or latency-sensitive requests route to the right model without the need for writing the routing logic yourself.
&lt;/li&gt;
&lt;li&gt;Dedicated Inference to isolate long-context, latency-sensitive workloads from noisy-neighbor traffic.
&lt;/li&gt;
&lt;li&gt;Serverless-to-dedicated scaling with no migration step, so a workload that outgrows shared capacity doesn't require re-architecting.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://cloud.digitalocean.com/registrations/new" rel="noopener noreferrer"&gt;Get started with DigitalOcean's Inference Engine&lt;/a&gt; →&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/customers/hippocratic-ai" rel="noopener noreferrer"&gt;Hippocratic AI&lt;/a&gt; cut prefill latency 2x on long-context clinical sessions running production inference on DigitalOcean's cache-aware routing.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=WeAAISnnNVA" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=WeAAISnnNVA&lt;/a&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;These customer-reported results reflect Hippocratic AI’s methodology, workload, configuration, and measurement period and may not be representative of results in other environments. Results in customer environments may vary depending on configuration, implementation, and usage. Results and/or savings are not guaranteed.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Any references to third-party companies, trademarks, or logos in this document are for informational purposes only and do not imply any affiliation with, sponsorship by, or endorsement of those third parties.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>infrastructure</category>
      <category>llm</category>
      <category>developers</category>
    </item>
    <item>
      <title>AI token billing continues to cause sticker shock</title>
      <dc:creator>DigitalOcean</dc:creator>
      <pubDate>Fri, 18 Sep 2026 16:25:40 +0000</pubDate>
      <link>https://dev.to/digitalocean/ai-token-billing-continues-to-cause-sticker-shock-4a21</link>
      <guid>https://dev.to/digitalocean/ai-token-billing-continues-to-cause-sticker-shock-4a21</guid>
      <description>&lt;h3&gt;
  
  
  Tech talk: are there inference providers that are transparent about token usage?&amp;nbsp;
&lt;/h3&gt;

&lt;p&gt;A top pain point for companies using AI is the discrepancy between expected and actual invoice rates. Particularly when it comes to tokens. The increase in AI usage and tokenmaxxing has created a paradox where a provider knows exactly how many tokens it generated on your behalf, yet you find out only after the fact. It's become a real cost problem when using reasoning models. Internal step-by-step reasoning counts as billed output, but it's invisible by design. The providers willing to open up their token accounting now are betting that transparency will become table stakes before their competitors catch up.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;The 2025 study, “&lt;a href="https://arxiv.org/html/2508.00912v1" rel="noopener noreferrer"&gt;Predictive Auditing of Hidden Tokens in LLM APIs via Reasoning Length Estimation&lt;/a&gt;,” estimated that hidden reasoning tokens can account for over 90% of a model's total token spend on complex tasks. A short, simple-looking answer can hide 10,000+ reasoning tokens, but the only confirmation of their use is the bill.&lt;/p&gt;

&lt;p&gt;This trend in billing surprises has rightfully drawn industry attention. Especially with token usage projected to grow 24x to 120 quadrillion tokens per month by 2030, according to &lt;a href="https://www.goldmansachs.com/insights/articles/ai-agents-forecast-to-boost-tech-cash-flow-as-usage-soars" rel="noopener noreferrer"&gt;research from Goldman Sachs&lt;/a&gt;. Developers have started noticing the gap between what usage dashboards imply and what invoices actually charge, and the industry's response is arriving on two tracks.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;First, standards bodies are getting involved. The Linux Foundation's proposed &lt;a href="https://www.digitalocean.com/blog/inference-router-architecture" rel="noopener noreferrer"&gt;Tokenomics Foundation&lt;/a&gt; wants open, vendor-neutral measurement standards so token accounting isn't just whatever a provider's internal dashboard says it is.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Second, providers like Groq and Cerebras are sharing flat per-token pricing. And the newly launched DigitalOcean &lt;a href="https://www.digitalocean.com/blog/inference-router-architecture" rel="noopener noreferrer"&gt;Inference Router&lt;/a&gt; helps your team route tasks to the most cost-effective or optimal model, providing budget control based on your priorities for specific AI tasks.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Thanks to rapidly scaling AI adoption, developers know these costs aren’t a simple line item to ignore. When evaluating inference options, knowing exactly how your tokens are used and what that can mean for overall billing is essential.&amp;nbsp;&lt;/p&gt;




&lt;h3&gt;
  
  
  Event calendar&amp;nbsp;
&lt;/h3&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/open-intelligence-summit" rel="noopener noreferrer"&gt;&lt;strong&gt;Open Intelligence Summit by DigitalOcean&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The argument is no longer “Is open source AI cheaper?” It’s now “Who owns intelligence?” A movement is forming around open intelligence and generating the belief that the intelligence powering our AI products and companies should be more open, portable, and controllable.&lt;/p&gt;

&lt;p&gt;Join DigitalOcean, RadixArk, Inferact, and more for deep dives, demos, and discussions about the technologies that keep intelligence portable, interoperable, and in the hands of builders. The two-day event runs at The Midway in San Francisco from October 12-13th.&amp;nbsp;&lt;/p&gt;




&lt;h3&gt;
  
  
  Industry news&amp;nbsp;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Coding agents are earning real trust in production codebases&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
A &lt;a href="https://arxiv.org/abs/2607.21832" rel="noopener noreferrer"&gt;study&lt;/a&gt; by researchers at Polytechnique Montréal, led by Canada Research Chair Foutse Khomh, analyzed 220,612 PRs across 539 Python repos and found Claude Code's PRs merge 84.3% of the time—well ahead of Codex (73.5%), Cursor (63.9%), Copilot (59.6%), and Devin (43.0%)—with bug rates comparable to or lower than human-written code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;OpenAI launches GPT-6 Astra&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
OpenAI introduced &lt;a href="https://openai.com/index/gpt-6-astra/" rel="noopener noreferrer"&gt;GPT-6 Astra&lt;/a&gt;, a new frontier model focused on advanced reasoning, computer use, coding, scientific research, and professional workflows. The model achieves major gains across benchmarks, including 99.9% on ARC-AGI-3 and 100% on ExploitBench, while also improving task efficiency and alignment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Anthropic introduces Claude Fable 5.1 and Mythos 5.1&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The &lt;a href="https://www.anthropic.com/claude-fable-and-mythos-5-1" rel="noopener noreferrer"&gt;new models&lt;/a&gt; target advanced coding, knowledge work, and scientific research, with Fable 5.1 offering stronger performance at lower cost and Mythos 5.1 providing more permissive safeguards for vetted cybersecurity and life-science users.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Grok Bot comes to Android&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Cursor has launched the &lt;a href="https://forum.cursor.com/t/grok-bot-is-now-live-on-android/170384" rel="noopener noreferrer"&gt;Grok Bot Android app&lt;/a&gt;, letting users assign tasks to AI Bots from their phones, continue conversations across devices, and monitor multiple Bots running in parallel on cloud computers. The app is currently in beta for eligible Cursor and SuperGrok plans.&amp;nbsp;&lt;/p&gt;




&lt;h3&gt;
  
  
  Community tutorials&amp;nbsp;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/community/tutorials/why-your-best-model-is-two-models" rel="noopener noreferrer"&gt;&lt;strong&gt;Why Your Best Model Is Two Models: Routing Between Kimi K3 and Claude&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Hardcoded routing logic gets messy fast and using a small model like Haiku to classify requests means paying for two calls on every one. DigitalOcean built Plano-Orchestrator, a routing model that scored 87.84% accuracy against GPT-5.1's 86.93% and Claude Sonnet 4.5's 86.11%, deciding where a request goes in about 200 milliseconds. Walk through building a router that pools Kimi K3 and Claude, and see how to check with live traffic data whether it's actually working.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/community/tutorials/spot-gpu-droplets-doks" rel="noopener noreferrer"&gt;&lt;strong&gt;Resilient GPU Compute on DigitalOcean Kubernetes: Surviving Spot Interruptions&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
When DOKS reclaims Spot GPU capacity, it deletes the entire node pool at once, not one node at a time so the usual "autoscaler quietly relaunches it" assumption breaks completely, and nothing automatically brings a reclaimed pool back. Walk through building a pre-provisioned On-Demand fallback pool that costs nothing until a reclaim happens, and run the companion repo's automated interruption simulation to see the failover in action.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/community/conceptual-articles/glm-5-3-flash-cost-per-token" rel="noopener noreferrer"&gt;&lt;strong&gt;GLM-5.3-Flash is the cheapest model on DigitalOcean. It's also the most verbose.&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
GLM-5.3-Flash lists at one twelfth of Qwen3.8-Max's output price, but on unconfigured defaults, it burned 625 output tokens answering what port SSH uses because it silently defaults to maximum reasoning effort, cutting its real-world price advantage down to just 2.3x. See the measured cost breakdown across 2,700 API calls, and get the one-line reasoning_effort fix that made Flash 6.3x cheaper on the same prompts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/community/tutorials/pgvector-at-scale-article" rel="noopener noreferrer"&gt;&lt;strong&gt;When pgvector Starts to Slow Down as Your Vector Table Grows&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
A pgvector's query latency doesn't creep up gradually as a table grows. It stays flat for a long time, then jumps hard the moment the HNSW graph outgrows available RAM and Postgres starts reading it from disk instead. Get the six-step method for finding your own breaking point, measuring recall, latency, and index build time at the table sizes you'll actually reach.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/community/tutorials/does-context-length-affect-inference-cost-linearly" rel="noopener noreferrer"&gt;&lt;strong&gt;Does Context Length Affect Inference Cost Linearly? We Measured Why It Doesn't&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Cost calculators price context length linearly, but measured throughput on a single H200 serving Ministral 3 14B fell from 19,089.8 tokens/sec at 2K context to 4,967.2 tokens/sec at 256K: a 3.84x collapse driven by concurrent request capacity dropping from 311 to just 2 as the fixed KV cache pool fills up. See the full cost curve and break-even utilization math showing exactly where a dedicated GPU stops being cheaper than a flat per-token serverless rate.&amp;nbsp;&lt;/p&gt;




&lt;h3&gt;
  
  
  Product updates
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.digitalocean.com/community/tutorials/spot-gpu-droplets-doks" rel="noopener noreferrer"&gt;&lt;strong&gt;DigitalOcean Kubernetes (DOKS) now supports Spot GPU Droplets&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Running Spot GPUs on DOKS automates interruption handling with automatic cordoning, draining, and PodDisruptionBudget enforcement. Cluster autoscaling dynamically scales your GPU capacity based on workload demand. Kubernetes capabilities such as labels, taints, and node affinity allow you to configure on-demand node pools as a fallback when Spot capacity is reclaimed. Plus, reclaim events surface as native Kubernetes events. &lt;a href="https://cloud.digitalocean.com/gpus/new?i=403c6d&amp;amp;region=mem1&amp;amp;size=gpu-mi355x8-2304gb-spot&amp;amp;fleetUuid=94ff983a-9cbc-4198-a245-118a1e5e476b" rel="noopener noreferrer"&gt;Try it today&lt;/a&gt;&amp;nbsp;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>startup</category>
    </item>
  </channel>
</rss>
