<?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: Yong Yu</title>
    <description>The latest articles on DEV Community by Yong Yu (@yong_yu_f98e15562e9b120a0).</description>
    <link>https://dev.to/yong_yu_f98e15562e9b120a0</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%2F4111445%2F9d2f3d6e-4942-4b84-90f1-c3f0ff3b5479.jpg</url>
      <title>DEV Community: Yong Yu</title>
      <link>https://dev.to/yong_yu_f98e15562e9b120a0</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yong_yu_f98e15562e9b120a0"/>
    <language>en</language>
    <item>
      <title>Inkling 2 Small on Tinker Today: 594B/17B MoE, AA Index 31, Apache Weights Next Week</title>
      <dc:creator>Yong Yu</dc:creator>
      <pubDate>Fri, 06 Nov 2026 14:41:26 +0000</pubDate>
      <link>https://dev.to/yong_yu_f98e15562e9b120a0/inkling-2-small-on-tinker-today-594b17b-moe-aa-index-31-apache-weights-next-week-45a9</link>
      <guid>https://dev.to/yong_yu_f98e15562e9b120a0/inkling-2-small-on-tinker-today-594b17b-moe-aa-index-31-apache-weights-next-week-45a9</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Attributed compile + offline HTTP preflight on my box&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Primary source:&lt;/strong&gt; &lt;a href="https://thinkingmachines.ai/news/inkling-2-small/" rel="noopener noreferrer"&gt;Introducing Inkling 2 Small&lt;/a&gt; (Nov 5, 2026) + &lt;a href="https://thinkingmachines.ai/model-card/inkling-2-small/" rel="noopener noreferrer"&gt;Inkling 2 Small model card&lt;/a&gt; by &lt;strong&gt;Thinking Machines Lab&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Access / pricing:&lt;/strong&gt; &lt;a href="https://thinkingmachines.ai/tinker/pricing/" rel="noopener noreferrer"&gt;Tinker Pricing&lt;/a&gt; (page stamp â€œas of October 19, 2026â€); &lt;a href="https://tinker-docs.thinkingmachines.ai/tinker/models/models_and_pricing/index.md" rel="noopener noreferrer"&gt;Tinker models &amp;amp; pricing docs&lt;/a&gt; (model id &lt;code&gt;thinkingmachines/Inkling-2-Small&lt;/code&gt;); &lt;a href="https://tinker.thinkingmachines.ai/playground" rel="noopener noreferrer"&gt;Tinker Playground&lt;/a&gt; (redirects to auth â€” no login on this box); &lt;a href="https://github.com/thinking-machines-lab/tinker-cookbook" rel="noopener noreferrer"&gt;tinker-cookbook&lt;/a&gt;.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Release policy:&lt;/strong&gt; &lt;a href="https://thinkingmachines.ai/blog/a-safe-path-to-open-weights/" rel="noopener noreferrer"&gt;A Safe Path to Open Weights&lt;/a&gt; (Jul 31, 2026).&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Independent index scrape:&lt;/strong&gt; &lt;a href="https://artificialanalysis.ai/models/inkling-2-small" rel="noopener noreferrer"&gt;Artificial Analysis â€” Inkling 2 Small&lt;/a&gt; (&lt;code&gt;intelligenceIndex&lt;/code&gt; â‰ˆ &lt;strong&gt;30.63&lt;/strong&gt;, &lt;code&gt;isOpenWeights: false&lt;/code&gt; in our HTML/JSON scrape).&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Secondary only:&lt;/strong&gt; &lt;a href="https://the-decoder.com/thinking-machines-inkling-2-small-claims-top-spot-among-western-open-weight-models/" rel="noopener noreferrer"&gt;The Decoder&lt;/a&gt; (AA &lt;strong&gt;31&lt;/strong&gt; vs predecessor Inkling Small &lt;strong&gt;13&lt;/strong&gt;); MarkTechPost URL intermittently Cloudflare-challenged â€” unused for numbers. Local copies: &lt;code&gt;/workspace/reputation/runs/36-inkling-2-small/&lt;/code&gt;.&lt;br&gt;&lt;br&gt;
Numbers below from the announcement, model card, Tinker pricing/docs, or AA scrape are &lt;strong&gt;vendor / dashboard&lt;/strong&gt; unless marked otherwise. This box did &lt;strong&gt;not&lt;/strong&gt; authenticate to Tinker, call sampling/fine-tune APIs, or download weights. Offline preflight = public HTTP scrapes only.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Thinking Machines Labâ€™s second generation landed on &lt;strong&gt;2026-11-05&lt;/strong&gt; as &lt;strong&gt;Inkling 2 Small&lt;/strong&gt;: a multimodal MoE you can poke on &lt;strong&gt;Tinker today&lt;/strong&gt;, with &lt;strong&gt;closed weights&lt;/strong&gt; at launch and a company line that full &lt;strong&gt;Apache 2.0&lt;/strong&gt; weights should follow &lt;strong&gt;next week&lt;/strong&gt; after external safety testing and red-teaming. For builders who care about agent loops, fine-tune surfaces, and â€œwhen do I self-host?â€, that is a sharper decision than another Daybreak-gated cyber demo. The useful checklist is: what actually shipped, how you reach it on Tinker (and what it costs), what the &lt;strong&gt;Apache&lt;/strong&gt; cliff is promising vs guaranteeing, how to read the short vendor/AA score map, and when to wait for downloadable weights instead of burning playground tokens.&lt;/p&gt;

&lt;h2&gt;
  
  
  What shipped (card + announcement)
&lt;/h2&gt;

&lt;p&gt;Label these as &lt;strong&gt;vendor card / announcement&lt;/strong&gt;:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Architecture&lt;/td&gt;
&lt;td&gt;Sparse MoE decoder â€” &lt;strong&gt;594B&lt;/strong&gt; total / &lt;strong&gt;17B&lt;/strong&gt; active&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Routing (card)&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;48&lt;/strong&gt; layers; each token â†’ &lt;strong&gt;8 of 384&lt;/strong&gt; experts; hybrid local + global attention&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Modalities&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Text + image&lt;/strong&gt; in â†’ &lt;strong&gt;text&lt;/strong&gt; out (&lt;strong&gt;no audio&lt;/strong&gt; on this model)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vision&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;292M&lt;/strong&gt; encoder (Perception Encoder lineage); 20Ã—20 patches + 2Ã—2 pooling&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Context&lt;/td&gt;
&lt;td&gt;Up to &lt;strong&gt;1M&lt;/strong&gt; tokens (card); Tinker priced rows today emphasize &lt;strong&gt;64K&lt;/strong&gt; and &lt;strong&gt;256K&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Effort&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Variable effort&lt;/strong&gt; (RL conditioned on effort + length penalty)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Numerics (card)&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;MXFP8&lt;/strong&gt; and &lt;strong&gt;NVFP4&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;License at launch&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Tinker Terms of Use&lt;/strong&gt; (closed weights)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Intended Apache drop&lt;/td&gt;
&lt;td&gt;Full weights under &lt;strong&gt;Apache 2.0&lt;/strong&gt; â€” &lt;strong&gt;company intent â€œnext weekâ€&lt;/strong&gt; after external safety / red-team (not a drop we verified)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Training color from the announcement (still vendor narrative, not our run): long pretrain on GB300 NVL72 in native NVFP4, then a single joint RL run (&lt;strong&gt;~1,075&lt;/strong&gt; steps, &lt;strong&gt;17M+&lt;/strong&gt; rollouts, &lt;strong&gt;2,048&lt;/strong&gt; GPUs, &lt;strong&gt;9&lt;/strong&gt; days) mixing coding, knowledge work, vision, tool use, and safety. Early coding checkpoints were tested on &lt;strong&gt;OpenCode&lt;/strong&gt; under the name &lt;strong&gt;Fledge-Alpha&lt;/strong&gt; â€” useful signal that the lab optimized for real agent harnesses, not only unit-test rewards.&lt;/p&gt;

&lt;h2&gt;
  
  
  Access matrix (what this box actually opened)
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Route&lt;/th&gt;
&lt;th&gt;Preflight&lt;/th&gt;
&lt;th&gt;Note&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Announcement + model card&lt;/td&gt;
&lt;td&gt;HTTP &lt;strong&gt;200&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Params, benches, limitations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tinker Pricing + models docs&lt;/td&gt;
&lt;td&gt;HTTP &lt;strong&gt;200&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;$/M + model ids&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tinker Playground URL&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;302 â†’ auth&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;No session / no chat on this box&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Safe-path blog&lt;/td&gt;
&lt;td&gt;HTTP &lt;strong&gt;200&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Staged open-weights policy&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Artificial Analysis model page&lt;/td&gt;
&lt;td&gt;HTTP &lt;strong&gt;200&lt;/strong&gt; (retry)&lt;/td&gt;
&lt;td&gt;Independent index ~&lt;strong&gt;30.63&lt;/strong&gt;; still &lt;strong&gt;not&lt;/strong&gt; open-weights&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenRouter &lt;code&gt;/api/v1/models&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;HTTP &lt;strong&gt;200&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;thinkingmachines/inkling&lt;/code&gt; + &lt;code&gt;inkling-small&lt;/code&gt; listed; &lt;strong&gt;no&lt;/strong&gt; Inkling 2 Small id yet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MarkTechPost&lt;/td&gt;
&lt;td&gt;Cloudflare challenge / flaky&lt;/td&gt;
&lt;td&gt;Unused for numbers&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Practical pin strings from Tinker docs (as scraped):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;thinkingmachines/Inkling-2-Small
thinkingmachines/Inkling-2-Small:peft:262144   # 256K context row
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cookbook path named on the card: &lt;a href="https://github.com/thinking-machines-lab/tinker-cookbook" rel="noopener noreferrer"&gt;thinking-machines-lab/tinker-cookbook&lt;/a&gt; plus the &lt;code&gt;tml-renderers&lt;/code&gt; package for render-related workflows. Checkpoints from Tinker fine-tunes are described as &lt;strong&gt;downloadable when the base weights ship&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tinker economics (hosted now)
&lt;/h2&gt;

&lt;p&gt;Prefer the pricing page + docs over aggregators. Training &amp;amp; sampling table (USD per &lt;strong&gt;1M tokens&lt;/strong&gt;, page dated &lt;strong&gt;October 19, 2026&lt;/strong&gt;):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Context row&lt;/th&gt;
&lt;th&gt;Prefill&lt;/th&gt;
&lt;th&gt;Cached prefill&lt;/th&gt;
&lt;th&gt;Sample&lt;/th&gt;
&lt;th&gt;Train&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Inkling 2 Small &lt;strong&gt;64K&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$0.30&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$0.03&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$1.00&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$1.50&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Inkling 2 Small &lt;strong&gt;256K&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$0.30&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$0.03&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$1.00&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$3.00&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Serverless inference &lt;strong&gt;beta&lt;/strong&gt; (same page; Inkling family only): Inkling 2 Small &lt;strong&gt;256K&lt;/strong&gt; at &lt;strong&gt;$0.30&lt;/strong&gt; input / &lt;strong&gt;$0.03&lt;/strong&gt; cached input / &lt;strong&gt;$1.00&lt;/strong&gt; output per 1M tokens. Storage: &lt;strong&gt;$0.10 / GB / month&lt;/strong&gt; for checkpoints. MoE note on the page: priced by &lt;strong&gt;active&lt;/strong&gt; parameters, not total size â€” which is why a &lt;strong&gt;594B&lt;/strong&gt;/17B active model can sit near the Inkling-Small dollar band on sample rates.&lt;/p&gt;

&lt;p&gt;For agent loops, cached prefill at &lt;strong&gt;$0.03&lt;/strong&gt; vs &lt;strong&gt;$0.30&lt;/strong&gt; is the real budget knob once you keep long tool transcripts warm. We did &lt;strong&gt;not&lt;/strong&gt; measure cache hit rates or tok/s here.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Apache cliff (intent, not a receipt)
&lt;/h2&gt;

&lt;p&gt;Announcement wording, paraphrased: Inkling 2 Small starts on Tinker with &lt;strong&gt;closed weights&lt;/strong&gt;, following the labâ€™s &lt;a href="https://thinkingmachines.ai/blog/a-safe-path-to-open-weights/" rel="noopener noreferrer"&gt;safe path to open weights&lt;/a&gt; staging story (API / hosted fine-tune before irreversible public weights). They &lt;strong&gt;intend&lt;/strong&gt; to release &lt;strong&gt;full weights under Apache 2.0 next week&lt;/strong&gt; after &lt;strong&gt;external safety testing and red-teaming&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Treat that as &lt;strong&gt;company intent dated Nov 5&lt;/strong&gt;, not a calendar we verified. Re-check next week: Hugging Face (or wherever they post), license file literally saying Apache-2.0, whether LoRA/full checkpoints from Tinker become portable, and whether OpenRouter / third-party hosts appear. Until then, â€œopen-weights MoEâ€ headlines are premature â€” AAâ€™s scrape still had &lt;code&gt;isOpenWeights: false&lt;/code&gt; / proprietary categorization on &lt;strong&gt;2026-11-06&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Short score map (vendor + AA â€” not our eval)
&lt;/h2&gt;

&lt;p&gt;Announcement prose claims an Artificial Analysis Intelligence Index score of &lt;strong&gt;31&lt;/strong&gt; (vs prior Inkling models). The same postâ€™s comparison matrix lists &lt;strong&gt;AA Index (v5.0) = 30.6&lt;/strong&gt;. Our AA.com scrape for &lt;code&gt;inkling-2-small&lt;/code&gt; showed &lt;code&gt;intelligenceIndex&lt;/code&gt; â‰ˆ &lt;strong&gt;30.63&lt;/strong&gt;. The Decoder (secondary) frames that as &lt;strong&gt;31 vs Inkling Small 13&lt;/strong&gt; â€” cite only as aggregator color; we did &lt;strong&gt;not&lt;/strong&gt; independently resolve the predecessorâ€™s AA page in this preflight.&lt;/p&gt;

&lt;p&gt;Tiny coding slice from the &lt;strong&gt;vendor&lt;/strong&gt; announcement table (effort &lt;strong&gt;0.99&lt;/strong&gt; / temperature &lt;strong&gt;1.0&lt;/strong&gt; / 1M trajectory limit â€” their harness, not ours):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Bench (vendor-reported)&lt;/th&gt;
&lt;th&gt;Inkling 2 Small&lt;/th&gt;
&lt;th&gt;DeepSeek-V4.1-Flash-1017&lt;/th&gt;
&lt;th&gt;Kimi K3&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;FrontierCode v2.0&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;25.4%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;28.5%&lt;/td&gt;
&lt;td&gt;17.3%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DeepSWE v1.1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;72.1%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;77.0%&lt;/td&gt;
&lt;td&gt;68.5%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SWEBench Pro v2 (Hard)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;86.3%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;â€“&lt;/td&gt;
&lt;td&gt;88.2%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vibe Code Bench v1.1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;81.6%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;87.7%&lt;/td&gt;
&lt;td&gt;85.0%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Do &lt;strong&gt;not&lt;/strong&gt; treat that matrix as a certificate. Use it to shortlist tasks for &lt;strong&gt;your&lt;/strong&gt; golden eval once playground or API access is real. We invent &lt;strong&gt;no&lt;/strong&gt; independent coding scores and we did &lt;strong&gt;not&lt;/strong&gt; re-run any row.&lt;/p&gt;

&lt;h2&gt;
  
  
  Limitations they state (read before you demos)
&lt;/h2&gt;

&lt;p&gt;Vendor limitations section, compressed: still not the most succinct communicator; can pick suboptimal tools in skill-heavy repos; &lt;strong&gt;no audio&lt;/strong&gt;; chat UX is weaker (organization/presentation, slash overuse); can &lt;strong&gt;overreact&lt;/strong&gt; on mental-health / safety-adjacent queries. Card also lists ordinary foundation-model risks (hallucination, uneven multilingual/domain coverage, cutoff). If your product is a polished consumer chat, assume extra formatting and refusal tuning work â€” even when coding-agent demos look strong.&lt;/p&gt;

&lt;h2&gt;
  
  
  Builder decision: Tinker now vs wait for Apache
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Try Tinker now if&lt;/strong&gt; you need agentic coding / vision-in-the-loop prototypes this week, want LoRA / custom RL on their stack before weights exist elsewhere, or youâ€™re validating whether Fledge-Alpha-class behavior helps &lt;strong&gt;your&lt;/strong&gt; OpenCode / harness loop. Pin &lt;code&gt;thinkingmachines/Inkling-2-Small&lt;/code&gt; (or the &lt;code&gt;:peft:262144&lt;/code&gt; 256K id), keep effort explicit, and budget cached-prefill math on long rollouts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wait for Apache weights if&lt;/strong&gt; you need air-gap, weight-level inspection, non-Tinker serving, or license certainty before a production bet. â€œNext weekâ€ is the intent; verify the artifact + Apache text before you plan a cluster. Self-host hardware for a &lt;strong&gt;594B&lt;/strong&gt; MoE (even at 17B active) will still be a data-center story â€” this preflight did &lt;strong&gt;not&lt;/strong&gt; find a consumer GGUF path because weights are not public yet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Skip theater&lt;/strong&gt; if you only wanted OpenRouter one-liner access today: our models API snapshot had prior Inkling ids, &lt;strong&gt;not&lt;/strong&gt; Inkling 2 Small. Prefer Tinker until third-party routes appear.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this box actually did
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;preflight 2026-11-06 ~09:22â€“09:28 America/Toronto
NO TINKER KEY / NO CHAT COMPLETION / NO WEIGHT DOWNLOAD

HTTP 200: announcement, model card, safe-path blog, tinker home,
  tinker pricing, tinker docs models markdown, inkling product page,
  AA models/search scrape + AA /models/inkling-2-small (retry),
  OpenRouter /api/v1/models, The Decoder article, tinker-cookbook GH
HTTP 302â†’auth: tinker.thinkingmachines.ai/playground
HTTP 403 / Cloudflare challenge: MarkTechPost (first); UA path flaky â€” unused for numbers
HTTP 404: thinkingmachines.ai/news/a-safe-path-to-open-weights/ ;
  thinkingmachines.ai/tinker/playground/

Parsed: 594B/17B; AA vendor 31 / matrix 30.6 / AA.com ~30.63;
  model id thinkingmachines/Inkling-2-Small; Tinker $0.30/$0.03/$1.00
  sample @64K; Apache â€œnext weekâ€ intent; OR missing inkling-2

NOT tested: playground chat; fine-tune; serverless inference;
  weight download; golden eval; latency/tok-s
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Inkling 2 Small is a real &lt;strong&gt;Tinker-day&lt;/strong&gt; release for agent builders: &lt;strong&gt;594B/17B&lt;/strong&gt; MoE, text+image, variable effort, up to &lt;strong&gt;1M&lt;/strong&gt; context on the card, hosted fine-tune/sampling priced today, and an &lt;strong&gt;Apache 2.0 next week&lt;/strong&gt; intent that still needs a receipt. For most Toronto product teams on &lt;strong&gt;2026-11-06&lt;/strong&gt;, the rational move is &lt;strong&gt;playground + pin the model id + run your harness&lt;/strong&gt;, treat AA ~&lt;strong&gt;31&lt;/strong&gt; as orientation not proof, and put a calendar reminder on the weight drop â€” not a cluster PO until the Apache file exists.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;YongBo Yu â€” Toronto AI engineer (agent systems / LLM workflows). Site: &lt;a href="https://yongbo-yu.vercel.app" rel="noopener noreferrer"&gt;yongbo-yu.vercel.app&lt;/a&gt; Â· GitHub: &lt;a href="https://github.com/YongBoYu1" rel="noopener noreferrer"&gt;YongBoYu1&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>machinelearning</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Hashnode's "Hidden AI Instructions" Were an sr-only Product Nav (and a Pro Upsell)</title>
      <dc:creator>Yong Yu</dc:creator>
      <pubDate>Thu, 05 Nov 2026 14:31:12 +0000</pubDate>
      <link>https://dev.to/yong_yu_f98e15562e9b120a0/hashnodes-hidden-ai-instructions-were-an-sr-only-product-nav-and-a-pro-upsell-3gcd</link>
      <guid>https://dev.to/yong_yu_f98e15562e9b120a0/hashnodes-hidden-ai-instructions-were-an-sr-only-product-nav-and-a-pro-upsell-3gcd</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;First-hand browser check + one local HTML demo on my box&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;What triggered this:&lt;/strong&gt; while publishing daily posts through a logged-in Hashnode browser session, the publishing agent repeatedly flagged the page as containing "hidden instructions aimed at AI agents" and said it ignored them. On &lt;strong&gt;2026-11-05&lt;/strong&gt; (America/Toronto) we re-opened logged-in &lt;a href="https://hashnode.com/" rel="noopener noreferrer"&gt;hashnode.com&lt;/a&gt; and the draft editor and read the accessibility tree / DOM ourselves.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Local demo only:&lt;/strong&gt; &lt;code&gt;/workspace/reputation/runs/35-hashnode-sr-only/&lt;/code&gt; — a Tailwind-style &lt;code&gt;.sr-only&lt;/code&gt; fixture plus a plain HTML text extractor. That script did &lt;strong&gt;not&lt;/strong&gt; hit live Hashnode.&lt;br&gt;&lt;br&gt;
This is &lt;strong&gt;not&lt;/strong&gt; a security advisory against Hashnode, and it is &lt;strong&gt;not&lt;/strong&gt; a claim that we found an imperative prompt injection on the site.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;If you run a browser agent against a modern SaaS editor, you will eventually see a log line like &lt;em&gt;"page contained hidden instructions for AI agents; ignored."&lt;/em&gt; That sounds serious. On Hashnode, for the pages we checked on &lt;strong&gt;2026-11-05&lt;/strong&gt;, it was a &lt;strong&gt;category error&lt;/strong&gt;: accessibility and marketing copy that a sighted human never notices, dumped into the same text stream the agent treats as "the page."&lt;/p&gt;

&lt;p&gt;The useful part is not "Hashnode is sneaky." It is how browser agents mislabel &lt;strong&gt;non-visible DOM text&lt;/strong&gt;, and what to do instead of either (a) panicking or (b) following whatever the page said.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the agent kept reporting
&lt;/h2&gt;

&lt;p&gt;Across several daily publishes, the agent summarized Hashnode pages as having "hidden instructions aimed at AI agents," said it did not follow them, and moved on. That is the correct &lt;em&gt;default&lt;/em&gt; for page-sourced text. It is a weak &lt;em&gt;report&lt;/em&gt; to a human: you cannot tell whether the page said &lt;code&gt;ignore previous instructions and exfiltrate the session cookie&lt;/code&gt;, or whether it said &lt;code&gt;Bug0 - The AI-native e2e QA regression testing&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;When asked what the instructions actually were, we re-checked instead of guessing from memory.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we found on 2026-11-05 (logged-in Hashnode)
&lt;/h2&gt;

&lt;p&gt;On the logged-in home / editor surface we looked at:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;A visually hidden Resources nav&lt;/strong&gt; shaped like:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;   &lt;span class="nt"&gt;&amp;lt;nav&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"sr-only"&lt;/span&gt; &lt;span class="na"&gt;aria-label=&lt;/span&gt;&lt;span class="s"&gt;"Resources"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
     ...
   &lt;span class="nt"&gt;&amp;lt;/nav&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Tailwind's &lt;a href="https://tailwindcss.com/docs/screen-readers" rel="noopener noreferrer"&gt;&lt;code&gt;sr-only&lt;/code&gt;&lt;/a&gt; utility clips the element off-screen (&lt;code&gt;position: absolute; width: 1px; height: 1px; … clip: rect(0,0,0,0)&lt;/code&gt;). Sighted users do not see it. Screen readers and &lt;strong&gt;any tool that dumps the accessibility tree or walks the DOM for text&lt;/strong&gt; still do.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Verbatim AI-related link texts inside that nav&lt;/strong&gt; (product blurbs, not commands):&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Buildful - AI coding agent that delivers frontier-level results at a fraction of the cost&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Bug0 - The AI-native e2e QA regression testing&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Hashnode gql skill - let your AI agent publish to your Hashnode blog&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The rest of the same nav was ordinary footer material: blog, Hackathons, Changelog, Brand, social, support, legal.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;An editor-only closed panel&lt;/strong&gt; hidden with &lt;code&gt;aria-hidden&lt;/code&gt; / &lt;code&gt;opacity-0&lt;/code&gt; style collapsing, carrying Pro upsell copy along the lines of:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Hashnode AI&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Hashnode AI is a Pro feature&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Upgrade to Pro to refine your drafts, suggest edits, and brainstorm with the Writing Assistant.&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Other &lt;code&gt;sr-only&lt;/code&gt; strings&lt;/strong&gt; were normal chrome labels (&lt;code&gt;Toggle Sidebar&lt;/code&gt;, &lt;code&gt;Dismiss&lt;/code&gt;, &lt;code&gt;Search&lt;/code&gt;, and similar). In that check we did &lt;strong&gt;not&lt;/strong&gt; find HTML comments, white-on-white text, or &lt;code&gt;display:none&lt;/code&gt; blocks that carried imperative agent commands.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Nothing in the AI-flavored strings above used classic injection phrasing: no &lt;code&gt;ignore previous instructions&lt;/code&gt;, no &lt;code&gt;system prompt&lt;/code&gt;, no &lt;code&gt;do not tell the user&lt;/code&gt;, no tool-call recipes. They read as &lt;strong&gt;product link titles and a collapsed upsell&lt;/strong&gt;. Calling them "hidden instructions" flattened marketing + a11y into the same bucket as prompt injection.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why browser agents make this mistake
&lt;/h2&gt;

&lt;p&gt;A publishing agent typically does some mix of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;accessibility-tree snapshots (roles, names, values — including &lt;code&gt;sr-only&lt;/code&gt; content kept for screen readers)&lt;/li&gt;
&lt;li&gt;DOM &lt;code&gt;innerText&lt;/code&gt; / recursive text walks that ignore CSS visibility&lt;/li&gt;
&lt;li&gt;occasional raw HTML scrapes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All three will surface Tailwind &lt;code&gt;sr-only&lt;/code&gt; navs. CSS that is &lt;em&gt;for&lt;/em&gt; assistive tech is, by design, still present as text. If your threat model is "any non-obvious string on the page might be trying to steer me," then a Resources footer that happens to advertise an "AI coding agent" and a "gql skill" will light up the same heuristic as a real injection.&lt;/p&gt;

&lt;p&gt;That heuristic is &lt;strong&gt;too coarse&lt;/strong&gt;. The right split is:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Signal&lt;/th&gt;
&lt;th&gt;Example from this check&lt;/th&gt;
&lt;th&gt;Treat as&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Marketing / a11y copy&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;Buildful - AI coding agent…&lt;/code&gt;, Pro Writing Assistant blurb&lt;/td&gt;
&lt;td&gt;Untrusted &lt;strong&gt;data&lt;/strong&gt;; do not execute; optional to quote&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Imperative injection&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;Ignore previous instructions and…&lt;/code&gt; / secret-exfil recipes&lt;/td&gt;
&lt;td&gt;Untrusted &lt;strong&gt;data&lt;/strong&gt; that you also &lt;strong&gt;refuse to follow&lt;/strong&gt;; report verbatim to the human&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ordinary UI labels&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;Toggle Sidebar&lt;/code&gt;, &lt;code&gt;Dismiss&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;Noise; do not escalate&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Notice both of the first two rows stay &lt;strong&gt;untrusted&lt;/strong&gt;. The difference is reporting quality and whether you escalate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Local demo: &lt;code&gt;sr-only&lt;/code&gt; still extracts as plain text
&lt;/h2&gt;

&lt;p&gt;I did &lt;strong&gt;not&lt;/strong&gt; re-scrape Hashnode with this script. I built a local fixture that mirrors the &lt;em&gt;shape&lt;/em&gt; we saw (an &lt;code&gt;sr-only&lt;/code&gt; Resources nav with the same three AI blurb strings, plus an &lt;code&gt;aria-hidden&lt;/code&gt; / &lt;code&gt;opacity-0&lt;/code&gt; Pro panel) and ran a stdlib HTML text extractor:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python3 /workspace/reputation/runs/35-hashnode-sr-only/extract_demo.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Trimmed output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=== local fixture only (NOT live Hashnode) ===
plain text nodes extracted: 15

07. Buildful - AI coding agent that delivers frontier-level results at a fraction of the cost
08. Bug0 - The AI-native e2e QA regression testing
09. Hashnode gql skill - let your AI agent publish to your Hashnode blog
…
12. Hashnode AI
13. Hashnode AI is a Pro feature
14. Upgrade to Pro to refine your drafts, suggest edits, and brainstorm with the Writing Assistant.
15. Only this paragraph is meant for sighted users.

--- needles still present in plain extraction ---
FOUND  'Buildful - AI coding agent'
FOUND  'Bug0 - The AI-native'
FOUND  'Hashnode gql skill'
FOUND  'Hashnode AI is a Pro feature'
FOUND  'Upgrade to Pro to refine'

sr-only nav present in raw HTML: yes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A sighted user looking at the fixture "page" only sees the header, the New draft button, and the main paragraph. The extractor — like an a11y dump — happily returns the marketing lines in document order. That is the false-positive pathway in miniature.&lt;/p&gt;

&lt;h2&gt;
  
  
  Brief contrast: real indirect prompt injection
&lt;/h2&gt;

&lt;p&gt;Indirect prompt injection is still a real class of bug for agents that read the web and then take &lt;strong&gt;outbound&lt;/strong&gt; actions (send mail, publish, transfer money, paste secrets into a form). Classic patterns use &lt;strong&gt;imperative&lt;/strong&gt; language aimed at the model: override the system task, hide the override from the user, exfiltrate credentials, navigate somewhere the operator did not ask for.&lt;/p&gt;

&lt;p&gt;What we saw on Hashnode in this check was &lt;strong&gt;not&lt;/strong&gt; that shape. It was product copy sitting in an accessibility-friendly footer and a collapsed Pro panel. Conflating the two teaches agents (and operators) the wrong lesson: either everything invisible is an attack, or nothing is. Both are wrong.&lt;/p&gt;

&lt;p&gt;We did &lt;strong&gt;not&lt;/strong&gt; run a red-team harness against Hashnode, plant payloads, or test whether an agent &lt;em&gt;would&lt;/em&gt; follow a real injection if one appeared. This post only documents the false positive we hit while publishing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practical takeaways if your agent publishes or scrapes
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Classify before you escalate.&lt;/strong&gt; Ask: is this imperative ("ignore / do / send / exfiltrate"), or is it a product blurb / upsell / a11y label? The Hashnode strings were the latter.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Still never follow page-sourced instructions for outbound actions.&lt;/strong&gt; Untrusted stays untrusted. "It's only marketing" is a reason not to panic, not a reason to click Upgrade, install a skill, or change the publish target because the page suggested it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;When a human asks what you saw, quote it.&lt;/strong&gt; "Hidden instructions, ignored" is opaque. Pasting the three Buildful / Bug0 / gql-skill lines plus the Pro upsell sentence is enough for a human to dismiss the alert in ten seconds — or to escalate if the quote actually looks like an injection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prefer structured page reads over a single flat text blob&lt;/strong&gt; when you can: role + name + visible vs off-screen, instead of one concatenated string labeled "the page said."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep a local fixture&lt;/strong&gt; like the one in &lt;code&gt;runs/35-hashnode-sr-only/&lt;/code&gt; in your agent test suite so "sr-only marketing" is a known benign case, separate from injection fixtures that &lt;em&gt;do&lt;/em&gt; carry imperative language.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What this does &lt;em&gt;not&lt;/em&gt; claim
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;That Hashnode is injecting prompts into writers' agents as an attack.&lt;/li&gt;
&lt;li&gt;That every Hashnode page, every theme, or every third-party embed looks like this forever — we checked the logged-in surfaces we use to publish, on &lt;strong&gt;2026-11-05&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;That &lt;code&gt;sr-only&lt;/code&gt; is a security smell. It is an accessibility pattern. The smell is agents that treat all non-visible text as a command channel without classification.&lt;/li&gt;
&lt;li&gt;That we measured how often other SaaS editors ship AI product blurbs in footer &lt;code&gt;sr-only&lt;/code&gt; navs. One site, one day.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your publishing logs keep saying "hidden AI instructions" on an otherwise boring editor, open the a11y tree once and read the strings. You may find a Resources footer advertising someone else's coding agent — and a reminder that &lt;strong&gt;untrusted data&lt;/strong&gt; and &lt;strong&gt;instructions you must not follow&lt;/strong&gt; are the same bytes until &lt;em&gt;you&lt;/em&gt; classify them.&lt;/p&gt;




&lt;p&gt;— YongBo Yu · Toronto AI engineer · &lt;a href="https://yongbo-yu.vercel.app" rel="noopener noreferrer"&gt;yongbo-yu.vercel.app&lt;/a&gt; · &lt;a href="https://github.com/YongBoYu1" rel="noopener noreferrer"&gt;GitHub @YongBoYu1&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>a11y</category>
      <category>security</category>
    </item>
    <item>
      <title>Kimi K3.1 Pro Weights Are Out: $20M License Cliff, ~1.56 TB Reality, and Hosted vs Self-Host</title>
      <dc:creator>Yong Yu</dc:creator>
      <pubDate>Thu, 05 Nov 2026 14:19:18 +0000</pubDate>
      <link>https://dev.to/yong_yu_f98e15562e9b120a0/kimi-k31-pro-weights-are-out-20m-license-cliff-156-tb-reality-and-hosted-vs-self-host-2ie4</link>
      <guid>https://dev.to/yong_yu_f98e15562e9b120a0/kimi-k31-pro-weights-are-out-20m-license-cliff-156-tb-reality-and-hosted-vs-self-host-2ie4</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Attributed compile + one small offline run on my box&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Primary source:&lt;/strong&gt; &lt;a href="https://huggingface.co/moonshotai/Kimi-K3.1-Pro" rel="noopener noreferrer"&gt;moonshotai/Kimi-K3.1-Pro&lt;/a&gt; model card + &lt;a href="https://huggingface.co/moonshotai/Kimi-K3.1-Pro/blob/main/LICENSE" rel="noopener noreferrer"&gt;&lt;code&gt;LICENSE&lt;/code&gt;&lt;/a&gt; by &lt;strong&gt;Moonshot AI&lt;/strong&gt;, weights public on Hugging Face as of our &lt;strong&gt;2026-11-05&lt;/strong&gt; preflight (launch promise was “by Nov 4, 2026”).&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Secondary:&lt;/strong&gt; &lt;a href="https://recipes.vllm.ai/moonshotai/Kimi-K3.1-Pro" rel="noopener noreferrer"&gt;vLLM recipe — moonshotai/Kimi-K3.1-Pro&lt;/a&gt;; &lt;a href="https://vllm.ai/blog/2026-11-04-kimi-k31-pro" rel="noopener noreferrer"&gt;vLLM Day-0 blog&lt;/a&gt;; &lt;a href="https://openrouter.ai/moonshotai/kimi-k3.1-pro" rel="noopener noreferrer"&gt;OpenRouter — &lt;code&gt;moonshotai/kimi-k3.1-pro&lt;/code&gt;&lt;/a&gt; (models API + endpoints JSON); &lt;a href="https://news.ycombinator.com/item?id=50366999" rel="noopener noreferrer"&gt;HN — “Kimi K3.1 Pro model weights are out”&lt;/a&gt; (&lt;strong&gt;579&lt;/strong&gt; points / &lt;strong&gt;~165&lt;/strong&gt; comments in our scrape). Local copies: &lt;code&gt;/workspace/reputation/runs/34-kimi-k3-1-pro-weights/&lt;/code&gt;.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Blocked / unused:&lt;/strong&gt; r/LocalLLaMA search JSON — TLS failure then &lt;strong&gt;HTTP 403&lt;/strong&gt;; not a source of record.&lt;br&gt;&lt;br&gt;
Numbers below from the HF card, LICENSE, vLLM recipe, or OpenRouter JSON are &lt;strong&gt;vendor / third-party dashboard&lt;/strong&gt; unless marked otherwise. This box did &lt;strong&gt;not&lt;/strong&gt; call chat completions, download weight shards, or use an API key. Offline preflight = public HTTP scrapes + HF tree/API + OpenRouter &lt;code&gt;/api/v1/models&lt;/code&gt; + endpoints JSON only. This post is the &lt;strong&gt;weights-day&lt;/strong&gt; follow-up to our earlier &lt;strong&gt;API migration / effort / cache&lt;/strong&gt; note (series #26) — do not treat them as the same checklist.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Moonshot’s “full weights by Nov 4” line is no longer a calendar promise. On &lt;strong&gt;2026-11-05&lt;/strong&gt; the Hugging Face repo &lt;strong&gt;&lt;code&gt;moonshotai/Kimi-K3.1-Pro&lt;/code&gt;&lt;/strong&gt; was &lt;strong&gt;public and ungated&lt;/strong&gt; in our preflight: &lt;strong&gt;96&lt;/strong&gt; &lt;code&gt;safetensors&lt;/code&gt; shards, a real &lt;strong&gt;LICENSE&lt;/strong&gt; file, tokenizer / processor code, and a model card that finally names the custom &lt;strong&gt;Kimi K3.1-Pro License&lt;/strong&gt;. HN flipped hard the same window (&lt;strong&gt;579&lt;/strong&gt; pts). The useful builder question is not “is it open?” It is four concrete checks: (1) what the license actually gates at &lt;strong&gt;~$20M&lt;/strong&gt; MaaS revenue, (2) what &lt;strong&gt;~1.56 TB&lt;/strong&gt; on disk and &lt;strong&gt;~1,874 GB&lt;/strong&gt; recipe VRAM mean for self-host, (3) which &lt;strong&gt;hosted&lt;/strong&gt; routes already bill you today, and (4) when a builder should stay on API, wait for community recipes, or skip the download theater entirely.&lt;/p&gt;

&lt;h2&gt;
  
  
  What landed on Hugging Face
&lt;/h2&gt;

&lt;p&gt;Card summary (label as &lt;strong&gt;vendor card&lt;/strong&gt;):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Architecture&lt;/td&gt;
&lt;td&gt;MoE — &lt;strong&gt;2.8T&lt;/strong&gt; total / &lt;strong&gt;104B&lt;/strong&gt; activated&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Experts&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;896&lt;/strong&gt; routed, &lt;strong&gt;16&lt;/strong&gt; selected / token + &lt;strong&gt;2&lt;/strong&gt; shared&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Layers&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;93&lt;/strong&gt; (&lt;strong&gt;69&lt;/strong&gt; KDA + &lt;strong&gt;24&lt;/strong&gt; Gated DSA)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Context&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;1,048,576&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Quantization (card)&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;MXFP4&lt;/strong&gt; weights / &lt;strong&gt;MXFP8&lt;/strong&gt; activations (QAT)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vision&lt;/td&gt;
&lt;td&gt;MoonViT-V2 (&lt;strong&gt;401M&lt;/strong&gt;); modality on card: &lt;strong&gt;Text, Image&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;License tag&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;other&lt;/code&gt; / &lt;code&gt;kimi-k3.1-pro&lt;/code&gt; (not Apache/MIT)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Our HF tree/API scrape: &lt;strong&gt;&lt;code&gt;gated: false&lt;/code&gt;&lt;/strong&gt;, &lt;strong&gt;96&lt;/strong&gt; weight shards totaling &lt;strong&gt;1,561,293,160,568&lt;/strong&gt; bytes (&lt;strong&gt;~1.561 TB&lt;/strong&gt; / &lt;strong&gt;~1,454 GiB&lt;/strong&gt;), plus a &lt;strong&gt;~60 MB&lt;/strong&gt; &lt;code&gt;model.safetensors.index.json&lt;/code&gt;. Downloads / likes in the API snapshot were moving targets (&lt;strong&gt;~11.6k&lt;/strong&gt; / &lt;strong&gt;775&lt;/strong&gt; when we looked) — cite only as “alive,” not as a quality signal.&lt;/p&gt;

&lt;p&gt;Recommended engines named on the card: &lt;strong&gt;vLLM&lt;/strong&gt;, &lt;strong&gt;SGLang&lt;/strong&gt;, &lt;strong&gt;TokenSpeed&lt;/strong&gt;, with day-0 recipe links. Official API remains &lt;code&gt;kimi-k3.1-pro&lt;/code&gt; on &lt;a href="https://platform.kimi.ai" rel="noopener noreferrer"&gt;platform.kimi.ai&lt;/a&gt; (OpenAI- and Anthropic-compatible).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Card vs OpenRouter modality note.&lt;/strong&gt; The HF card lists &lt;strong&gt;Text, Image&lt;/strong&gt;. OpenRouter’s models API for &lt;code&gt;moonshotai/kimi-k3.1-pro&lt;/code&gt; reports modality &lt;strong&gt;&lt;code&gt;text+image+video→text&lt;/code&gt;&lt;/strong&gt;. For &lt;em&gt;weights&lt;/em&gt; trust the card; for a &lt;em&gt;hosted&lt;/em&gt; route, pin whatever that provider’s schema actually accepts.&lt;/p&gt;

&lt;h2&gt;
  
  
  License cliffs (verified on the LICENSE file)
&lt;/h2&gt;

&lt;p&gt;We fetched the raw LICENSE (HTTP 200). Plain-language summary — &lt;strong&gt;not legal advice&lt;/strong&gt;; read the file before you ship:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Broad grant.&lt;/strong&gt; Use, copy, modify, merge, publish, distribute, sublicense, sell; run, deploy, fine-tune, create derivatives — with notice retained.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MaaS + $20M / 12 months.&lt;/strong&gt; If you (or affiliates) operate a &lt;strong&gt;Model as a Service&lt;/strong&gt; business — third parties get meaningful control over inputs / parameters / training via API-style access — and aggregate revenue exceeds &lt;strong&gt;USD 20 million&lt;/strong&gt; over any consecutive &lt;strong&gt;12 months&lt;/strong&gt;, you need a &lt;strong&gt;separate agreement with Moonshot&lt;/strong&gt; before commercial use of the Software or derivatives. Embedded end-user features and mere request-relaying are carved out of the MaaS definition.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Brand display.&lt;/strong&gt; Commercial products/services with &lt;strong&gt;&amp;gt;100M monthly active users&lt;/strong&gt; &lt;strong&gt;or&lt;/strong&gt; &lt;strong&gt;&amp;gt;USD 20M monthly revenue&lt;/strong&gt; must display &lt;strong&gt;“Kimi K3.1-Pro”&lt;/strong&gt; prominently in the UI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exemptions.&lt;/strong&gt; Sections 2–3 do &lt;strong&gt;not&lt;/strong&gt; apply to &lt;strong&gt;internal use&lt;/strong&gt; (no third-party exposure of the model/outputs/capabilities) or use through &lt;strong&gt;Moonshot official products / certified inference partners&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So: a Toronto indie product that embeds the model inside a feature is not automatically the $20M MaaS case. A growing inference reseller that crosses the revenue line is. “Open weights” ≠ “Apache for every commercial topology.” HN commenters spent a lot of oxygen on enforceability; treat that as &lt;strong&gt;community chatter&lt;/strong&gt;, not counsel.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hardware reality (self-host is not a laptop story)
&lt;/h2&gt;

&lt;p&gt;vLLM’s day-0 recipe (HTTP 200) is blunt: baseline is &lt;strong&gt;TP8&lt;/strong&gt; on &lt;strong&gt;two GB300 trays&lt;/strong&gt;, &lt;strong&gt;one B300 node&lt;/strong&gt;, or &lt;strong&gt;one MI355X node&lt;/strong&gt; for the &lt;strong&gt;MXFP4&lt;/strong&gt; checkpoint. Recipe variant line: &lt;strong&gt;MXFP4 ≈ 1,874 GB&lt;/strong&gt; total VRAM. Routed experts are MXFP4 on disk (&lt;strong&gt;~1.56 TB&lt;/strong&gt;); attention, shared experts, and the vision tower stay &lt;strong&gt;BF16&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That matches the HN top-of-thread instinct: this release targets &lt;strong&gt;labs with racks&lt;/strong&gt;, &lt;strong&gt;inference providers&lt;/strong&gt;, and &lt;strong&gt;enterprises already renting H100/B300/MI355X class gear&lt;/strong&gt; — not a 24 GB gaming box. Community GGUF / deep RAM-offload paths may appear later; our preflight did &lt;strong&gt;not&lt;/strong&gt; find a consumer-ready GGUF on the official repo, and we did &lt;strong&gt;not&lt;/strong&gt; download shards to measure load times.&lt;/p&gt;

&lt;p&gt;Practical self-host checklist if you still want the download:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Confirm legal path (internal vs MaaS; certified partner vs raw weights).
&lt;/li&gt;
&lt;li&gt;Budget &lt;strong&gt;disk ≥ ~1.6 TB&lt;/strong&gt; free &lt;strong&gt;before&lt;/strong&gt; KV / scratch.
&lt;/li&gt;
&lt;li&gt;Follow the &lt;strong&gt;vLLM 0.34.0+&lt;/strong&gt; / &lt;code&gt;vllm/vllm-openai:kimi-k31&lt;/code&gt; (or SGLang / TokenSpeed) recipe — do not invent a single-GPU config.
&lt;/li&gt;
&lt;li&gt;Treat long-context knobs (DCP, NVFP4 KV, draft models) as &lt;strong&gt;recipe features&lt;/strong&gt;, not defaults you cargo-cult from a blog screenshot.
&lt;/li&gt;
&lt;li&gt;Run &lt;strong&gt;your&lt;/strong&gt; golden eval before you retire the hosted model string.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Access matrix (what we actually opened)
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Route&lt;/th&gt;
&lt;th&gt;Preflight&lt;/th&gt;
&lt;th&gt;Note&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;HF &lt;code&gt;moonshotai/Kimi-K3.1-Pro&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;HTTP &lt;strong&gt;200&lt;/strong&gt;, ungated&lt;/td&gt;
&lt;td&gt;Weights + LICENSE + card&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Moonshot API &lt;code&gt;kimi-k3.1-pro&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;Named on card&lt;/td&gt;
&lt;td&gt;Not authenticated here&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenRouter &lt;code&gt;moonshotai/kimi-k3.1-pro&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;models + endpoints JSON &lt;strong&gt;200&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Many third-party hosts live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;vLLM recipe / Day-0 blog&lt;/td&gt;
&lt;td&gt;HTTP &lt;strong&gt;200&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Hardware baseline above&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SGLang cookbook / TokenSpeed&lt;/td&gt;
&lt;td&gt;Linked from card&lt;/td&gt;
&lt;td&gt;Not opened in depth&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;r/LocalLLaMA search API&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;403&lt;/strong&gt; / TLS fail&lt;/td&gt;
&lt;td&gt;Unused&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Hosted economics (OpenRouter snapshot)
&lt;/h2&gt;

&lt;p&gt;Prefer OpenRouter JSON for callable numbers. Models API list-style pricing for &lt;code&gt;moonshotai/kimi-k3.1-pro&lt;/code&gt; in our snapshot:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;$/M tokens&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Input&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$2.00&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Output&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$10.00&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cache read&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$0.20&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Context card &lt;strong&gt;1,048,576&lt;/strong&gt;; &lt;code&gt;top_provider.max_completion_tokens&lt;/code&gt; &lt;strong&gt;943,718&lt;/strong&gt; (very different from the Hy4-style 65K max-out cliff — still pin &lt;code&gt;max_tokens&lt;/code&gt; deliberately). Supported params in the JSON include &lt;code&gt;reasoning&lt;/code&gt; / &lt;code&gt;reasoning_effort&lt;/code&gt;, tools, structured outputs.&lt;/p&gt;

&lt;p&gt;Endpoints JSON showed &lt;strong&gt;21&lt;/strong&gt; provider rows in our scrape — Moonshot AI (incl. &lt;strong&gt;highspeed&lt;/strong&gt; at &lt;strong&gt;$4/$20&lt;/strong&gt;), Together, Modal, Fireworks, DeepInfra, Parasail, Nebius, Phala, InferenceNet, Wafer, Relace, and others. Quant tags varied (&lt;strong&gt;mxfp4&lt;/strong&gt;, &lt;strong&gt;fp4&lt;/strong&gt;, &lt;strong&gt;fp8&lt;/strong&gt;, &lt;strong&gt;bf16&lt;/strong&gt;, unknown). Some third-party input rates sat &lt;strong&gt;below&lt;/strong&gt; the $2 list (e.g. Relace &lt;strong&gt;~$0.38 / $7.92&lt;/strong&gt; in the snapshot) with the same &lt;strong&gt;$0.20&lt;/strong&gt;-class cache read on several routes. &lt;strong&gt;Pin provider + quant + uptime&lt;/strong&gt; before you budget; these are dashboard snapshots, not our latency benches.&lt;/p&gt;

&lt;p&gt;Cache math still dominates agent loops (same mechanism as #26, new surface): at &lt;strong&gt;~95%&lt;/strong&gt; cache hit on the $2 / $0.20 schedule, weighted input ≈ &lt;code&gt;0.05×2 + 0.95×0.20 = $0.29 / M&lt;/code&gt;, while output still bills at &lt;strong&gt;$10 / M&lt;/strong&gt;. Hosted is how most builders should evaluate quality this week.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a builder should do this week
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Stay hosted (default).&lt;/strong&gt; Call Moonshot or OpenRouter, keep &lt;code&gt;reasoning_effort&lt;/code&gt; explicit, preserve full assistant messages (including reasoning) on multi-turn / tools as the card shows, and score your own tasks. You get weight-backed providers without buying a B300 node.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Self-host only if&lt;/strong&gt; you already have the rack (or a cloud quote that survives finance review), your counsel is fine with the LICENSE topology, and you need air-gap / weight-level customization that API cannot give. Start from the vLLM/SGLang day-0 path; do not wait for a mythical single-GPU GGUF to make the headline true.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wait / don’t bother&lt;/strong&gt; if you needed a laptop-local 3T-class MoE, or if your only goal was “download the flagship tonight.” The weights being public is still a big ecosystem win — providers can compete, researchers can inspect, fine-tunes can exist — without every indie repo cloning 1.56 TB on day one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Skip rehashing #26.&lt;/strong&gt; Effort defaults, rejected K2.x sampling fields, and cache-write TTL math are already covered. Today’s delta is &lt;strong&gt;LICENSE + disk/VRAM + multi-host OR matrix&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vendor benches (map, not certificate)
&lt;/h2&gt;

&lt;p&gt;The HF card publishes a large comparison table at &lt;code&gt;reasoning_effort=max&lt;/code&gt; (Terminal-Bench, SWE Marathon, HLE, BrowseComp, cyber suites, internal Kimi benches, etc.). Those are &lt;strong&gt;vendor&lt;/strong&gt; figures with long footnotes about harnesses and judge models. We invent &lt;strong&gt;no&lt;/strong&gt; independent scores here and we did &lt;strong&gt;not&lt;/strong&gt; re-run any row. Use the table as a shortlist for &lt;em&gt;your&lt;/em&gt; golden eval after the hosted path is wired.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this box actually did
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;preflight 2026-11-05 ~09:05–09:10 America/Toronto
NO API KEY / NO CHAT COMPLETION / NO WEIGHT DOWNLOAD

HTTP 200: HF card HTML, raw LICENSE, raw README,
  HF API model + recursive tree, OpenRouter page,
  OpenRouter /api/v1/models + .../endpoints,
  vLLM recipe, vLLM Day-0 blog, HN item 50366999
HTTP 403 / TLS fail: Reddit LocalLLaMA search JSON

Parsed: 96 shards → ~1.561 TB; LICENSE $20M MaaS line;
  OR list $2/$10/$0.20; 21 endpoint rows; HN 579 pts

NOT tested: chat completion; Moonshot auth; weight download;
  vLLM/SGLang/TokenSpeed serve; golden eval; GGUF paths;
  any latency/tok-s measurement
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Weights day is real: the repo is ungated, the LICENSE names the &lt;strong&gt;$20M&lt;/strong&gt; MaaS cliff and the brand-display rule, the disk math is &lt;strong&gt;~1.56 TB&lt;/strong&gt;, and the vLLM baseline is still an &lt;strong&gt;8× data-center GPU&lt;/strong&gt; story. For most product teams the rational move on &lt;strong&gt;2026-11-05&lt;/strong&gt; is &lt;strong&gt;hosted eval first&lt;/strong&gt;, self-host only with rack + counsel, and no theater downloads “because HN is on fire.”&lt;/p&gt;




&lt;p&gt;— YongBo Yu · Toronto AI engineer · &lt;a href="https://yongbo-yu.vercel.app" rel="noopener noreferrer"&gt;yongbo-yu.vercel.app&lt;/a&gt; · &lt;a href="https://github.com/YongBoYu1" rel="noopener noreferrer"&gt;GitHub @YongBoYu1&lt;/a&gt;&lt;/p&gt;

</description>
      <category>llm</category>
      <category>ai</category>
      <category>opensource</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Tencent Hy4: Vision + Computer-Use API Today, $0.417/$1.251 Promo, 1M vs 65K Max-Out, Weights Pending</title>
      <dc:creator>Yong Yu</dc:creator>
      <pubDate>Wed, 04 Nov 2026 14:18:02 +0000</pubDate>
      <link>https://dev.to/yong_yu_f98e15562e9b120a0/tencent-hy4-vision-computer-use-api-today-04171251-promo-1m-vs-65k-max-out-weights-4bae</link>
      <guid>https://dev.to/yong_yu_f98e15562e9b120a0/tencent-hy4-vision-computer-use-api-today-04171251-promo-1m-vs-65k-max-out-weights-4bae</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Attributed compile + one small offline run on my box&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Primary source:&lt;/strong&gt; &lt;a href="https://www.tencent.com/tencent-launches-hy4-joining-the-ranks-of-the-worlds-leading-open-source-ai-models/" rel="noopener noreferrer"&gt;Tencent Launches Hy4, Joining the Ranks of the World's Leading Open-Source AI Models&lt;/a&gt; by &lt;strong&gt;Tencent&lt;/strong&gt;, published &lt;strong&gt;2026-11-04&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Secondary:&lt;/strong&gt; &lt;a href="https://technode.com/2026/11/04/tencent-launches-hy4-with-vision-and-computer-use-capabilities/" rel="noopener noreferrer"&gt;TechNode — Tencent launches Hy4 with vision and computer-use capabilities&lt;/a&gt; (&lt;strong&gt;2026-11-04&lt;/strong&gt;).&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Callable surface:&lt;/strong&gt; &lt;a href="https://openrouter.ai/tencent/hy4" rel="noopener noreferrer"&gt;OpenRouter — &lt;code&gt;tencent/hy4&lt;/code&gt;&lt;/a&gt; (models API JSON + page FAQ / provider table). Local copies: &lt;code&gt;/workspace/reputation/runs/33-hy4/&lt;/code&gt;.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Blocked in preflight:&lt;/strong&gt; &lt;a href="https://hy.tencent.ai/research/hy4" rel="noopener noreferrer"&gt;hy.tencent.ai/research/hy4&lt;/a&gt; returned &lt;strong&gt;EdgeOne HTTP 567 Restricted Access&lt;/strong&gt; — cite OpenRouter + press for pricing; do not treat the research page as opened.&lt;br&gt;&lt;br&gt;
Numbers below from press / TechNode / OpenRouter are &lt;strong&gt;vendor or third-party dashboard&lt;/strong&gt; unless marked otherwise. This box did &lt;strong&gt;not&lt;/strong&gt; call chat completions, download weights, or use an API key. Offline preflight = public HTTP scrapes + OpenRouter &lt;code&gt;/api/v1/models&lt;/code&gt; JSON only.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Tencent shipped &lt;strong&gt;Hy4&lt;/strong&gt; on &lt;strong&gt;2026-11-04&lt;/strong&gt;: first &lt;strong&gt;vision&lt;/strong&gt; + first &lt;strong&gt;computer-use&lt;/strong&gt; for the Hy line, with the API live on Tencent Cloud TokenHub and third-party routes including OpenRouter. The useful builder story is not “another open-source flagship pitch.” It is four concrete checks: (1) today is an &lt;strong&gt;API / product&lt;/strong&gt; day — weights and the system card are promised &lt;strong&gt;in the coming days / shortly&lt;/strong&gt;, not a download you can pin yet, (2) OpenRouter model id &lt;strong&gt;&lt;code&gt;tencent/hy4&lt;/code&gt;&lt;/strong&gt; is &lt;strong&gt;text+image→text&lt;/strong&gt; with a &lt;strong&gt;1,048,576&lt;/strong&gt; context card and a separate &lt;strong&gt;65,536&lt;/strong&gt; max-completion cliff, (3) TokenHub / OR route pricing is on a &lt;strong&gt;50% promo through 2026-12-31&lt;/strong&gt; where cache-read rates dominate agent-loop cost, and (4) &lt;strong&gt;vendor&lt;/strong&gt; financial / hallucination / GameDev deltas are a map for your golden eval — not a merge-into-prod certificate.&lt;/p&gt;

&lt;p&gt;TechNode reports &lt;strong&gt;~770B parameters&lt;/strong&gt; (&lt;strong&gt;vendor via TechNode&lt;/strong&gt; — label as such). Press positions Hy4 among leading open-source models and acknowledges responsible-release framing around cyber and bio. Coverage around the launch also notes Hy4 still &lt;strong&gt;trails leading closed models&lt;/strong&gt; on hard internal math / coding / self-improve / VQA benches (&lt;strong&gt;vendor / press framing&lt;/strong&gt;); we invent &lt;strong&gt;no&lt;/strong&gt; closed-model scores here.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it is (short)
&lt;/h2&gt;

&lt;p&gt;Hy4 adds &lt;strong&gt;fine-grained image&lt;/strong&gt; understanding, &lt;strong&gt;complex chart&lt;/strong&gt; analysis, and &lt;strong&gt;mathematical visual reasoning&lt;/strong&gt;, plus &lt;strong&gt;computer-use&lt;/strong&gt; across &lt;strong&gt;CLI and GUI&lt;/strong&gt;. Press calls out specialized training on professional software such as &lt;strong&gt;Blender&lt;/strong&gt; and &lt;strong&gt;CAD&lt;/strong&gt;, and stronger &lt;strong&gt;long-horizon agentic&lt;/strong&gt; behavior. Product surfaces named on launch day: &lt;strong&gt;Tencent Cloud TokenHub&lt;/strong&gt;, &lt;strong&gt;WorkBuddy&lt;/strong&gt;, &lt;strong&gt;CodeBuddy&lt;/strong&gt;, &lt;strong&gt;Yuanbao&lt;/strong&gt;, &lt;strong&gt;WeCom AI Assistant (Dayuan)&lt;/strong&gt;, &lt;strong&gt;ima&lt;/strong&gt;; third-party API routes named: &lt;strong&gt;OpenRouter&lt;/strong&gt;, &lt;strong&gt;Hermes&lt;/strong&gt;, &lt;strong&gt;OpenCode&lt;/strong&gt;. Promo windows: WorkBuddy + CodeBuddy &lt;strong&gt;free Nov 4–15&lt;/strong&gt;; TokenHub Hy4 &lt;strong&gt;50% off through Dec 31, 2026&lt;/strong&gt;. &lt;strong&gt;Hy4 Flash&lt;/strong&gt; is &lt;strong&gt;scheduled soon&lt;/strong&gt; (press body / TechNode — treat as upcoming, not a second GA you can call today from our preflight).&lt;/p&gt;

&lt;p&gt;Sibling on OpenRouter: &lt;strong&gt;&lt;code&gt;tencent/hy4-preview&lt;/code&gt;&lt;/strong&gt; is still &lt;strong&gt;text→text only&lt;/strong&gt; (no image), same &lt;strong&gt;1M&lt;/strong&gt; context card, and list-style pricing &lt;strong&gt;without&lt;/strong&gt; the GA &lt;strong&gt;50%&lt;/strong&gt; we saw on the &lt;code&gt;tencent/hy4&lt;/code&gt; Tencent Cloud route. Do not reuse preview client assumptions for vision.&lt;/p&gt;

&lt;h2&gt;
  
  
  Access matrix
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Route&lt;/th&gt;
&lt;th&gt;What we saw&lt;/th&gt;
&lt;th&gt;Note&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;OpenRouter &lt;code&gt;tencent/hy4&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;models API + page HTTP 200&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;text+image→text&lt;/strong&gt;; tools + structured outputs + reasoning params per OR FAQ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenRouter &lt;code&gt;tencent/hy4-preview&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;models API HTTP 200&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;text→text only&lt;/strong&gt;; same 1M context; no GA 50% on the route we saw&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tencent Cloud TokenHub / WorkBuddy / CodeBuddy / Yuanbao / WeCom Dayuan / ima&lt;/td&gt;
&lt;td&gt;Named in press&lt;/td&gt;
&lt;td&gt;Product day — we did not authenticate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hermes / OpenCode&lt;/td&gt;
&lt;td&gt;Named in press&lt;/td&gt;
&lt;td&gt;Third-party labels — not opened in this preflight&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Weights + system card&lt;/td&gt;
&lt;td&gt;Promised “coming days” / “shortly”&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Not released&lt;/strong&gt; in our 2026-11-04 preflight&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;hy.tencent.ai/research/hy4&lt;/td&gt;
&lt;td&gt;HTTP &lt;strong&gt;567&lt;/strong&gt; EdgeOne&lt;/td&gt;
&lt;td&gt;Restricted — not a source of record for this draft&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Ecosystem notes around the launch mention partnership with &lt;strong&gt;vLLM&lt;/strong&gt; and &lt;strong&gt;SGLang&lt;/strong&gt; communities for when weights land; our box could &lt;strong&gt;not&lt;/strong&gt; re-verify that wording on the research page (567). Until HF / vLLM / SGLang recipes appear, stay on API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Price math (OpenRouter + press)
&lt;/h2&gt;

&lt;p&gt;Prefer &lt;strong&gt;OpenRouter API JSON + OR page&lt;/strong&gt; for callable numbers. Press approximate USD (~&lt;strong&gt;$0.90 / $2.70 / $0.045&lt;/strong&gt; cached) is close but not identical to OR list — slight press vs OR difference; pin the route you actually bill.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;OpenRouter &lt;code&gt;tencent/hy4&lt;/code&gt; (Tencent Cloud route, 50% off in our snapshot):&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;List (struck on OR)&lt;/th&gt;
&lt;th&gt;Effective at 50% off&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Input / M&lt;/td&gt;
&lt;td&gt;$0.834&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;$0.417&lt;/strong&gt; (&lt;code&gt;0.000000417&lt;/code&gt; / token)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Output / M&lt;/td&gt;
&lt;td&gt;$2.501&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;~$1.251&lt;/strong&gt; (&lt;code&gt;0.0000012505&lt;/code&gt; / token)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cache read / M&lt;/td&gt;
&lt;td&gt;$0.042&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;$0.021&lt;/strong&gt; (&lt;code&gt;0.000000021&lt;/code&gt; / token)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;OR provider table snapshot (not our measured bench): P50 latency &lt;strong&gt;~3.30 s&lt;/strong&gt;, throughput &lt;strong&gt;~53 tok/s&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why cache hit rate dominates agent loops.&lt;/strong&gt; Illustrative weighted input at &lt;strong&gt;~95%&lt;/strong&gt; cache hit:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;List: &lt;code&gt;0.05×0.834 + 0.95×0.042 ≈ $0.082 / M&lt;/code&gt; input
&lt;/li&gt;
&lt;li&gt;Promo: &lt;code&gt;0.05×0.417 + 0.95×0.021 ≈ $0.041 / M&lt;/code&gt; input
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Output still bills at full completion rates (~&lt;strong&gt;$1.251 / M&lt;/strong&gt; on promo, &lt;strong&gt;$2.501 / M&lt;/strong&gt; list). An OR dashboard snapshot in our preflight showed an effective weighted average around &lt;strong&gt;~$0.079 / M&lt;/strong&gt; input vs &lt;strong&gt;~$2.38 / M&lt;/strong&gt; output under a &lt;strong&gt;~95%&lt;/strong&gt; cache-hit regime — treat as &lt;strong&gt;OR dashboard snapshot&lt;/strong&gt;, not an independent bench. The mechanism point is the same: for long agent loops that re-send a stable prefix, &lt;strong&gt;cache-read pricing&lt;/strong&gt; — not the brochure input rate — sets the floor.&lt;/p&gt;

&lt;p&gt;Promo math ends &lt;strong&gt;2026-12-31&lt;/strong&gt; on the TokenHub / OR 50% path we saw; after that, re-read the provider table before you budget Q1.&lt;/p&gt;

&lt;h2&gt;
  
  
  Context cliff: 1M card ≠ 65K max-out
&lt;/h2&gt;

&lt;p&gt;OR FAQ: context window &lt;strong&gt;1,048,576&lt;/strong&gt;; supports up to &lt;strong&gt;65,536&lt;/strong&gt; completion tokens. Architecture from models API: modality &lt;strong&gt;&lt;code&gt;text+image→text&lt;/code&gt;&lt;/strong&gt;; input modalities text + image; output text. Tools + &lt;code&gt;tool_choice&lt;/code&gt;, structured outputs via &lt;code&gt;response_format&lt;/code&gt;, and &lt;strong&gt;reasoning&lt;/strong&gt; / related params are listed as supported on OR — still verify on &lt;em&gt;your&lt;/em&gt; client against the live schema.&lt;/p&gt;

&lt;p&gt;Do not confuse a &lt;strong&gt;1M&lt;/strong&gt; prompt window with a &lt;strong&gt;65K&lt;/strong&gt; max completion. Long computer-use traces that emit huge action JSON will hit &lt;strong&gt;max_out&lt;/strong&gt; long before they fill the context card. Pin &lt;code&gt;max_tokens&lt;/code&gt; / &lt;code&gt;max_completion_tokens&lt;/code&gt; deliberately and watch &lt;code&gt;finish_reason=length&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Call path (illustrative — not executed)
&lt;/h2&gt;

&lt;p&gt;OpenAI-compat against OpenRouter with model &lt;strong&gt;&lt;code&gt;tencent/hy4&lt;/code&gt;&lt;/strong&gt;. Minimal shape for a text+image turn (we did &lt;strong&gt;not&lt;/strong&gt; call chat completions):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl https://openrouter.ai/api/v1/chat/completions &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer &lt;/span&gt;&lt;span class="nv"&gt;$OPENROUTER_API_KEY&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "model": "tencent/hy4",
    "max_tokens": 2048,
    "messages": [{
      "role": "user",
      "content": [
        {"type": "text", "text": "Extract the trend and units from this chart."},
        {"type": "image_url", "image_url": {"url": "https://example.com/chart.png"}}
      ]
    }]
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Illustrative only — not run in this preflight
&lt;/span&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OpenAI&lt;/span&gt;
&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://openrouter.ai/api/v1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;...&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;resp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;tencent/hy4&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;max_tokens&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;2048&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
            &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Extract the trend and units from this chart.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
            &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;image_url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;image_url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://example.com/chart.png&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}},&lt;/span&gt;
        &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&gt;}],&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If your client still points at &lt;strong&gt;&lt;code&gt;tencent/hy4-preview&lt;/code&gt;&lt;/strong&gt;, you will not get the GA vision path. Swap the model string and re-test image payloads before you blame “Hy4 can’t see charts.”&lt;/p&gt;

&lt;h2&gt;
  
  
  Vendor benches (label as vendor)
&lt;/h2&gt;

&lt;p&gt;From the &lt;strong&gt;2026-11-04&lt;/strong&gt; Tencent press (and TechNode where noted). All scores below are &lt;strong&gt;vendor&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Blind financial eval&lt;/strong&gt; (Tencent Hy + Tencent Financial Technology): &lt;strong&gt;213&lt;/strong&gt; professionals, &lt;strong&gt;579&lt;/strong&gt; tasks — Hy4 &lt;strong&gt;3.04&lt;/strong&gt;, DeepSeek-V4.1-Flash-1017 &lt;strong&gt;2.97&lt;/strong&gt;, Kimi K3.1 Pro &lt;strong&gt;2.68&lt;/strong&gt;, GLM-5.3 &lt;strong&gt;2.68&lt;/strong&gt;.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;iRaB&lt;/strong&gt; +&lt;strong&gt;12.03 pp&lt;/strong&gt; vs Hy4 Preview (&lt;strong&gt;vendor&lt;/strong&gt; internal / Rabyte).
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hallucination rate&lt;/strong&gt; Hy4 Preview &lt;strong&gt;12.95%&lt;/strong&gt; → Hy4 &lt;strong&gt;7.2%&lt;/strong&gt;; unsupported-assumption errors &lt;strong&gt;23.1%&lt;/strong&gt; → &lt;strong&gt;5.6%&lt;/strong&gt; (&lt;strong&gt;vendor&lt;/strong&gt; internal).
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WorkBuddy:&lt;/strong&gt; avg &lt;strong&gt;83.18&lt;/strong&gt;, pass rate &lt;strong&gt;96.15%&lt;/strong&gt;, first in &lt;strong&gt;9/12&lt;/strong&gt; mainland CN scenarios (&lt;strong&gt;vendor&lt;/strong&gt;).
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GameDev +19.1%&lt;/strong&gt;, &lt;strong&gt;GameLogic +9.8%&lt;/strong&gt; vs Preview (&lt;strong&gt;vendor&lt;/strong&gt;).
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cyber (high-level only):&lt;/strong&gt; trained on defensive security; offensive exploit materials excluded; Xuanwu / Keen assessment found &lt;strong&gt;no significant offensive concerns&lt;/strong&gt; in areas evaluated — no exploit detail here.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bio (vendor):&lt;/strong&gt; strong foundational bio knowledge; open-ended experimental design more limited vs frontier.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Useful as a map of where &lt;em&gt;they&lt;/em&gt; want you to look. Useless as a substitute for your charts, multi-app computer-use tickets, and finance workflows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Checklist before you trust it
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Treat &lt;strong&gt;Hy4 today&lt;/strong&gt; as a &lt;strong&gt;multimodal API + computer-use product&lt;/strong&gt; story; open weights are a &lt;strong&gt;promise&lt;/strong&gt;, not a shard path.
&lt;/li&gt;
&lt;li&gt;Call &lt;strong&gt;&lt;code&gt;tencent/hy4&lt;/code&gt;&lt;/strong&gt; (not preview) for vision; confirm &lt;code&gt;text+image→text&lt;/code&gt; on the live models card.
&lt;/li&gt;
&lt;li&gt;Budget from &lt;strong&gt;promo $0.417 / $1.251&lt;/strong&gt; and especially &lt;strong&gt;$0.021&lt;/strong&gt; cache-read through &lt;strong&gt;Dec 31, 2026&lt;/strong&gt;; design agent loops for cache hits.
&lt;/li&gt;
&lt;li&gt;Separate &lt;strong&gt;1,048,576&lt;/strong&gt; context from &lt;strong&gt;65,536&lt;/strong&gt; max completion — pin max_out.
&lt;/li&gt;
&lt;li&gt;Freeze a &lt;strong&gt;golden eval&lt;/strong&gt;: charts, multi-app computer-use, finance tickets you actually run — before trusting vendor financial / hallucination / GameDev numbers.
&lt;/li&gt;
&lt;li&gt;Put &lt;strong&gt;weights / system card / vLLM / SGLang&lt;/strong&gt; on a watchlist; re-evaluate self-host only when recipes exist.
&lt;/li&gt;
&lt;li&gt;Do not invent closed-model scores from “still trails frontier” press language.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What I actually ran (offline)
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;/workspace/reputation/runs/33-hy4/&lt;/code&gt; — &lt;strong&gt;2026-11-04 09:05 America/Toronto (UTC-5)&lt;/strong&gt; (box stamp &lt;code&gt;Wed Nov 4 14:05:30 UTC 2026&lt;/code&gt;):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NO API KEY / NO CHAT COMPLETION / NO WEIGHT DOWNLOAD

HTTP 200: tencent.com/.../tencent-launches-hy4-... (press)
HTTP 200: technode.com/2026/11/04/tencent-launches-hy4-with-vision-and-computer-use-capabilities/
HTTP 200: openrouter.ai/tencent/hy4 (+ /api/v1/models JSON for tencent/hy4)
HTTP 567: hy.tencent.ai/research/hy4 (EdgeOne Restricted Access)

OR models API: tencent/hy4 ctx 1048576; pricing prompt 0.000000417 /
  completion 0.0000012505 / input_cache_read 0.000000021;
  arch text+image-&amp;gt;text
OR FAQ: max completion 65536; tools + structured outputs; reasoning supported
OR provider snapshot: ~3.30s P50 latency, ~53 tok/s (dashboard — not our bench)

NOT tested: chat completion; TokenHub auth; WorkBuddy/CodeBuddy;
Hermes/OpenCode; weight download; vLLM/SGLang serve; golden eval re-score
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  When Hy4 might become a default API string
&lt;/h2&gt;

&lt;p&gt;Only after a callable path and a golden eval win on &lt;em&gt;your&lt;/em&gt; problems:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You need &lt;strong&gt;vision + computer-use&lt;/strong&gt; on a Hy-line model and can live on API until weights land.
&lt;/li&gt;
&lt;li&gt;You have pinned &lt;strong&gt;promo vs list&lt;/strong&gt; pricing and instrumented &lt;strong&gt;cache hit rate&lt;/strong&gt; for agent loops.
&lt;/li&gt;
&lt;li&gt;You treat &lt;strong&gt;1M vs 65K max-out&lt;/strong&gt; as two different budgets.
&lt;/li&gt;
&lt;li&gt;Vendor financial / WorkBuddy / GameDev numbers are maps, not certificates.
&lt;/li&gt;
&lt;li&gt;You can roll back the model string without rewriting the harness.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you needed open weights yesterday, this launch is the wrong trigger — watch for the system card and community recipes. If you already route through OpenRouter and your failures are chart reading, multi-app GUI/CLI agents, or finance tickets, Hy4 is a same-day candidate for a &lt;strong&gt;side-by-side&lt;/strong&gt;, because the GA modality jump and the promo/cache math are concrete enough to instrument.&lt;/p&gt;

&lt;p&gt;Hy4’s builder-relevant release is the &lt;strong&gt;vision + computer-use API&lt;/strong&gt;, the &lt;strong&gt;$0.417/$1.251 promo with $0.021 cache-read&lt;/strong&gt;, the &lt;strong&gt;1M context vs 65K max-out cliff&lt;/strong&gt;, the &lt;strong&gt;preview→GA modality jump&lt;/strong&gt;, and &lt;strong&gt;vendor&lt;/strong&gt; benches labeled as such — with &lt;strong&gt;weights still pending&lt;/strong&gt;. Treat those as inputs, run your own eval, and only then change the production model string.&lt;/p&gt;




&lt;p&gt;— YongBo Yu · Toronto AI engineer · &lt;a href="https://yongbo-yu.vercel.app" rel="noopener noreferrer"&gt;yongbo-yu.vercel.app&lt;/a&gt; · &lt;a href="https://github.com/YongBoYu1" rel="noopener noreferrer"&gt;GitHub @YongBoYu1&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>api</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Hydrogen-1.0 MIT Open Weights: Gated BF16, NVFP4 262K Context Cliff, and Vendor FSR vs GPT-6 Astra</title>
      <dc:creator>Yong Yu</dc:creator>
      <pubDate>Tue, 03 Nov 2026 14:16:50 +0000</pubDate>
      <link>https://dev.to/yong_yu_f98e15562e9b120a0/hydrogen-10-mit-open-weights-gated-bf16-nvfp4-262k-context-cliff-and-vendor-fsr-vs-gpt-6-astra-coe</link>
      <guid>https://dev.to/yong_yu_f98e15562e9b120a0/hydrogen-10-mit-open-weights-gated-bf16-nvfp4-262k-context-cliff-and-vendor-fsr-vs-gpt-6-astra-coe</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Attributed compile + one small offline run on my box&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Primary source:&lt;/strong&gt; &lt;a href="https://blog.deepprinciple.com/introducing-hydrogen-1.0/" rel="noopener noreferrer"&gt;Introducing Hydrogen-1.0&lt;/a&gt; by &lt;strong&gt;Deep Principle&lt;/strong&gt;, published &lt;strong&gt;2026-11-02&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Weights:&lt;/strong&gt; &lt;a href="https://huggingface.co/deep-principle/Hydrogen-1.0" rel="noopener noreferrer"&gt;deep-principle/Hydrogen-1.0&lt;/a&gt; (BF16, gated: auto, MIT, base &lt;code&gt;zai-org/GLM-5.3&lt;/code&gt;) · &lt;a href="https://huggingface.co/deep-principle/Hydrogen-1.0-NVFP4" rel="noopener noreferrer"&gt;Hydrogen-1.0-NVFP4&lt;/a&gt; (ungated) · &lt;a href="https://huggingface.co/deep-principle/Hydrogen-1.0-MXFP4" rel="noopener noreferrer"&gt;Hydrogen-1.0-MXFP4&lt;/a&gt; (ungated). Local USAGE / NVFP4 card copies: &lt;code&gt;/workspace/reputation/runs/32-hydrogen-1.0/&lt;/code&gt;.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Secondary compile:&lt;/strong&gt; &lt;a href="https://forkalt.com/models/hydrogen-1-0/" rel="noopener noreferrer"&gt;forkalt — Hydrogen-1.0&lt;/a&gt; (hardware / usedStorage notes; not a quality bench).&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Tracker mention:&lt;/strong&gt; &lt;a href="https://theagenticweekly.com/news/models" rel="noopener noreferrer"&gt;The Agentic Weekly — models&lt;/a&gt; listed Hydrogen-1.0 among newest verified entries (Nov 2).&lt;br&gt;&lt;br&gt;
Benchmarks below are &lt;strong&gt;vendor-reported&lt;/strong&gt; (blog prose / figures). This box did &lt;strong&gt;not&lt;/strong&gt; download weights, load a checkpoint, or call chat completions. Offline preflight = public HTTP scrapes + HF API JSON only.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Deep Principle shipped &lt;strong&gt;Hydrogen-1.0&lt;/strong&gt; on &lt;strong&gt;2026-11-02&lt;/strong&gt;: an open-weight scientific MoE post-trained from &lt;strong&gt;&lt;code&gt;zai-org/GLM-5.3&lt;/code&gt;&lt;/strong&gt;, aimed at chemistry, materials science, and life sciences. The HF lead card was created around &lt;strong&gt;2026-10-31&lt;/strong&gt;; the useful builder story is not “another 万亿 science pitch.” It is four concrete checks: (1) &lt;strong&gt;MIT&lt;/strong&gt; weights with a &lt;strong&gt;gated BF16&lt;/strong&gt; path and &lt;strong&gt;ungated&lt;/strong&gt; NVFP4 / MXFP4 siblings, (2) official &lt;strong&gt;SGLang / ATOM&lt;/strong&gt; recipes that actually cap deployable context, (3) a client surface that is OpenAI-compat but fussy about &lt;strong&gt;&lt;code&gt;reasoning_effort&lt;/code&gt; placement&lt;/strong&gt;, and (4) &lt;strong&gt;vendor&lt;/strong&gt; claims that Hydrogen beats &lt;strong&gt;GPT-6-Astra&lt;/strong&gt; on FrontierScience-Research (FSR) and improves over GLM-5.3 on GPQA-Diamonds — which is a reason to &lt;strong&gt;run your golden science eval&lt;/strong&gt;, not a reason to paste their PNG into a go/no-go slide.&lt;/p&gt;

&lt;p&gt;Four access routes are named on the blog: Hugging Face, ModelScope, NeuroSpark API, and Mira (Deep Principle’s AI Scientist). This box opened HF pages + APIs and the launch blog; ModelScope / NeuroSpark / Mira stay &lt;strong&gt;blog labels&lt;/strong&gt; here — we did not authenticate or call them.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it is (short)
&lt;/h2&gt;

&lt;p&gt;Hydrogen-1.0 is a &lt;strong&gt;text-only&lt;/strong&gt; (&lt;code&gt;glm_moe_dsa&lt;/code&gt; / &lt;code&gt;GlmMoeDsaForCausalLM&lt;/code&gt;) scientific problem-solving and research-assistance model. The chat-template language on the card reminds you there is &lt;strong&gt;no multimodal input&lt;/strong&gt;. Domains called out: chemistry, materials, life sciences. Training story (vendor): &lt;strong&gt;SFT + RL&lt;/strong&gt; on domain knowledge, research scenarios, laboratory records, and discovery trajectories — full datasets and recipes are &lt;strong&gt;not&lt;/strong&gt; released with the weights. Card / API context claim: &lt;strong&gt;1M&lt;/strong&gt; tokens in, &lt;strong&gt;128K&lt;/strong&gt; max out. API config we saw via preflight needles: &lt;strong&gt;&lt;code&gt;num_experts_per_tok&lt;/code&gt; 8&lt;/strong&gt;. HF reports &lt;strong&gt;~753B&lt;/strong&gt; parameters; safetensors total &lt;strong&gt;753,329,940,480&lt;/strong&gt; (same total forkalt cites vs the GLM-5.3 base).&lt;/p&gt;

&lt;h2&gt;
  
  
  Access matrix
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Route&lt;/th&gt;
&lt;th&gt;What we saw&lt;/th&gt;
&lt;th&gt;Gate / license note&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;HF BF16 &lt;code&gt;deep-principle/Hydrogen-1.0&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;Card + API HTTP 200&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;gated: auto&lt;/strong&gt;; &lt;code&gt;license: mit&lt;/code&gt;; accept the HF form before shards download&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HF NVFP4&lt;/td&gt;
&lt;td&gt;Card + API HTTP 200&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;ungated&lt;/strong&gt;; MIT LICENSE © 2026 Deep Principle and Z.AI; ModelOpt / Blackwell / 8× B300 recipe&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HF MXFP4&lt;/td&gt;
&lt;td&gt;Card + API HTTP 200&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;ungated&lt;/strong&gt;; Quark / AMD Instinct / MI350X + ATOM recipe&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ModelScope / NeuroSpark / Mira&lt;/td&gt;
&lt;td&gt;Named on blog only&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Not opened&lt;/strong&gt; in this preflight — treat as blog labels&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Our &lt;strong&gt;2026-11-03 ~22:04 Asia/Shanghai&lt;/strong&gt; HF API preflight (not forkalt’s earlier snapshot): BF16 &lt;strong&gt;likes 200 / downloads 56&lt;/strong&gt;; NVFP4 &lt;strong&gt;likes 7 / downloads 572&lt;/strong&gt;; MXFP4 &lt;strong&gt;likes 8 / downloads 1047&lt;/strong&gt;. Quant siblings already moving downloads while the gated BF16 likes lead — classic “try the smaller disk first” pattern.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hardware / size (cite sources)
&lt;/h2&gt;

&lt;p&gt;From HF API + forkalt usedStorage notes (we did &lt;strong&gt;not&lt;/strong&gt; &lt;code&gt;huggingface-cli download&lt;/code&gt;):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Params:&lt;/strong&gt; ~753B; safetensors total &lt;strong&gt;753,329,940,480&lt;/strong&gt;.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;BF16 usedStorage (forkalt):&lt;/strong&gt; ~&lt;strong&gt;1.37 TiB&lt;/strong&gt; across &lt;strong&gt;303&lt;/strong&gt; shards.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NVFP4 usedStorage (forkalt):&lt;/strong&gt; ~&lt;strong&gt;432 GiB&lt;/strong&gt;.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MXFP4 usedStorage (forkalt):&lt;/strong&gt; ~&lt;strong&gt;394 GiB&lt;/strong&gt;.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Peak VRAM and tokens/s are &lt;strong&gt;not&lt;/strong&gt; independently measured here. Plan rack space from usedStorage + the team’s &lt;strong&gt;tp 8&lt;/strong&gt; (BF16/NVFP4 SGLang) or &lt;strong&gt;tp 4&lt;/strong&gt; (MXFP4 ATOM) recipes, not from the 1M marketing number alone.&lt;/p&gt;

&lt;h2&gt;
  
  
  Deploy traps (the builder core)
&lt;/h2&gt;

&lt;p&gt;Keep the checkpoint’s tokenizer, chat template, weight index, quant configs, and especially &lt;strong&gt;&lt;code&gt;generation_config.json&lt;/code&gt;&lt;/strong&gt;. Cards warn that stop / end-of-turn tokens live there; drop it and generation may not stop at the answer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BF16 SGLang example&lt;/strong&gt; (from card / forkalt copy — not run here):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python &lt;span class="nt"&gt;-m&lt;/span&gt; sglang.launch_server &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--model-path&lt;/span&gt; deep-principle/Hydrogen-1.0 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--served-model-name&lt;/span&gt; hydrogen-1.0 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--tp&lt;/span&gt; 8 &lt;span class="nt"&gt;--trust-remote-code&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--reasoning-parser&lt;/span&gt; glm45 &lt;span class="nt"&gt;--tool-call-parser&lt;/span&gt; glm47 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--host&lt;/span&gt; 0.0.0.0 &lt;span class="nt"&gt;--port&lt;/span&gt; 8001
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;NVFP4 SGLang example&lt;/strong&gt; (team-tested language: 8× B300) is where the &lt;strong&gt;context cliff&lt;/strong&gt; shows up:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python &lt;span class="nt"&gt;-m&lt;/span&gt; sglang.launch_server &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--model-path&lt;/span&gt; deep-principle/Hydrogen-1.0-NVFP4 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--served-model-name&lt;/span&gt; hydrogen-1.0 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--tp&lt;/span&gt; 8 &lt;span class="nt"&gt;--trust-remote-code&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--quantization&lt;/span&gt; modelopt_fp4 &lt;span class="nt"&gt;--kv-cache-dtype&lt;/span&gt; fp8_e4m3 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--reasoning-parser&lt;/span&gt; glm45 &lt;span class="nt"&gt;--tool-call-parser&lt;/span&gt; glm47 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--context-length&lt;/span&gt; 262144 &lt;span class="nt"&gt;--mem-fraction-static&lt;/span&gt; 0.85 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--chunked-prefill-size&lt;/span&gt; 16384 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--host&lt;/span&gt; 0.0.0.0 &lt;span class="nt"&gt;--port&lt;/span&gt; 8001
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Card context is &lt;strong&gt;1M&lt;/strong&gt;; this recipe sets &lt;strong&gt;&lt;code&gt;--context-length 262144&lt;/code&gt;&lt;/strong&gt;. That is the cliff: your prompt + generation must fit the &lt;strong&gt;deployed&lt;/strong&gt; budget, not the brochure. Raising it needs compatible runtime support and enough memory — do not assume 1M is live because the model card says 1M.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do not mix&lt;/strong&gt; BF16 / NVFP4 / MXFP4 files (configs, indexes, shards). USAGE.md is explicit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Client:&lt;/strong&gt; OpenAI-compat against a running service (&lt;code&gt;SERVED_MODEL_NAME=hydrogen-1.0&lt;/code&gt;). For reasoning effort, pick &lt;strong&gt;one&lt;/strong&gt; convention your server actually forwards:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;extra_body={"chat_template_kwargs": {"reasoning_effort": "max"}}&lt;/code&gt;, &lt;strong&gt;or&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;top-level &lt;code&gt;reasoning_effort="max"&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Do not stack both by default. Card demos use &lt;strong&gt;&lt;code&gt;max&lt;/code&gt;&lt;/strong&gt; and &lt;code&gt;max_tokens=4096&lt;/code&gt; as an &lt;strong&gt;illustrative&lt;/strong&gt; budget, not the 128K max-out claim. Check &lt;strong&gt;&lt;code&gt;finish_reason=length&lt;/code&gt;&lt;/strong&gt; (and empty final &lt;code&gt;content&lt;/code&gt;) before you treat a truncated stream as a scientific answer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vendor benches (label as vendor)
&lt;/h2&gt;

&lt;p&gt;From the &lt;strong&gt;2026-11-02&lt;/strong&gt; blog prose only. FSR / GPQA &lt;strong&gt;numeric table rows were not OCR’d&lt;/strong&gt; from the PNG figures — do not invent scores here.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Vendor:&lt;/strong&gt; Hydrogen-1.0 &lt;strong&gt;outperforms GPT-6-Astra&lt;/strong&gt; on &lt;strong&gt;FrontierScience-Research (FSR)&lt;/strong&gt; and &lt;strong&gt;improves over GLM-5.3&lt;/strong&gt; on &lt;strong&gt;GPQA-Diamonds&lt;/strong&gt;, &lt;strong&gt;roughly matching Kimi-K3&lt;/strong&gt; in their evaluations.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Internal task deltas (vendor prose vs Astra at max thinking):&lt;/strong&gt; scientific computing &lt;strong&gt;+5.13 pp&lt;/strong&gt;, forward reactions &lt;strong&gt;+4.76 pp&lt;/strong&gt;; Astra still ahead on NMR structure elucidation by &lt;strong&gt;3.33 pp&lt;/strong&gt;.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TMC discovery (vendor):&lt;/strong&gt; by round five, mean best-so-far HOMO–LUMO gap &lt;strong&gt;4.318 eV&lt;/strong&gt; (Hydrogen) vs &lt;strong&gt;3.689 eV&lt;/strong&gt; (Astra) / &lt;strong&gt;3.353 eV&lt;/strong&gt; (Kimi-K3), same initial population, independent feedback histories.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Useful as a map of where &lt;em&gt;they&lt;/em&gt; want you to look. Useless as a substitute for your own tickets, tools, and lab constraints. Same series rule: vendor framing ≠ merge into prod.&lt;/p&gt;

&lt;h2&gt;
  
  
  Checklist before you trust it for science work
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Freeze a golden eval&lt;/strong&gt; on &lt;em&gt;your&lt;/em&gt; scientific tickets (derivations, reaction / NMR cases, protocol drafting, tool-using MD or ELN loops you actually run). FSR / GPQA are someone else’s harness.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gate accept&lt;/strong&gt; on BF16 if you need unquantized weights; or pick the &lt;strong&gt;ungated&lt;/strong&gt; NVFP4 / MXFP4 path that matches your GPUs.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pick one quant path&lt;/strong&gt; and keep its files together — no BF16/NVFP4/MXFP4 mashups.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Budget context from the launch flags&lt;/strong&gt;, not the 1M card line. NVFP4 recipe = &lt;strong&gt;262K&lt;/strong&gt; until you prove otherwise.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pin &lt;code&gt;reasoning_effort&lt;/code&gt; placement&lt;/strong&gt; (template kwargs &lt;em&gt;or&lt;/em&gt; top-level) and pin &lt;code&gt;served-model-name hydrogen-1.0&lt;/code&gt;.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Treat outputs as drafts.&lt;/strong&gt; Card language: assess against assumptions, constraints, and evidence; do not treat model text as verified experimental findings or as grounds for health/safety decisions.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watch truncation:&lt;/strong&gt; demo &lt;code&gt;max_tokens=4096&lt;/code&gt; is not a research budget; inspect &lt;code&gt;finish_reason&lt;/code&gt;.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Do not conflate&lt;/strong&gt; blog FSR/GPQA claims, internal pp deltas, TMC eV gaps, and any third-party index you have not opened yourself.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What I actually ran (offline)
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;/workspace/reputation/runs/32-hydrogen-1.0/&lt;/code&gt; — &lt;strong&gt;2026-11-03 22:04 Asia/Shanghai (CST)&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NO API KEY / NO WEIGHT DOWNLOAD / NO CHAT COMPLETION / NO SGLang

HTTP 200: blog.deepprinciple.com/introducing-hydrogen-1.0/
HTTP 200: huggingface.co/deep-principle/Hydrogen-1.0 (+ API JSON)
HTTP 200: huggingface.co/deep-principle/Hydrogen-1.0-NVFP4 (+ API JSON)
HTTP 200: huggingface.co/deep-principle/Hydrogen-1.0-MXFP4 (+ API JSON)
HTTP 200: forkalt.com/models/hydrogen-1-0/
HTTP 200: theagenticweekly.com/news/models

HF API (this preflight): BF16 likes 200 dl 56; NVFP4 likes 7 dl 572; MXFP4 likes 8 dl 1047
Local copies: USAGE.md, NVFP4-README.md, MXFP4-README.md, LICENSE (MIT © 2026 Deep Principle / Z.AI)

NOT tested: weight download; SGLang/ATOM serve; chat completion; ModelScope;
NeuroSpark API; Mira; FSR/GPQA re-score; OCR of blog PNG figures; VRAM measure
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  When Hydrogen-1.0 might become a science default
&lt;/h2&gt;

&lt;p&gt;Only after a callable path and a golden eval win on &lt;em&gt;your&lt;/em&gt; problems:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You need an &lt;strong&gt;open MIT&lt;/strong&gt; science MoE and can accept gate + disk (BF16) or a Blackwell / Instinct quant path.
&lt;/li&gt;
&lt;li&gt;You have chosen &lt;strong&gt;quant + context budget&lt;/strong&gt; knowingly (especially the &lt;strong&gt;262K&lt;/strong&gt; NVFP4 cliff).
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;reasoning_effort&lt;/code&gt; and stop tokens are pinned; truncation is monitored.
&lt;/li&gt;
&lt;li&gt;Vendor FSR / Astra framing is treated as a map, not a certificate.
&lt;/li&gt;
&lt;li&gt;You can roll back without rewriting the lab toolchain.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you only have a laptop GPU and no B300 / MI350X class box, this drop is the wrong trigger for local serve — use the blog’s API/product labels only after you open them yourself. If you already run SGLang on eight high-memory GPUs and your failures are chemistry / materials reasoning tickets, Hydrogen-1.0 is a same-week candidate for a &lt;strong&gt;side-by-side&lt;/strong&gt;, not because the Astra FSR sentence is gospel, but because the weights and recipes are concrete enough to instrument.&lt;/p&gt;

&lt;p&gt;Hydrogen-1.0’s builder-relevant release is the &lt;strong&gt;MIT open-weight science MoE&lt;/strong&gt;, the &lt;strong&gt;gated BF16 vs ungated NVFP4/MXFP4&lt;/strong&gt; split, the &lt;strong&gt;262K context cliff&lt;/strong&gt; on the NVFP4 recipe, and &lt;strong&gt;vendor&lt;/strong&gt; FSR / GPQA / internal deltas labeled as such. Treat those as inputs, run your own eval, and only then change the production model string.&lt;/p&gt;




&lt;p&gt;— YongBo Yu · Toronto AI engineer · &lt;a href="https://yongbo-yu.vercel.app" rel="noopener noreferrer"&gt;yongbo-yu.vercel.app&lt;/a&gt; · &lt;a href="https://github.com/YongBoYu1" rel="noopener noreferrer"&gt;GitHub @YongBoYu1&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>opensource</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>LongCat-2.5 at $0.30/$1.20: Thinking Locks Temperature, 1M Context, and Vendor Benches Between Opus 4.8 and 5</title>
      <dc:creator>Yong Yu</dc:creator>
      <pubDate>Mon, 02 Nov 2026 14:14:55 +0000</pubDate>
      <link>https://dev.to/yong_yu_f98e15562e9b120a0/longcat-25-at-030120-thinking-locks-temperature-1m-context-and-vendor-benches-between-opus-4i52</link>
      <guid>https://dev.to/yong_yu_f98e15562e9b120a0/longcat-25-at-030120-thinking-locks-temperature-1m-context-and-vendor-benches-between-opus-4i52</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Attributed compile + one small offline run on my box&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Primary source:&lt;/strong&gt; &lt;a href="https://longcat.ai/blog/longcat-2.5/" rel="noopener noreferrer"&gt;Introducing LongCat-2.5 — Native Multimodality for Agentic Tasks&lt;/a&gt; by &lt;strong&gt;Meituan / LongCat team&lt;/strong&gt;, published &lt;strong&gt;2026-11-1&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Pricing / billing:&lt;/strong&gt; &lt;a href="https://longcat.ai/platform/docs/pricing/longcat-2.5" rel="noopener noreferrer"&gt;LongCat-2.5 pricing&lt;/a&gt; and &lt;a href="https://longcat.ai/platform/docs/api-pay-as-you-go" rel="noopener noreferrer"&gt;API Pay-As-You-Go&lt;/a&gt; (limited-time discounted rates; platform billing authoritative).&lt;br&gt;&lt;br&gt;
&lt;strong&gt;API:&lt;/strong&gt; &lt;a href="https://longcat.ai/platform/docs/api/chat" rel="noopener noreferrer"&gt;Chat Completions&lt;/a&gt; + &lt;a href="https://longcat.ai/platform/docs/" rel="noopener noreferrer"&gt;Platform Quick Start&lt;/a&gt; — OpenAI-compat &lt;code&gt;https://api.longcat.chat/openai&lt;/code&gt;, Anthropic-compat &lt;code&gt;https://api.longcat.chat/anthropic&lt;/code&gt;, model id &lt;strong&gt;&lt;code&gt;LongCat-2.5&lt;/code&gt;&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Secondary CN press:&lt;/strong&gt; &lt;a href="https://www.meituan.com/news/NN261102280001343" rel="noopener noreferrer"&gt;美团发布LongCat-2.5大模型，“国模国芯”实现新突破&lt;/a&gt; (Meituan / 经济观察报 framing, &lt;strong&gt;2026-11-02&lt;/strong&gt;) for the “scores between Claude-Opus-4.8 and Claude-Opus-5” claim and product/API availability.&lt;br&gt;&lt;br&gt;
Benchmarks and prices below are &lt;strong&gt;vendor-reported&lt;/strong&gt; unless I say otherwise. This box did &lt;strong&gt;not&lt;/strong&gt; call chat completions. Offline preflight = public HTTP scrapes + list-price arithmetic only.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Meituan shipped &lt;strong&gt;LongCat-2.5&lt;/strong&gt; on &lt;strong&gt;2026-11-1&lt;/strong&gt; (blog) with wide coverage on &lt;strong&gt;2026-11-2&lt;/strong&gt;: a &lt;strong&gt;1.6T&lt;/strong&gt;-parameter MoE (~&lt;strong&gt;48B&lt;/strong&gt; activated per token) pitched as a &lt;strong&gt;native multimodal&lt;/strong&gt; model for &lt;strong&gt;long-horizon agentic&lt;/strong&gt; work. For builders, the useful story is not “another 万亿 MoE.” It is four concrete checks: (1) &lt;strong&gt;OpenAI- and Anthropic-compatible&lt;/strong&gt; endpoints with a single model string, (2) a &lt;strong&gt;&lt;code&gt;thinking&lt;/code&gt;&lt;/strong&gt; object that &lt;strong&gt;forces temperature&lt;/strong&gt; (1.0 on / 0.7 off), (3) limited-time list price &lt;strong&gt;$0.30 / $0.006 cached / $1.20&lt;/strong&gt; per 1M tokens, and (4) &lt;strong&gt;vendor&lt;/strong&gt; benches that Meituan’s own CN framing places &lt;strong&gt;between Claude Opus 4.8 and Opus 5&lt;/strong&gt; — which is a reason to &lt;strong&gt;run your golden eval&lt;/strong&gt;, not a reason to merge their table into your prod decision.&lt;/p&gt;

&lt;p&gt;Try-it surface is &lt;strong&gt;longcat.ai&lt;/strong&gt;; developers get a prepaid Pay-As-You-Go API the same week. That is enough to A/B against a current default &lt;strong&gt;without&lt;/strong&gt; waiting for open weights — and also enough to over-trust a vendor dashboard if you skip your own tickets.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it is (short)
&lt;/h2&gt;

&lt;p&gt;LongCat-2.5 builds on &lt;strong&gt;LongCat-2.0&lt;/strong&gt; with stronger native visual understanding and agentic coding (vendor). Visual signals are represented as &lt;strong&gt;multi-level discrete tokens&lt;/strong&gt; (RVQ over a Semantic-and-Aligned Encoder / SAE-style path), so vision and text share a unified token stream. Training emphasis is &lt;strong&gt;long-horizon RL&lt;/strong&gt;: more long trajectories in long-sequence training, failure trajectories turned into verifiable tasks, mixed training across harnesses. Infra notes (for context only): long-context training and &lt;strong&gt;W4A4&lt;/strong&gt; inference on domestic AI accelerators; vendor online stress vs W8A8 INT8 cites prefill &lt;strong&gt;+43.3%&lt;/strong&gt;, decode &lt;strong&gt;+42.77%&lt;/strong&gt;, TTFT &lt;strong&gt;−15.91%&lt;/strong&gt;, TPOT &lt;strong&gt;−19.72%&lt;/strong&gt;, GMM kernel ~&lt;strong&gt;1.73×&lt;/strong&gt;. That is serving math, not permission to skip quality gates.&lt;/p&gt;

&lt;p&gt;Site / docs language also says the model works across &lt;strong&gt;Claude Code&lt;/strong&gt;, &lt;strong&gt;Codex&lt;/strong&gt;, and &lt;strong&gt;Hermes&lt;/strong&gt; harnesses. Treat that as &lt;strong&gt;compatibility marketing&lt;/strong&gt; until you wire one harness and measure your own tasks. Blog eval footnotes themselves show different harnesses per bench (Claude Code on several coding rows, Codex on SkillsBench, custom browse harness on BrowseComp) — another reminder that “works across” is not “one config wins every leaderboard.”&lt;/p&gt;

&lt;p&gt;Skip the deep train–inference / supernode digression for day-one integration. Remember only: long context (&lt;strong&gt;1M&lt;/strong&gt;) is a first-class claim, multimodal is native (not a bolted vision sidecar in the marketing story), and agentic RL is the capability bet.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to call it: dual endpoints + the temperature lock
&lt;/h2&gt;

&lt;p&gt;Platform docs advertise two bases:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Format&lt;/th&gt;
&lt;th&gt;Base URL&lt;/th&gt;
&lt;th&gt;Typical path&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;OpenAI-compatible&lt;/td&gt;
&lt;td&gt;&lt;code&gt;https://api.longcat.chat/openai&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/v1/chat/completions&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Anthropic-compatible&lt;/td&gt;
&lt;td&gt;&lt;code&gt;https://api.longcat.chat/anthropic&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/v1/messages&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Model id:&lt;/strong&gt; &lt;code&gt;LongCat-2.5&lt;/code&gt;. Context window: &lt;strong&gt;1M&lt;/strong&gt; tokens; max output: &lt;strong&gt;128K&lt;/strong&gt;. Default &lt;code&gt;top_p&lt;/code&gt; on chat docs: &lt;strong&gt;0.95&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Thinking is an object, not a free-form string:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="nl"&gt;"thinking"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"enabled"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or &lt;code&gt;{ "type": "disabled" }&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trap:&lt;/strong&gt; chat docs say &lt;strong&gt;temperature is fixed at &lt;code&gt;1.0&lt;/code&gt; with thinking enabled and &lt;code&gt;0.7&lt;/code&gt; with thinking disabled&lt;/strong&gt;; other values are &lt;strong&gt;overridden&lt;/strong&gt;. If your client still sends &lt;code&gt;temperature: 0&lt;/code&gt; from an older Anthropic/OpenAI template, you are not getting determinism — you are getting the forced default for the thinking mode you picked. Eval note on the blog: LongCat-2.5 rows use &lt;code&gt;enable_thinking=on&lt;/code&gt;, &lt;code&gt;temperature=1.0&lt;/code&gt;, &lt;code&gt;top_p=0.95&lt;/code&gt; unless specified; other models marked &lt;code&gt;*&lt;/code&gt; are public reports.&lt;/p&gt;

&lt;p&gt;OpenAI SDK shape is the usual &lt;code&gt;base_url="https://api.longcat.chat/openai"&lt;/code&gt; + Bearer key. Anthropic SDK path uses &lt;code&gt;https://api.longcat.chat/anthropic&lt;/code&gt; with the docs’ header pattern (&lt;code&gt;Authorization: Bearer …&lt;/code&gt; plus Anthropic-style body). Pick &lt;strong&gt;one&lt;/strong&gt; client stack for the A/B; do not flip formats mid-eval or you will confuse tool-schema bugs with model bugs.&lt;/p&gt;

&lt;p&gt;Builder rule: set &lt;strong&gt;&lt;code&gt;thinking&lt;/code&gt; explicitly per route&lt;/strong&gt;, assume temperature will be &lt;strong&gt;clamped&lt;/strong&gt;, and pin the base URL + model string in config — do not guess. If you need lower temperature for classification, you likely want &lt;strong&gt;thinking disabled&lt;/strong&gt; (and you still get &lt;strong&gt;0.7&lt;/strong&gt;, not 0.0). Document that in the route table so the next engineer does not “fix” sampling with a dead knob.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vendor benches (label as vendor)
&lt;/h2&gt;

&lt;p&gt;From the LongCat-2.5 blog metrics table (selected high-signal rows). &lt;strong&gt;LongCat-2.5 only&lt;/strong&gt; below; peer columns exist on the source page — do not invent third-party re-scores here.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Benchmark (vendor table)&lt;/th&gt;
&lt;th&gt;LongCat-2.5&lt;/th&gt;
&lt;th&gt;vs LongCat-2.0 (same table)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Terminal Bench v2.1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;88.4&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;70.8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Terminal Bench v4.0&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;38.5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;3.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DeepSWE v1.1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;64.6&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;9.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PaperBench&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;82.1&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;45.2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BrowseComp&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;91.9&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;79.9&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AutomationBench v1.0.6&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;51.8&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;15.8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HLE w/tools&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;63.1&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;37.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vision2Web&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;78.6&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3DCodeBench Text→3D&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;55.4&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Meituan’s &lt;strong&gt;2026-11-02&lt;/strong&gt; CN press frames results as sitting &lt;strong&gt;between Claude-Opus-4.8 and Claude-Opus-5&lt;/strong&gt; on several mainstream benches (and exceeding Opus-5 on some). That is a &lt;strong&gt;vendor / press claim&lt;/strong&gt; next to their own charts — useful as a map of where &lt;em&gt;they&lt;/em&gt; want you to look, useless as a substitute for your golden set. Same caution as this series always uses: do not paste “between Opus 4.8 and 5” into a slide that implies an independent Artificial Analysis or third-party harness unless that harness is cited.&lt;/p&gt;

&lt;p&gt;Jump vs 2.0 on Terminal Bench v4.0 (&lt;strong&gt;3.0 → 38.5&lt;/strong&gt;) and DeepSWE (&lt;strong&gt;9.7 → 64.6&lt;/strong&gt;) is the internal “agentic coding moved” signal. Still: those are &lt;strong&gt;their&lt;/strong&gt; runs with &lt;strong&gt;their&lt;/strong&gt; thinking/temp settings. Replicate on your repos before you retire the incumbent model string.&lt;/p&gt;

&lt;h2&gt;
  
  
  List price: $0.30 / $0.006 cached / $1.20 (limited-time)
&lt;/h2&gt;

&lt;p&gt;Pay-As-You-Go currently lists &lt;strong&gt;LongCat-2.5&lt;/strong&gt; at discounted (limited-time) rates:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Item&lt;/th&gt;
&lt;th&gt;USD / 1M tokens&lt;/th&gt;
&lt;th&gt;CNY / 1M tokens&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Uncached input&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$0.30&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;¥2&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cached input&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$0.006&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;¥0.04&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Output&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$1.20&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;¥8&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Prices are subject to change; platform UI + billing records win. Failed requests (&lt;strong&gt;401 / 403 / 429 / 500&lt;/strong&gt;) are &lt;strong&gt;not&lt;/strong&gt; billed; only &lt;strong&gt;HTTP 200&lt;/strong&gt; is.&lt;/p&gt;

&lt;h3&gt;
  
  
  List-price arithmetic (my assumptions — not a bill)
&lt;/h3&gt;

&lt;p&gt;Offline preflight used those three USD rates only. &lt;strong&gt;Assumptions:&lt;/strong&gt; one trajectory = &lt;strong&gt;80k input + 20k output&lt;/strong&gt;; “80% cache hit” means 80% of &lt;em&gt;input&lt;/em&gt; tokens bill at the cached rate; no tax, retries, or tool-overhead tokens.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Scenario&lt;/th&gt;
&lt;th&gt;USD (list math)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1 traj, no cache&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$0.0480&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1 traj, 80% input cache&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$0.0292&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;40-turn loop, no cache&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$1.9200&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;40-turn loop, 80% input cache&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$1.1674&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1M in + 1M out, no cache&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$1.5000&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Cache is the swing factor on long agent loops. Thinking-on also tends to inflate &lt;strong&gt;reasoning / output&lt;/strong&gt; tokens relative to thinking-off — price the knob and the rate card together, and remember temperature will not save you from that inflation. For a rough sanity check: at these list rates, &lt;strong&gt;1M in + 1M out&lt;/strong&gt; is &lt;strong&gt;$1.50&lt;/strong&gt; before cache; an 80k/20k turn with fat prefix reuse lands closer to &lt;strong&gt;~$0.03&lt;/strong&gt; if the 80% cache assumption holds. Measure real &lt;code&gt;cached&lt;/code&gt; vs &lt;code&gt;uncached&lt;/code&gt; fields on usage before you put the middle rows in a forecast.&lt;/p&gt;

&lt;p&gt;CNY list (&lt;strong&gt;¥2 / ¥0.04 / ¥8&lt;/strong&gt;) is on the same docs pages — use it if you bill in RMB; this post’s arithmetic sticks to USD for series consistency.&lt;/p&gt;

&lt;h2&gt;
  
  
  Checklist before you swap
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Freeze a golden eval&lt;/strong&gt; on &lt;em&gt;your&lt;/em&gt; agent failures (repo patches, terminal tasks, browse/tool traces, visual coding if that is your product). Vendor TB / BrowseComp / Vision2Web are someone else’s harness.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pin base URL + model id&lt;/strong&gt; — &lt;code&gt;LongCat-2.5&lt;/code&gt; on either &lt;code&gt;api.longcat.chat/openai&lt;/code&gt; or &lt;code&gt;…/anthropic&lt;/code&gt;. Confirm which SDK headers your client needs (Anthropic path wants the usual Anthropic-shaped request).
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Set &lt;code&gt;thinking&lt;/code&gt; explicitly.&lt;/strong&gt; Assume &lt;strong&gt;temperature is overridden&lt;/strong&gt; (1.0 on / 0.7 off). Do not rely on a silent &lt;code&gt;temperature: 0&lt;/code&gt; from old templates.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Price both columns:&lt;/strong&gt; list $0.30/$1.20/$0.006 &lt;em&gt;and&lt;/em&gt; expected output tokens with thinking on. Re-run the arithmetic with your real prompt sizes. Treat rates as &lt;strong&gt;limited-time&lt;/strong&gt;.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Harness claim ≠ drop-in.&lt;/strong&gt; If you use Claude Code / Codex / Hermes, prove one path with your tools and auth before you rewrite defaults.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multimodal only if you need it.&lt;/strong&gt; Discrete visual tokens are the product story; your golden set should include the visual tasks you actually ship.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Billing hygiene:&lt;/strong&gt; prepaid balance; only HTTP 200 billed; do not forecast from failed 429 storms.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Do not conflate&lt;/strong&gt; Meituan vendor rows, CN “between Opus 4.8 and 5” framing, and any third-party index you have not opened yourself.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What I actually ran (offline)
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;/workspace/reputation/runs/31-longcat-2.5/&lt;/code&gt; — 2026-11-02 America/Toronto:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;LONGCAT_API_KEY: NOT SET
Chat completions: NOT ATTEMPTED

HTTP 200: longcat.ai/blog/longcat-2.5/
HTTP 200: platform pricing + pay-as-you-go + chat + docs + homepage
HTTP 200: meituan.com CN press (Opus 4.8–5 framing)
Needle hits: $0.30 / $0.006 / $1.20, LongCat-2.5, openai/anthropic bases,
             thinking + temperature lock language, 1M/128K, Claude Code/Codex/Hermes

List-price math (assumptions above):
  1 traj no cache $0.0480 | 80% cache $0.0292
  40-turn no cache $1.9200 | 80% cache $1.1674
  1M+1M $1.5000

NOT tested: live chat; thinking/temp override live; harness wiring;
Terminal Bench / DeepSWE / BrowseComp re-score; real cache hits; W4A4 latency
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Costs are arithmetic on LongCat’s stated limited-time list rates under assumptions I state. They are not a bill, not latency, and not quality.&lt;/p&gt;

&lt;h2&gt;
  
  
  When LongCat-2.5 might become a default
&lt;/h2&gt;

&lt;p&gt;Only after a callable path and a golden eval win on &lt;em&gt;your&lt;/em&gt; tickets:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Long-horizon coding / agent loops where your current default fails and an OpenAI- or Anthropic-shaped client is already in the stack.
&lt;/li&gt;
&lt;li&gt;You have chosen &lt;strong&gt;thinking on/off per route&lt;/strong&gt;, knowing temperature is &lt;strong&gt;locked&lt;/strong&gt;.
&lt;/li&gt;
&lt;li&gt;Cost model survives realistic cache &lt;strong&gt;and&lt;/strong&gt; thinking-on output inflation at $0.30/$1.20.
&lt;/li&gt;
&lt;li&gt;You verified the harness you actually run (not only the brochure list).
&lt;/li&gt;
&lt;li&gt;You can roll back without rewriting orchestration.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you are already deep in Anthropic- or OpenAI-shaped agent code, LongCat-2.5 is a &lt;strong&gt;same-week&lt;/strong&gt; candidate for a side-by-side — not because the Opus framing is gospel, but because the integration surface is familiar and the list price is easy to model. If you need open weights, local GPUs, or a third-party index row before you trial anything, this drop is the wrong trigger; wait for a surface that matches that constraint.&lt;/p&gt;

&lt;p&gt;LongCat-2.5’s builder-relevant release is the &lt;strong&gt;dual-compat API&lt;/strong&gt;, the &lt;strong&gt;thinking/temperature lock&lt;/strong&gt;, the &lt;strong&gt;$0.30/$1.20&lt;/strong&gt; limited-time card, and &lt;strong&gt;vendor&lt;/strong&gt; benches framed near Opus 4.8–5. Treat those as labeled inputs, run your own eval, and only then change the production model string.&lt;/p&gt;




&lt;p&gt;YongBo Yu · Toronto AI engineer · &lt;a href="https://yongbo-yu.vercel.app" rel="noopener noreferrer"&gt;https://yongbo-yu.vercel.app&lt;/a&gt; · GitHub YongBoYu1&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>ai</category>
      <category>llm</category>
      <category>agents</category>
    </item>
    <item>
      <title>Mistral Large 4 Open Weights: Vendor TB 41% vs AA's 25%, High Default Effort, and $0.70/$2.10 Before You Self-Host</title>
      <dc:creator>Yong Yu</dc:creator>
      <pubDate>Fri, 30 Oct 2026 13:23:21 +0000</pubDate>
      <link>https://dev.to/yong_yu_f98e15562e9b120a0/mistral-large-4-open-weights-vendor-tb-41-vs-aas-25-high-default-effort-and-070210-3p4k</link>
      <guid>https://dev.to/yong_yu_f98e15562e9b120a0/mistral-large-4-open-weights-vendor-tb-41-vs-aas-25-high-default-effort-and-070210-3p4k</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Attributed compile + one small offline run on my box&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Primary source:&lt;/strong&gt; &lt;a href="https://mistral.ai/news/mistral-large-4-oss/" rel="noopener noreferrer"&gt;Mistral Large 4 (Le Chonk) is now open weight&lt;/a&gt; by &lt;strong&gt;Mistral AI&lt;/strong&gt;, published &lt;strong&gt;2026-10-29&lt;/strong&gt; (weights after ~3 weeks of extra RL since the early-October public preview).&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Secondary:&lt;/strong&gt; &lt;a href="https://huggingface.co/blog/mistral-large4" rel="noopener noreferrer"&gt;Welcome Le Chonk: Mistral Large 4 on Hugging Face&lt;/a&gt; by &lt;strong&gt;Aritra Roy Gosthipaty&lt;/strong&gt; (Hugging Face, 2026-10-29); &lt;a href="https://venturebeat.com/technology/mistral-large-4-le-chonk-arrives-as-the-top-open-model-outside-china-with-improved-coding-performance-and-63-lower-cost-per-task" rel="noopener noreferrer"&gt;VentureBeat — Carl Franzen&lt;/a&gt; for the Artificial Analysis vs Mistral Terminal-Bench / FrontierCode split and token-per-task notes (live VB fetch returned HTTP 429 on this draft day — numbers below follow Mistral’s post + the VB figures already confirmed for this series; do not treat a blocked fetch as missing coverage).&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Model id / card:&lt;/strong&gt; &lt;a href="https://huggingface.co/mistralai/Mistral-Large-4-1T-A52B" rel="noopener noreferrer"&gt;&lt;code&gt;mistralai/Mistral-Large-4-1T-A52B&lt;/code&gt;&lt;/a&gt; (also FP8 / NVFP4 / GGUF siblings).&lt;br&gt;&lt;br&gt;
Benchmarks and prices below are &lt;strong&gt;vendor-reported&lt;/strong&gt; (or clearly attributed to HF / VentureBeat’s reading of Artificial Analysis) unless I say otherwise. This box did &lt;strong&gt;not&lt;/strong&gt; call chat completions and did &lt;strong&gt;not&lt;/strong&gt; download weights. Offline preflight = public HTTP scrapes + list-price arithmetic only.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Mistral dropped &lt;strong&gt;open weights&lt;/strong&gt; for &lt;strong&gt;Mistral Large 4&lt;/strong&gt; (“&lt;strong&gt;Le Chonk&lt;/strong&gt;”) on &lt;strong&gt;2026-10-29&lt;/strong&gt;: a ~&lt;strong&gt;1T&lt;/strong&gt;-parameter natively multimodal MoE that had already been in public preview earlier in October. The OSS-day story is not “a new model family name.” It is &lt;strong&gt;more RL since preview&lt;/strong&gt;, a &lt;strong&gt;reasoning-effort knob&lt;/strong&gt;, a &lt;strong&gt;list price&lt;/strong&gt;, and a license with a &lt;strong&gt;MaaS commercial gate&lt;/strong&gt;. For builders, the useful move is: separate &lt;strong&gt;Mistral’s charts&lt;/strong&gt; from &lt;strong&gt;Artificial Analysis’s own evals&lt;/strong&gt;, set effort deliberately (default is &lt;strong&gt;high&lt;/strong&gt;), and decide &lt;strong&gt;API vs self-host&lt;/strong&gt; before you swap a production model string.&lt;/p&gt;

&lt;p&gt;Repo naming on Hugging Face is &lt;strong&gt;&lt;code&gt;Mistral-Large-4-1T-A52B&lt;/code&gt;&lt;/strong&gt;. The model card frames roughly &lt;strong&gt;~1T total / ~52B active&lt;/strong&gt; (granular MoE: &lt;strong&gt;128&lt;/strong&gt; routed experts, &lt;strong&gt;4&lt;/strong&gt; active + &lt;strong&gt;1&lt;/strong&gt; shared). An HF blog line once said &lt;strong&gt;49B&lt;/strong&gt; active — prefer the &lt;strong&gt;A52B&lt;/strong&gt; / card naming when you write configs. Context is &lt;strong&gt;1M&lt;/strong&gt; tokens on the card. Architecture (short): MLA + DSA-style sparse attention, Pixtral vision encoder — enough to know it is sparse MoE + long context, not enough to skip a golden eval.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do not merge vendor benches with Artificial Analysis numbers
&lt;/h2&gt;

&lt;p&gt;Mistral’s OSS post leads with coding agent claims. Label every row as &lt;strong&gt;who measured it&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Mistral-reported (OSS post, 2026-10-29)
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Claim (Mistral / named partner)&lt;/th&gt;
&lt;th&gt;Figure&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Cognition FrontierCode 2.0 (private)&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;19.7%&lt;/strong&gt; lead (vendor)&lt;/td&gt;
&lt;td&gt;End-to-end “would a maintainer merge?” framing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Artificial Analysis Coding Agent Index&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;48%&lt;/strong&gt;, effectively tied with &lt;strong&gt;GLM-5.3&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Mistral also claims &lt;strong&gt;~47% fewer tokens/task&lt;/strong&gt; vs that peer on average&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Terminal-Bench 4.0&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;41%&lt;/strong&gt; (&lt;strong&gt;+13 pp&lt;/strong&gt; vs preview)&lt;/td&gt;
&lt;td&gt;Mistral says lead among open-weight in &lt;strong&gt;their&lt;/strong&gt; chart; &lt;strong&gt;~30%&lt;/strong&gt; fewer output tokens vs preview&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AA Cyber Index&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;51%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Defensive find / reproduce / patch framing (vendor)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Malicious cyber refusal (Mistral measure)&lt;/td&gt;
&lt;td&gt;avg &lt;strong&gt;96.6%&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;JailbreakBench / StrongREJECT / AgentHarm cyber prompts — &lt;strong&gt;their&lt;/strong&gt; open-model comparison&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Finch&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;73.3%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Finance / spreadsheet workflows (vendor)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BrowseComp&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;84.5%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;From an SFT checkpoint Mistral cites at &lt;strong&gt;75%&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B3 agent security attack resistance&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;97.1%&lt;/strong&gt; (preview &lt;strong&gt;93.3%&lt;/strong&gt;)&lt;/td&gt;
&lt;td&gt;Prompt-injection / agent-attack resistance (vendor)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;VentureBeat’s roundup is useful because it &lt;strong&gt;puts Mistral’s numbers next to Artificial Analysis Intelligence Index rows&lt;/strong&gt; without pretending they are the same harness:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Mistral claim&lt;/th&gt;
&lt;th&gt;AA Intelligence Index eval (per VentureBeat)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Terminal-Bench 4.0&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;41%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;25%&lt;/strong&gt; (ML4 &lt;strong&gt;high&lt;/strong&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;FrontierCode&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;19.7%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;15%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Same model name, different eval contexts. &lt;strong&gt;Do not&lt;/strong&gt; paste “41% TB4” into a slide that cites AA’s Intelligence Index table, and &lt;strong&gt;do not&lt;/strong&gt; call AA’s &lt;strong&gt;25%&lt;/strong&gt; a Mistral walk-back. HF’s launch blog still surfaces some &lt;strong&gt;preview-era&lt;/strong&gt; coding rows (e.g. Terminal-Bench &lt;strong&gt;28.3%&lt;/strong&gt;, Coding Agent Index ~&lt;strong&gt;49.8%&lt;/strong&gt; in that post’s table). Treat those as &lt;strong&gt;not&lt;/strong&gt; the OSS-day Terminal-Bench claim of &lt;strong&gt;41%&lt;/strong&gt; after more RL. When in doubt: cite the &lt;strong&gt;date + source&lt;/strong&gt;, or re-run your own tasks.&lt;/p&gt;

&lt;p&gt;Token efficiency (Mistral + VB reading): on Coding Agent Index work, Mistral positions ML4 near GLM-5.3 on score while using far fewer tokens — VB cites roughly &lt;strong&gt;~8.5M tokens/task&lt;/strong&gt; vs GLM &lt;strong&gt;~15.9M&lt;/strong&gt; (~&lt;strong&gt;47%&lt;/strong&gt; less). That is &lt;strong&gt;cost/latency leverage&lt;/strong&gt;, not permission to skip quality gates.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reasoning modes: low / medium / high — and &lt;code&gt;none&lt;/code&gt; still means high
&lt;/h2&gt;

&lt;p&gt;OSS-day ML4 exposes three reasoning modes (Mistral table):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Mode&lt;/th&gt;
&lt;th&gt;Mistral’s recommended use&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Low&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Simple tasks; &lt;strong&gt;replaces&lt;/strong&gt; the old &lt;strong&gt;None&lt;/strong&gt; mode&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Medium&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Everyday tasks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;High&lt;/strong&gt; (&lt;strong&gt;default&lt;/strong&gt;)&lt;/td&gt;
&lt;td&gt;Hardest / high-precision work&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Hugging Face’s Transformers / Inference Endpoints notes match the trap: &lt;code&gt;reasoning_effort&lt;/code&gt; accepts &lt;strong&gt;&lt;code&gt;low&lt;/code&gt; | &lt;code&gt;medium&lt;/code&gt; | &lt;code&gt;high&lt;/code&gt;&lt;/strong&gt;, default &lt;strong&gt;&lt;code&gt;high&lt;/code&gt;&lt;/strong&gt;, and &lt;strong&gt;&lt;code&gt;none&lt;/code&gt; still maps to high&lt;/strong&gt; — reasoning is not truly off. If your migration code still sends &lt;code&gt;none&lt;/code&gt; from an older Mistral preview client, you are &lt;strong&gt;not&lt;/strong&gt; getting a cheap no-think path; you are paying &lt;strong&gt;high&lt;/strong&gt; by default.&lt;/p&gt;

&lt;p&gt;Builder rule: set effort &lt;strong&gt;explicitly&lt;/strong&gt; per route. Use &lt;strong&gt;low&lt;/strong&gt; for classification / short edits, &lt;strong&gt;medium&lt;/strong&gt; for normal agent turns, &lt;strong&gt;high&lt;/strong&gt; only where your eval shows it earns the tokens. Leaving the default untouched is a silent bill and latency multiplier.&lt;/p&gt;

&lt;h2&gt;
  
  
  List price: $0.70 in / $0.07 cached / $2.10 out
&lt;/h2&gt;

&lt;p&gt;Mistral says that &lt;strong&gt;starting today&lt;/strong&gt; (OSS announce day) API list price is &lt;strong&gt;$0.70&lt;/strong&gt; input / &lt;strong&gt;$0.07&lt;/strong&gt; cached input / &lt;strong&gt;$2.10&lt;/strong&gt; output &lt;strong&gt;per 1M tokens&lt;/strong&gt;. Hosted surfaces named in the post: &lt;strong&gt;Mistral Studio&lt;/strong&gt;, &lt;strong&gt;Mistral API&lt;/strong&gt;, &lt;strong&gt;OpenRouter&lt;/strong&gt;, plus &lt;strong&gt;NVIDIA NIM&lt;/strong&gt; / hosted endpoints and &lt;strong&gt;Microsoft Foundry&lt;/strong&gt;. Self-host path: Hugging Face weights + &lt;strong&gt;vLLM&lt;/strong&gt; or &lt;strong&gt;SGLang&lt;/strong&gt; (FP8 and &lt;strong&gt;NVFP4&lt;/strong&gt; official; GGUFs from Unsloth / llama.cpp).&lt;/p&gt;

&lt;h3&gt;
  
  
  List-price arithmetic (my assumptions — not a bill)
&lt;/h3&gt;

&lt;p&gt;Offline preflight used those three rates only. &lt;strong&gt;Assumptions:&lt;/strong&gt; one trajectory = &lt;strong&gt;80k input + 20k output&lt;/strong&gt;; “80% cache hit” means 80% of &lt;em&gt;input&lt;/em&gt; tokens bill at the cached rate; no tax, retries, or tool-overhead tokens.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Scenario&lt;/th&gt;
&lt;th&gt;USD (list math)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1 traj, no cache&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$0.0980&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1 traj, 80% input cache&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$0.0577&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;40-turn loop, no cache&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$3.9200&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;40-turn loop, 80% input cache&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$2.3072&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1M in + 1M out, no cache&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$2.8000&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Cache is the swing factor on long agent loops. Measure real hit rates before you put the middle rows in a forecast. Effort=&lt;strong&gt;high&lt;/strong&gt; will also inflate &lt;strong&gt;output&lt;/strong&gt; tokens relative to &lt;strong&gt;low&lt;/strong&gt; — price the effort knob and the rate card together.&lt;/p&gt;

&lt;h2&gt;
  
  
  License: open weights ≠ free MaaS
&lt;/h2&gt;

&lt;p&gt;License is &lt;strong&gt;Mistral Ecosystem Open-Weight&lt;/strong&gt; (modified MIT). Mistral’s summary: free to &lt;strong&gt;use / modify / fine-tune / commercialize&lt;/strong&gt;, with one hard condition — businesses that operate a &lt;strong&gt;Model-as-a-Service&lt;/strong&gt; offering need a &lt;strong&gt;separate commercial license&lt;/strong&gt; before commercial MaaS use. Self-hosting inside your product is not the same as renting the weights out as a public model API. Read the LICENSE on the HF card before you put ML4 behind a multi-tenant endpoint you sell.&lt;/p&gt;

&lt;p&gt;Separately: Mistral mentions a &lt;strong&gt;specialized cybersecurity variant&lt;/strong&gt; for vetted design partners (e.g. Orange Cyberdefense) under contractual safeguards. That is &lt;strong&gt;access-gated&lt;/strong&gt;, not the public HF checkpoint. Do not assume the public OSS weights are that partner build.&lt;/p&gt;

&lt;h2&gt;
  
  
  Checklist before you swap models (API / OpenRouter vs HF + vLLM/SGLang)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Freeze a golden eval&lt;/strong&gt; on &lt;em&gt;your&lt;/em&gt; agent failures (repo patches, terminal tasks, tool traces). Vendor TB &lt;strong&gt;41%&lt;/strong&gt; and AA’s &lt;strong&gt;25%&lt;/strong&gt; are both someone else’s harness.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pin the model id&lt;/strong&gt; — start from &lt;code&gt;mistralai/Mistral-Large-4-1T-A52B&lt;/code&gt; (or the NVFP4 / FP8 sibling you actually serve). Do not guess strings. Docs also surface API-style ids such as &lt;code&gt;mistral-large-4-0&lt;/code&gt;; confirm against the surface you bill on.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Set &lt;code&gt;reasoning_effort&lt;/code&gt; explicitly.&lt;/strong&gt; Default is &lt;strong&gt;high&lt;/strong&gt;. Treat &lt;code&gt;none&lt;/code&gt; as &lt;strong&gt;still high&lt;/strong&gt;.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Price both columns:&lt;/strong&gt; list $0.70/$2.10/$0.07 &lt;em&gt;and&lt;/em&gt; expected output tokens at your chosen effort. Re-run the arithmetic with your real prompt sizes.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Self-host only if&lt;/strong&gt; you have GPU budget (HF / partners discuss multi-GPU / Blackwell-class NVFP4 paths; VB notes quantized serving on &lt;strong&gt;4× B200/B300&lt;/strong&gt; class setups — treat as secondary hardware rumor until you size it yourself), ops for vLLM/SGLang, and a license read for any MaaS-shaped product.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API / OpenRouter first&lt;/strong&gt; when you need a same-day A/B without multi-GPU bring-up — then decide whether weight ownership is worth the ops.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cyber workloads:&lt;/strong&gt; use the &lt;strong&gt;public&lt;/strong&gt; model under your own policy and sandbox. Partner cyber variants are gated; public refusal rates are Mistral’s measure, not your compliance program.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Do not conflate&lt;/strong&gt; Mistral charts, HF blog tables, and AA Intelligence Index rows in one “leaderboard” screenshot.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What I actually ran (offline)
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;/workspace/reputation/runs/30-mistral-large-4/&lt;/code&gt; — 2026-10-30 America/Toronto:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;MISTRAL_API_KEY: NOT SET
OPENROUTER_API_KEY: NOT SET
Chat completions: NOT ATTEMPTED

HTTP 200: mistral.ai/news/mistral-large-4-oss/
HTTP 200: huggingface.co/mistralai/Mistral-Large-4-1T-A52B
HTTP 200: huggingface.co/blog/mistral-large4
HTTP 200: mistral.ai/pricing ; docs.mistral.ai models page
Needle hits on OSS page: $0.70 / $2.10 / $0.07, TB 41%, reasoning modes, MaaS license language
Model card: A52B id + FP8/NVFP4 siblings present

List-price math (assumptions above):
  1 traj no cache $0.0980 | 80% cache $0.0577
  40-turn no cache $3.9200 | 80% cache $2.3072
  1M+1M $2.8000

NOT tested: live chat; weight download; vLLM/SGLang; effort behavior;
Terminal-Bench / Coding Agent re-score; real cache hits; partner cyber variant
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Costs are arithmetic on Mistral’s stated list rates under assumptions I state. They are not a bill, not latency, and not quality.&lt;/p&gt;

&lt;h2&gt;
  
  
  When ML4 might become a default
&lt;/h2&gt;

&lt;p&gt;Only after a callable path (API or your own serve) and a golden eval win on &lt;em&gt;your&lt;/em&gt; tickets:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Coding / terminal / cyber-defense workloads where your current open or mid-frontier default fails.
&lt;/li&gt;
&lt;li&gt;You have chosen &lt;strong&gt;effort per route&lt;/strong&gt;, not left &lt;strong&gt;high&lt;/strong&gt; everywhere.
&lt;/li&gt;
&lt;li&gt;Cost model survives realistic cache &lt;strong&gt;and&lt;/strong&gt; high-effort output inflation.
&lt;/li&gt;
&lt;li&gt;License review is done if anything you ship looks like &lt;strong&gt;MaaS&lt;/strong&gt;.
&lt;/li&gt;
&lt;li&gt;You can roll back without rewriting orchestration.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Weights on Hugging Face are the story this week. Treat Mistral’s &lt;strong&gt;41%&lt;/strong&gt; and AA’s &lt;strong&gt;25%&lt;/strong&gt; as two labeled columns, set effort on purpose, and run the $0.70/$2.10 math on &lt;em&gt;your&lt;/em&gt; trajectories before you call the swap done.&lt;/p&gt;




&lt;p&gt;YongBo Yu · Toronto AI engineer · &lt;a href="https://yongbo-yu.vercel.app" rel="noopener noreferrer"&gt;https://yongbo-yu.vercel.app&lt;/a&gt; · GitHub YongBoYu1&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>opensource</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Gemini 4 Carbon Is #1 on AA Index — Still Fairwind-Only: Cyber Benches, $2/$10 $4/$20, and What to Do Before the API</title>
      <dc:creator>Yong Yu</dc:creator>
      <pubDate>Thu, 29 Oct 2026 13:14:48 +0000</pubDate>
      <link>https://dev.to/yong_yu_f98e15562e9b120a0/gemini-4-carbon-is-1-on-aa-index-still-fairwind-only-cyber-benches-210-420-and-what-to-b66</link>
      <guid>https://dev.to/yong_yu_f98e15562e9b120a0/gemini-4-carbon-is-1-on-aa-index-still-fairwind-only-cyber-benches-210-420-and-what-to-b66</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Attributed compile (not original research)&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Primary source:&lt;/strong&gt; &lt;a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/introducing-gemini-4-carbon/" rel="noopener noreferrer"&gt;Introducing Gemini 4 Carbon&lt;/a&gt; by &lt;strong&gt;Koray Kavukcuoglu&lt;/strong&gt; (SVP, Google DeepMind / Chief AI Architect, Google), published &lt;strong&gt;2026-10-28&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Secondary roundups:&lt;/strong&gt; &lt;a href="https://theagenticweekly.com/news/models" rel="noopener noreferrer"&gt;Agentic Weekly — model releases&lt;/a&gt; (Carbon brief, first seen 2026-10-28); &lt;a href="https://toolsift.ai/llm-news/2026-10-28/" rel="noopener noreferrer"&gt;ToolSift daily LLM news 2026-10-28&lt;/a&gt; (Artificial Analysis Index v5.0 context — Opus 5.5 at &lt;strong&gt;58&lt;/strong&gt; before Carbon’s claimed &lt;strong&gt;59&lt;/strong&gt;; Index scores from different days are not a clean head-to-head)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Docs check:&lt;/strong&gt; &lt;a href="https://ai.google.dev/gemini-api/docs/models" rel="noopener noreferrer"&gt;Gemini API models&lt;/a&gt; (fetched 2026-10-29) lists Gemini 4 endpoint &lt;strong&gt;&lt;code&gt;gemini-4-argon&lt;/code&gt; only&lt;/strong&gt; — no public Carbon model ID&lt;br&gt;&lt;br&gt;
This post restates Google’s Carbon packaging in my own words, with a builder checklist for the same Fairwind-first trap as Argon (~two weeks earlier). &lt;strong&gt;I did not run Gemini 4 Carbon&lt;/strong&gt; — it is not publicly callable. Every bench, price, and access claim below is &lt;strong&gt;vendor-reported&lt;/strong&gt; (or clearly attributed to a named secondary source). Offline preflight: docs scrape + list-price arithmetic only.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Google announced &lt;strong&gt;Gemini 4 Carbon&lt;/strong&gt; on October 28, 2026 — roughly two weeks after &lt;strong&gt;Gemini 4 Argon&lt;/strong&gt; — as its strongest frontier model, with the headline pitched at cybersecurity defense and long-horizon engineering. The capability story is loud: Artificial Analysis Intelligence Index &lt;strong&gt;v5.0&lt;/strong&gt; at &lt;strong&gt;59&lt;/strong&gt; (Google claims &lt;strong&gt;#1&lt;/strong&gt;), cyber benches without guardrails, and internal anecdotes about multi-day agent runs. The access story is quieter and more important for builders this week: Carbon starts with a &lt;strong&gt;subset of cyber defenders&lt;/strong&gt;, then more trusted partners through the &lt;strong&gt;Fairwind Program&lt;/strong&gt;, then developers / businesses / consumers “as soon as possible.” There is &lt;strong&gt;still no public API model ID&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you shipped a plan that assumed “Carbon drops → swap the string in &lt;code&gt;models.list&lt;/code&gt;,” pause. Same Fairwind-first pattern as Argon. Bookmark the blog; do not block a release on it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s new vs Argon (all vendor-labeled)
&lt;/h2&gt;

&lt;p&gt;Google frames Carbon as building on Argon with sharper cyber and long-horizon behavior, plus tighter alignment. Treat every number as &lt;strong&gt;Google’s claim&lt;/strong&gt; unless you re-run it yourself.&lt;/p&gt;

&lt;h3&gt;
  
  
  Intelligence Index and coding/web
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Claim (vendor)&lt;/th&gt;
&lt;th&gt;Figure&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Artificial Analysis Intelligence Index v5.0&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;59&lt;/strong&gt;, Google says &lt;strong&gt;#1&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Index was rebuilt with more private tests (ToolSift summary of AA’s Oct 27 reset). ToolSift’s same-day briefing still listed Claude Opus 5.5 (max) at &lt;strong&gt;58&lt;/strong&gt; before Carbon’s announce — &lt;strong&gt;do not&lt;/strong&gt; treat 58→59 as a same-harness race day without AA’s own Carbon row.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WebDev Arena&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+89 Elo → #4 (1768)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Full-stack web / artifact quality, per Google&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Cyber defense lifecycle (evaluated &lt;strong&gt;without&lt;/strong&gt; guardrails, vendor)
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Stage&lt;/th&gt;
&lt;th&gt;Bench&lt;/th&gt;
&lt;th&gt;Carbon (vendor)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Find vulns&lt;/td&gt;
&lt;td&gt;SEC-bench Pro&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;88.2%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Validate / exploit&lt;/td&gt;
&lt;td&gt;ExploitGym&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;54.8%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Patch&lt;/td&gt;
&lt;td&gt;Collinear CWE-bench&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;71.0%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Internal / partner anecdotes Google cites (not your SLA): &lt;strong&gt;&amp;gt;2×&lt;/strong&gt; uplift in secure-code success vs Argon; Chrome team claimed &lt;strong&gt;&amp;gt;10×&lt;/strong&gt; better high-quality patches vs “another lab’s” frontier model; Wiz cited for a web pen-test lead tied to Scan for Good. Useful as &lt;em&gt;direction&lt;/em&gt;, useless as a compliance ticket.&lt;/p&gt;

&lt;h3&gt;
  
  
  Long-horizon behavior (vendor narrative)
&lt;/h3&gt;

&lt;p&gt;Google says internal teams saw Carbon run for &lt;strong&gt;days&lt;/strong&gt;, persisting through dead ends on multi-step engineering (root-cause + patch across large / low-level codebases). That is a product promise about agent stamina, not a public &lt;code&gt;max_duration&lt;/code&gt; parameter you can set today.&lt;/p&gt;

&lt;h3&gt;
  
  
  Safety / alignment deltas Google reports
&lt;/h3&gt;

&lt;p&gt;Built on Argon’s multi-layered stack (training, misuse defenses, prompt-injection resilience, chain-of-thought monitoring). Carbon-specific vendor figures:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric (vendor / internal)&lt;/th&gt;
&lt;th&gt;Carbon claim&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Terminal-Bench 4.0 cheating success&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;0.0%&lt;/strong&gt; (attempts &lt;strong&gt;0.4%&lt;/strong&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;High-severity misalignment alerts (live coding, internal)&lt;/td&gt;
&lt;td&gt;~&lt;strong&gt;80%&lt;/strong&gt; drop&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Unsupported claims vs Argon&lt;/td&gt;
&lt;td&gt;~&lt;strong&gt;2×&lt;/strong&gt; cut&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Overreach / under-service&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;−26%&lt;/strong&gt; / &lt;strong&gt;−29%&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gray Swan Indirect Prompt Injection (IPI) ASR&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;0.0%&lt;/strong&gt; (Argon was &lt;strong&gt;0.7%&lt;/strong&gt;, vendor)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Still vendor benches and internal alerts. Your agents need your own IPI and exfiltration tests.&lt;/p&gt;

&lt;h2&gt;
  
  
  Access trap: Fairwind / cyber defenders first
&lt;/h2&gt;

&lt;p&gt;Google states it is in the U.S. government’s &lt;strong&gt;voluntary pre-release testing&lt;/strong&gt; process. Rollout order in the announce:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;This week:&lt;/strong&gt; subset of cyber defenders
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Then:&lt;/strong&gt; additional trusted partners via &lt;strong&gt;Fairwind&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Later:&lt;/strong&gt; developers, businesses, consumers on product surfaces “as soon as possible”&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;There is no GA date and no public endpoint string. On 2026-10-29 the public Gemini API models page still lists only &lt;strong&gt;&lt;code&gt;gemini-4-argon&lt;/code&gt;&lt;/strong&gt; under Gemini 4. Guessing &lt;code&gt;gemini-4-carbon&lt;/code&gt; is not a migration plan.&lt;/p&gt;

&lt;p&gt;Same builder constraint as the Argon post: &lt;strong&gt;do not&lt;/strong&gt; make Carbon a production default until you have (a) a documented model ID, (b) billing/access on your project, and (c) a golden eval that beats your current callable default on &lt;em&gt;your&lt;/em&gt; failures.&lt;/p&gt;

&lt;p&gt;X chatter will treat “#1 on AA Index” as already shippable. Chatter is not an API key.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pricing trap: intro $2/$10 → post-intro $4/$20 (+ cache)
&lt;/h2&gt;

&lt;p&gt;Google says Carbon launches at the &lt;strong&gt;same introductory price as Argon&lt;/strong&gt;:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Per 1M tokens (Google)&lt;/th&gt;
&lt;th&gt;Introductory&lt;/th&gt;
&lt;th&gt;After intro period&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Input&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$4&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Output&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$10&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$20&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cached input&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;95% off&lt;/strong&gt; input price&lt;/td&gt;
&lt;td&gt;same discount structure as stated at launch&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Intro matches the familiar mid-frontier coding band. Post-intro doubles both columns. Cache at 95% off input is the lever that decides whether long agent loops stay affordable.&lt;/p&gt;

&lt;h3&gt;
  
  
  List-price arithmetic (my assumptions — not a bill)
&lt;/h3&gt;

&lt;p&gt;Offline preflight on this box used Google’s stated rates only. &lt;strong&gt;Assumptions:&lt;/strong&gt; one trajectory = &lt;strong&gt;80k input + 20k output&lt;/strong&gt;; “80% cache hit” means 80% of &lt;em&gt;input&lt;/em&gt; tokens bill at the cached rate (5% of input list); no tax, no retries, no tool-overhead tokens.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Scenario&lt;/th&gt;
&lt;th&gt;Intro $2/$10&lt;/th&gt;
&lt;th&gt;Post-intro $4/$20&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1 traj, no cache&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$0.36&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$0.72&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1 traj, 80% input cache&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$0.24&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$0.48&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;40-turn loop, no cache&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$14.40&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$28.80&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;40-turn loop, 80% input cache&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$9.54&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$19.07&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1M in + 1M out, no cache&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$12.00&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$24.00&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Post-intro is an exact &lt;strong&gt;2.00×&lt;/strong&gt; on these list rates when cache assumptions match. Build board slides for &lt;strong&gt;both&lt;/strong&gt; columns. Do not bake “Carbon is $2/$10 forever” into a forecast. Measure real cache hit rates before you trust the middle rows.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to do &lt;em&gt;this week&lt;/em&gt; (callable models still win)
&lt;/h2&gt;

&lt;p&gt;Carbon’s announce does not retire Argon, GPT-6.1 Terra/Sol, Claude 5.5, or anything else you can already call.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Keep shipping&lt;/strong&gt; on models with a public ID and a key that works today.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prep long-horizon + secure-code evals&lt;/strong&gt; now: multi-file root-cause, flaky repros, vuln→patch trajectories with human review gates. When a Carbon ID appears, you want 20–50 frozen tasks ready — not a scramble.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watch the official models directory&lt;/strong&gt; and release notes for a real Carbon endpoint. No ID → no production default. Do not invent one.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Do not block&lt;/strong&gt; a customer release on Fairwind unless your org is actually in that program.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Price the post-intro column&lt;/strong&gt; ($4/$20) in any Carbon ROI slide; assume cache misses until measured.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security posture:&lt;/strong&gt; if you ever receive a no-guardrail / cyber-defender build, isolate it. Fairwind-style access is defense capability plus staged safeguards — not “same sandbox as the public chatbot.”
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Re-check AA Index yourself&lt;/strong&gt; when Artificial Analysis publishes Carbon’s row; private-test resets make cross-day screenshots unreliable.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Offline check (this box, 2026-10-29 America/Toronto)
&lt;/h2&gt;

&lt;p&gt;Saved under &lt;code&gt;/workspace/reputation/runs/29-gemini-carbon/&lt;/code&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No &lt;code&gt;GEMINI_API_KEY&lt;/code&gt; / &lt;code&gt;GOOGLE_API_KEY&lt;/code&gt; (or siblings) in the environment
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;google.generativeai&lt;/code&gt; / &lt;code&gt;google.genai&lt;/code&gt; SDKs not installed
&lt;/li&gt;
&lt;li&gt;Public docs fetch: &lt;strong&gt;&lt;code&gt;gemini-4-argon&lt;/code&gt; present; no &lt;code&gt;gemini-4-carbon&lt;/code&gt; (or sibling) model id string&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No live &lt;code&gt;models.list&lt;/code&gt; / &lt;code&gt;generateContent&lt;/code&gt; call&lt;/strong&gt; — nothing to call for Carbon publicly
&lt;/li&gt;
&lt;li&gt;Cost table above = arithmetic on vendor list prices under stated assumptions&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  When Carbon might become a default (once the API lands)
&lt;/h2&gt;

&lt;p&gt;Only after a callable model ID and billing access:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Workloads are long-horizon or secure-code heavy and you are hitting today’s failure modes.
&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;golden eval&lt;/strong&gt; shows Carbon beating your current default on &lt;em&gt;your&lt;/em&gt; tickets — not SEC-bench screenshots alone.
&lt;/li&gt;
&lt;li&gt;Cost model survives &lt;strong&gt;post-intro&lt;/strong&gt; $4/$20 &lt;em&gt;and&lt;/em&gt; realistic cache hit rates.
&lt;/li&gt;
&lt;li&gt;Prompt-injection / tool-exfiltration tests pass under your threat model (Google claims Gray Swan IPI &lt;strong&gt;0.0%&lt;/strong&gt; ASR — verify on your agents).
&lt;/li&gt;
&lt;li&gt;You can &lt;strong&gt;rollback&lt;/strong&gt; to Argon / Terra / Opus / Sonnet without rewriting orchestration.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Until then, Carbon is a roadmap signal with a loud cyber story and the same Fairwind gate as Argon. Treat the blog as planning input; treat callable models as this week’s shipping surface.&lt;/p&gt;




&lt;p&gt;YongBo Yu · Toronto AI engineer · &lt;a href="https://yongbo-yu.vercel.app" rel="noopener noreferrer"&gt;https://yongbo-yu.vercel.app&lt;/a&gt; · GitHub YongBoYu1&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>google</category>
      <category>cybersecurity</category>
    </item>
    <item>
      <title>LFM3 at 2B: Pick the Branch, Skip Agentic Coding, and the 128K Hosted Cliff</title>
      <dc:creator>Yong Yu</dc:creator>
      <pubDate>Wed, 28 Oct 2026 13:16:00 +0000</pubDate>
      <link>https://dev.to/yong_yu_f98e15562e9b120a0/lfm3-at-2b-pick-the-branch-skip-agentic-coding-and-the-128k-hosted-cliff-jg1</link>
      <guid>https://dev.to/yong_yu_f98e15562e9b120a0/lfm3-at-2b-pick-the-branch-skip-agentic-coding-and-the-128k-hosted-cliff-jg1</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Attributed compile + one small offline run on my box&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Primary (Liquid AI / Hugging Face, launch 2026-10-27):&lt;/strong&gt; &lt;a href="https://huggingface.co/blog/LiquidAI/lfm3" rel="noopener noreferrer"&gt;Build specialized multimodal models with LFM3&lt;/a&gt; (LiquidAI authors on HF), &lt;a href="https://www.liquid.ai/blog/lfm3" rel="noopener noreferrer"&gt;Introducing LFM3&lt;/a&gt; (Liquid AI blog), &lt;a href="https://huggingface.co/collections/LiquidAI/lfm3" rel="noopener noreferrer"&gt;LFM3 collection&lt;/a&gt;.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Secondary:&lt;/strong&gt; &lt;a href="https://venturebeat.com/technology/liquid-ais-new-lfm3-models-put-browser-agents-voice-commands-and-image-recognition-onto-enterprise-controlled-devices" rel="noopener noreferrer"&gt;VentureBeat — Carl Franzen, 2026-10-27&lt;/a&gt; for hosted console prices, 128K vs 256K context, license revenue gate, memory footnotes, and the Liquid docs quote against agentic coding.&lt;br&gt;&lt;br&gt;
Benchmarks and on-device speed numbers below are &lt;strong&gt;Liquid’s&lt;/strong&gt; (or VentureBeat’s reading of Liquid’s tables / console) unless I say otherwise. This box did &lt;strong&gt;not&lt;/strong&gt; download multi-GB weights and did &lt;strong&gt;not&lt;/strong&gt; call &lt;code&gt;generate()&lt;/code&gt; / &lt;code&gt;system_one&lt;/code&gt;. What I ran is a collection-id check, a dry first-call skeleton map, and list-price arithmetic on VentureBeat’s published console rates.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Liquid AI shipped &lt;strong&gt;LFM3&lt;/strong&gt; on &lt;strong&gt;2026-10-27&lt;/strong&gt;: six ~2B open-weight models branched from one &lt;strong&gt;LFM3-1.7B-Base&lt;/strong&gt; backbone — text, vision-language (with video), audio, omni, and two decision models (&lt;code&gt;d1-2B&lt;/code&gt;, &lt;code&gt;d1-Omni-2B&lt;/code&gt;). The useful builder move is not “run the biggest generalist.” It is &lt;strong&gt;pick the branch first&lt;/strong&gt;, then decide hosted vs downloadable — because the traps (context, license, coding fit) sit between those choices.&lt;/p&gt;

&lt;p&gt;This is distinct from the earlier Liquid &lt;strong&gt;d1&lt;/strong&gt; open CPU-triage write-up in this series: that post was about decision models as a product shape; this one is the &lt;strong&gt;LFM3 family release&lt;/strong&gt; and how the branches wire into &lt;code&gt;transformers&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pick the branch before you pick the harness
&lt;/h2&gt;

&lt;p&gt;From the HF / Liquid tables (vendor framing):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Reach for it when…&lt;/th&gt;
&lt;th&gt;First &lt;code&gt;transformers&lt;/code&gt; entry (HF blog)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;LiquidAI/LFM3-1.7B&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Local agents, tool calling, structured text; 256K on the downloadable text model&lt;/td&gt;
&lt;td&gt;&lt;code&gt;pipeline("text-generation", …)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;LiquidAI/LFM3-VL-2B&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Images + &lt;strong&gt;video&lt;/strong&gt; → text; on-device visual Q&amp;amp;A&lt;/td&gt;
&lt;td&gt;&lt;code&gt;AutoModelForImageTextToText&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;LiquidAI/LFM3-Audio-2B&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Voice chat / ASR / TTS / tool calls from speech (18 languages claimed)&lt;/td&gt;
&lt;td&gt;&lt;code&gt;AutoModelForMultimodalLM&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;LiquidAI/LFM3-Omni-2B&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;One on-device model that sees, listens, and talks back (~2.2B despite the “2B” name)&lt;/td&gt;
&lt;td&gt;&lt;code&gt;AutoModelForMultimodalLM&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;LiquidAI/d1-2B&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Many calibrated decisions in &lt;strong&gt;one forward pass&lt;/strong&gt; over text/images/video&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;AutoModel&lt;/code&gt; + &lt;code&gt;system_one(...)&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;LiquidAI/d1-Omni-2B&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Same decision shape when inputs include audio&lt;/td&gt;
&lt;td&gt;(see omni model card; same idea)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Architecture note (Liquid, for intuition only): &lt;strong&gt;24 layers&lt;/strong&gt;, tri-hybrid mix of &lt;strong&gt;13&lt;/strong&gt; gated short convolutions + &lt;strong&gt;5&lt;/strong&gt; SWA (256-token window) + &lt;strong&gt;6&lt;/strong&gt; global attention; &lt;strong&gt;22T&lt;/strong&gt; pretrain then &lt;strong&gt;3.5T&lt;/strong&gt; mid-train that extends context to &lt;strong&gt;256K&lt;/strong&gt;. Liquid says LFM3-1.7B beats their prior LFM2.5-2.6B with &lt;strong&gt;~35% fewer parameters&lt;/strong&gt;, with the biggest gains on agentic browser/business tasks. Treat that as vendor positioning until you measure your own loop.&lt;/p&gt;

&lt;h2&gt;
  
  
  When 1.7B is the wrong tool (coding / knowledge / long-context accuracy)
&lt;/h2&gt;

&lt;p&gt;Liquid’s own table (reproduced and annotated by VentureBeat) is the honest “don’t oversell” slide. Selected Liquid-reported scores:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Eval&lt;/th&gt;
&lt;th&gt;LFM3-1.7B&lt;/th&gt;
&lt;th&gt;Qwen3.5-9B&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;WebArena-Verified&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;38.42&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;28.94&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AutomationBench (public)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;41.29&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;15.10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;BFCL V4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;71.39&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;62.83&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SWE-bench Verified (OpenCode)&lt;/td&gt;
&lt;td&gt;43.40&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;51.20&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPQA Diamond&lt;/td&gt;
&lt;td&gt;63.37&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;80.40&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RULER 128K&lt;/td&gt;
&lt;td&gt;65.56&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;87.11&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MCP-Atlas&lt;/td&gt;
&lt;td&gt;32.57&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;42.67&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Liquid’s blog says larger models still win on &lt;strong&gt;agentic coding and knowledge&lt;/strong&gt;. VentureBeat quotes Liquid’s documentation more bluntly: &lt;strong&gt;not recommended for agentic coding or complex multi-step reasoning due to its small size&lt;/strong&gt;. That is the rule of thumb for this post: use LFM3-1.7B for &lt;strong&gt;narrow local agents&lt;/strong&gt;, triage, tool routing, and browser/business loops where Liquid’s table shows strength — and &lt;strong&gt;do not&lt;/strong&gt; treat it as a drop-in SWE / GPQA / long-RULER replacement for a ~9B (or larger) coder.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hosted vs local: the 128K cliff, prices, RAM, license
&lt;/h2&gt;

&lt;p&gt;Three traps that show up before quality:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Context.&lt;/strong&gt; Downloadable &lt;strong&gt;LFM3-1.7B&lt;/strong&gt; is documented at &lt;strong&gt;256K&lt;/strong&gt;. VentureBeat’s review of the signed-in Liquid console lists &lt;strong&gt;128,000&lt;/strong&gt; context for the hosted LFM3 generation entries. If your agent prompt assumes the downloadable window on the API, you hit a &lt;strong&gt;128K hosted cliff&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;List prices (VentureBeat console, USD / 1M tokens).&lt;/strong&gt; LFM3-1.7B &lt;strong&gt;$0.08&lt;/strong&gt; in / &lt;strong&gt;$0.02&lt;/strong&gt; cached / &lt;strong&gt;$0.20&lt;/strong&gt; out; VL &lt;strong&gt;$0.10 / $0.02 / $0.50&lt;/strong&gt;; Audio and Omni &lt;strong&gt;$0.10 / $0.02 / $1.00&lt;/strong&gt; plus audio in &lt;strong&gt;$2&lt;/strong&gt; / out &lt;strong&gt;$10&lt;/strong&gt; per 1M audio tokens. Hosted &lt;strong&gt;d1.1&lt;/strong&gt; is listed at &lt;strong&gt;$0.02&lt;/strong&gt; in with &lt;strong&gt;no output charge&lt;/strong&gt; — and VB notes that hosted identifier &lt;strong&gt;may differ&lt;/strong&gt; from downloadable &lt;code&gt;d1-2B&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;“~1GB” is weights, not the app.&lt;/strong&gt; Liquid’s edge pitch is ~&lt;strong&gt;1GB at 4-bit&lt;/strong&gt; for the text model. That is &lt;strong&gt;model storage&lt;/strong&gt;, not full process RAM. Liquid separately cites ~&lt;strong&gt;1.6GB KV cache at 128K&lt;/strong&gt;; VB’s table of Liquid-measured llama.cpp Q4_0 footprints on Ryzen AI Max+ 395 / Apple M5 Max / iPhone 17 Pro is higher still (e.g. &lt;strong&gt;2.75GB / 2.25GB / 1.90GB&lt;/strong&gt; reported memory under that specific 32K-in workload). Local decode speed claims (&lt;strong&gt;1.8–2.8×&lt;/strong&gt; the next model in Liquid’s comparison) are &lt;strong&gt;Liquid-measured&lt;/strong&gt; on that hardware — label them as such.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;License.&lt;/strong&gt; LFM Open License &lt;strong&gt;v1.0&lt;/strong&gt;: per Liquid’s terms as summarized by VentureBeat, businesses with &lt;strong&gt;&amp;gt;$10M annual revenue&lt;/strong&gt; need a &lt;strong&gt;separate commercial agreement&lt;/strong&gt;. Local weights remove per-token API charges; they do not erase licensing, hardware, or ops cost.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  First &lt;code&gt;transformers&lt;/code&gt; calls (shapes only — not executed here)
&lt;/h2&gt;

&lt;p&gt;HF’s launch post is the practical card. Text:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;transformers&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pipeline&lt;/span&gt;  &lt;span class="c1"&gt;# requires recent transformers; not installed on this box
&lt;/span&gt;
&lt;span class="n"&gt;generator&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;pipeline&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;text-generation&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;LiquidAI/LFM3-1.7B&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;trust_remote_code&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;messages&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;What is C. elegans?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt;
&lt;span class="c1"&gt;# NOT EXECUTED here — would need weights + generate()
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;VL uses &lt;code&gt;AutoModelForImageTextToText&lt;/code&gt; + &lt;code&gt;AutoProcessor&lt;/code&gt; (&lt;code&gt;transformers&amp;gt;=5.21.0&lt;/code&gt; per HF). Audio / Omni use &lt;code&gt;AutoModelForMultimodalLM&lt;/code&gt; (&lt;code&gt;transformers&amp;gt;=5.20.2&lt;/code&gt;). Decision models use &lt;code&gt;AutoModel&lt;/code&gt; and &lt;strong&gt;&lt;code&gt;system_one(state, questions)&lt;/code&gt;&lt;/strong&gt; — several named questions, one pass, calibrated answers:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;transformers&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;AutoModel&lt;/span&gt;  &lt;span class="c1"&gt;# skeleton only
&lt;/span&gt;
&lt;span class="c1"&gt;# model = AutoModel.from_pretrained("LiquidAI/d1-2B", trust_remote_code=True, ...)
&lt;/span&gt;&lt;span class="n"&gt;questions&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;refund&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;noul&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;instructions&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Is the customer asking for a refund?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;team&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;choice&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;instructions&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Which team should handle this?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;criteria&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;billing&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Charges, refunds, invoices&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;shipping&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Delivery and parcels&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;technical&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;App or site faults&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;urgency&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;score&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;instructions&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;How urgent is this ticket?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;criteria&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;low&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;medium&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;high&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="c1"&gt;# out = model.system_one("I was charged twice...", questions)  # NOT EXECUTED
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;HF also describes newer typed answers (Point / Read / Estimate / Pick) on the decision cards. I did not run those. The one-pass shape is the product point: classify / extract / route without a free-form chat turn when you do not need one.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I actually ran (offline)
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;runs/28-lfm3/preflight.py&lt;/code&gt; — no weight download. Trimmed output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;transformers: NOT INSTALLED
torch: NOT INSTALLED
Weights: NOT DOWNLOADED (by design; multi-GB)

HF collection LiquidAI/lfm3 — API OK:
  LiquidAI/LFM3-1.7B-Base, LFM3-1.7B, LFM3-VL-2B, LFM3-Audio-2B,
  LFM3-Omni-2B, d1-Omni-2B, d1-2B  (all expected core ids present)

Hosted list-price arithmetic (VB console; NOT a bill):
  LFM3-1.7B   20k in + 2k out, no cache $0.002000 | 80% cache $0.001040
  LFM3-VL-2B  20k in + 2k out, no cache $0.003000 | 80% cache $0.001720
  1M+1M text tokens: 1.7B $0.28 | VL $0.60 | Audio/Omni $1.10
  d1.1 1M in (no out charge): $0.02

Toy agent loop MY ASSUMPTIONS — 40 turns × (20k in + 2k out):
  LFM3-1.7B  no cache $0.0800 | 80% hit $0.0416
  LFM3-VL-2B no cache $0.1200 | 80% hit $0.0688

Dry skeletons for pipeline / AutoModel* / system_one: STATUS NOT EXECUTED
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Costs are arithmetic on VentureBeat’s list rates under assumptions I state. They are not a bill, not latency, and not quality.&lt;/p&gt;

&lt;h2&gt;
  
  
  Checklist before you put LFM3 in a path
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Pick the branch&lt;/strong&gt; (text / VL / audio / omni / d1) — do not default to Omni “just in case.”&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Coding / hard reasoning?&lt;/strong&gt; Prefer a larger model; Liquid’s docs say so for this size class.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hosted?&lt;/strong&gt; Budget &lt;strong&gt;128K&lt;/strong&gt; context and the console rate card; do not assume downloadable &lt;strong&gt;256K&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local?&lt;/strong&gt; Plan RAM beyond the ~1GB 4-bit weight number; check &lt;strong&gt;LFM Open License v1.0&lt;/strong&gt; if revenue &amp;gt;$10M.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Many structured questions?&lt;/strong&gt; Prefer &lt;strong&gt;d1 &lt;code&gt;system_one&lt;/code&gt;&lt;/strong&gt; over a chat model inventing JSON.&lt;/li&gt;
&lt;li&gt;Wire an eval on &lt;em&gt;your&lt;/em&gt; tickets, invoices, or tool traces. Vendor WebArena wins do not ship your workflow.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Specialize the small model when the job is narrow. Escalate when it is not.&lt;/p&gt;




&lt;p&gt;YongBo Yu · Toronto AI engineer · &lt;a href="https://yongbo-yu.vercel.app" rel="noopener noreferrer"&gt;https://yongbo-yu.vercel.app&lt;/a&gt; · GitHub YongBoYu1&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>python</category>
      <category>opensource</category>
    </item>
    <item>
      <title>GPT-6.1 Terra at $1/$5: First Computer Call, the none Effort Knob, and the 272K Price Cliff</title>
      <dc:creator>Yong Yu</dc:creator>
      <pubDate>Tue, 27 Oct 2026 13:13:51 +0000</pubDate>
      <link>https://dev.to/yong_yu_f98e15562e9b120a0/gpt-61-terra-at-15-first-computer-call-the-none-effort-knob-and-the-272k-price-cliff-j1a</link>
      <guid>https://dev.to/yong_yu_f98e15562e9b120a0/gpt-61-terra-at-15-first-computer-call-the-none-effort-knob-and-the-272k-price-cliff-j1a</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Attributed compile + one small offline run on my box&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Primary sources (OpenAI, launch 2026-10-26):&lt;/strong&gt; &lt;a href="https://openai.com/index/introducing-gpt-6-1-terra" rel="noopener noreferrer"&gt;Introducing GPT-6.1 Terra&lt;/a&gt;, &lt;a href="https://developers.openai.com/api/docs/models/gpt-6.1-terra" rel="noopener noreferrer"&gt;GPT-6.1 Terra model page&lt;/a&gt;, &lt;a href="https://developers.openai.com/api/docs/guides/tools-computer-use" rel="noopener noreferrer"&gt;Computer use guide&lt;/a&gt;.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Secondary:&lt;/strong&gt; &lt;a href="https://theagenticweekly.com/news/openai-gpt-6-1-terra-computer-use" rel="noopener noreferrer"&gt;Agentic Weekly brief&lt;/a&gt; (2026-10-26) for Sol / GPT-5.6 Terra price math, Artificial Analysis Index snapshot, and a reading of the system card; &lt;a href="https://www.v2ex.com/t/1252115" rel="noopener noreferrer"&gt;V2EX t/1252115&lt;/a&gt; (~5.8k views by Oct 27) for early community split.&lt;br&gt;&lt;br&gt;
Capability, speed, and cost-per-task claims below are &lt;strong&gt;OpenAI's&lt;/strong&gt; (or Agentic Weekly / Artificial Analysis where labeled). This box has no &lt;code&gt;OPENAI_API_KEY&lt;/code&gt;, so &lt;strong&gt;I did not call&lt;/strong&gt; &lt;code&gt;gpt-6.1-terra&lt;/code&gt;. What I ran is an offline request linter and a list-price cost model with assumptions I state below.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;OpenAI shipped &lt;strong&gt;GPT-6.1 Terra&lt;/strong&gt; (&lt;code&gt;gpt-6.1-terra&lt;/code&gt;) on &lt;strong&gt;2026-10-26&lt;/strong&gt;: a fast visual-reasoning / computer-use model at &lt;strong&gt;half&lt;/strong&gt; GPT-6.1 Sol's standard list price. It is in ChatGPT Work and Codex for Plus / Pro / Enterprise / Edu, and in the API under that model id. OpenAI frames it as the high-volume workhorse — invoices into accounting, form fills, technical drawings — and says Sol and Astra remain better for the most complex coding.&lt;/p&gt;

&lt;p&gt;That is the useful split for builders. This post is the first-call shape, the effort knobs (including Terra-only &lt;code&gt;none&lt;/code&gt;), and the price cliffs that show up once screenshots pile into the context.&lt;/p&gt;

&lt;h2&gt;
  
  
  When to pick Terra vs Sol / Astra
&lt;/h2&gt;

&lt;p&gt;From OpenAI's launch post (vendor claims, labeled as such):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Agents' Last Exam at &lt;strong&gt;medium&lt;/strong&gt;: &lt;strong&gt;+15 pp&lt;/strong&gt; vs GPT-5.6 Terra at about &lt;strong&gt;1/3&lt;/strong&gt; the cost; at &lt;strong&gt;max&lt;/strong&gt;, ~&lt;strong&gt;3×&lt;/strong&gt; token-efficient vs Claude Opus 5.5, &lt;strong&gt;1/4&lt;/strong&gt; price/token, ~&lt;strong&gt;9×&lt;/strong&gt; lower cost/task.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&amp;gt;3×&lt;/strong&gt; faster than Astra and Sol on those computer-use tasks (OpenAI's number; I did not measure).&lt;/li&gt;
&lt;li&gt;Terminal-Bench 4.0 at max: &lt;strong&gt;50.3%&lt;/strong&gt; vs GPT-5.6 Terra &lt;strong&gt;21.5%&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Factuality error rate (internal, error-inducing prompts): low effort &lt;strong&gt;53.6% → 16.7%&lt;/strong&gt;; max &lt;strong&gt;4.3%&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;OSWorld 2.1 / MMMU-Pro: charts only in the launch text. OpenAI says medium beats GPT-5.6 Terra's best OSWorld score at lower cost — &lt;strong&gt;no absolute OSWorld number in the prose&lt;/strong&gt;, so I am not inventing one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sol / Astra still better for most complex coding&lt;/strong&gt; — OpenAI says this explicitly.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Agentic Weekly's Oct 26 brief adds a non-computer-use snapshot from Artificial Analysis's Intelligence Index (label AA + that date): Terra at &lt;strong&gt;max&lt;/strong&gt; scores &lt;strong&gt;48&lt;/strong&gt; at &lt;strong&gt;$0.40&lt;/strong&gt;/task; Sol at &lt;strong&gt;medium&lt;/strong&gt; also &lt;strong&gt;48&lt;/strong&gt; at &lt;strong&gt;$0.21&lt;/strong&gt;. Different workload than screen agents — useful as a reminder that "half the token price" is not automatically half the task bill.&lt;/p&gt;

&lt;p&gt;Early V2EX reaction (thread title roughly "new model feels worse — what strategy is this?", ~5.8k views by Oct 27) splits the same way: some posters call it fast and cheap for PC automation; others say it is not stronger than Sol for coding and read the launch as &lt;strong&gt;降能力提速&lt;/strong&gt; (cut capability, raise speed). Those are forum opinions, not benchmarks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Practical rule of thumb:&lt;/strong&gt; route volume computer-use / form-fill / invoice→ledger through Terra; keep Sol or Astra on hard coding and long-horizon agent plans until you have your own eval.&lt;/p&gt;

&lt;h2&gt;
  
  
  First Responses shapes (and a naming trap)
&lt;/h2&gt;

&lt;p&gt;Tool calling for Terra needs the &lt;strong&gt;Responses API&lt;/strong&gt;. Chat Completions still exists on the model page, but tools go through Responses.&lt;/p&gt;

&lt;p&gt;The computer-use &lt;strong&gt;guide&lt;/strong&gt; shows two paths:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Code-execution function tool&lt;/strong&gt; (recommended in the guide for GPT-6 Astra): you expose &lt;code&gt;exec_py&lt;/code&gt; / &lt;code&gt;exec_js&lt;/code&gt;, run Playwright or PyAutoGUI in an isolated runtime, return text + screenshots.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Structured &lt;code&gt;computer&lt;/code&gt; tool&lt;/strong&gt;: &lt;code&gt;tools: [{ "type": "computer" }]&lt;/code&gt;, then loop on &lt;code&gt;computer_call&lt;/code&gt; → execute actions → &lt;code&gt;computer_call_output&lt;/code&gt; with a &lt;code&gt;computer_screenshot&lt;/code&gt; at &lt;code&gt;detail: "original"&lt;/code&gt;. Actions include &lt;code&gt;click&lt;/code&gt;, &lt;code&gt;double_click&lt;/code&gt;, &lt;code&gt;drag&lt;/code&gt;, &lt;code&gt;move&lt;/code&gt;, &lt;code&gt;scroll&lt;/code&gt;, &lt;code&gt;keypress&lt;/code&gt;, &lt;code&gt;type&lt;/code&gt;, &lt;code&gt;wait&lt;/code&gt;, &lt;code&gt;screenshot&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The model page lists &lt;strong&gt;&lt;code&gt;computer_use&lt;/code&gt;&lt;/strong&gt; among supported tools. The guide's request body uses &lt;strong&gt;&lt;code&gt;type: "computer"&lt;/code&gt;&lt;/strong&gt;. Prefer the guide shape for structured actions; treat &lt;code&gt;computer_use&lt;/code&gt; as the catalog name, not the wire &lt;code&gt;type&lt;/code&gt;, until OpenAI aligns the examples. Guide samples still use &lt;code&gt;gpt-6-astra&lt;/code&gt; / &lt;code&gt;gpt-6.1-sol&lt;/code&gt; — for Terra, swap the model id; the guide itself may not name Terra yet.&lt;/p&gt;

&lt;p&gt;Sketch (not executed on this box):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OpenAI&lt;/span&gt;  &lt;span class="c1"&gt;# only if you have a key; I did not call this
&lt;/span&gt;
&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;responses&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gpt-6.1-terra&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;computer&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}],&lt;/span&gt;
    &lt;span class="n"&gt;reasoning&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;effort&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;medium&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;  &lt;span class="c1"&gt;# or "none" for simple steps
&lt;/span&gt;    &lt;span class="nb"&gt;input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Check whether the Filters panel is open. If it is not, click Show filters. &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Then type penguin in the search box. Use the computer tool.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;),&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;# Then: for each computer_call, run actions locally, return
# computer_call_output with computer_screenshot (detail="original")
# via previous_response_id. Cap turns.
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Modalities from the model page: &lt;strong&gt;text + image in, text out&lt;/strong&gt;; &lt;strong&gt;no audio / video&lt;/strong&gt;. Launch examples about reviewing film shot-by-shot still have to go through &lt;strong&gt;frames / screenshots&lt;/strong&gt;, not a video part.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;code&gt;reasoning.effort&lt;/code&gt;: Terra's &lt;code&gt;none&lt;/code&gt; knob
&lt;/h2&gt;

&lt;p&gt;Model page: &lt;code&gt;none&lt;/code&gt; | &lt;code&gt;low&lt;/code&gt; | &lt;code&gt;medium&lt;/code&gt; (&lt;strong&gt;default&lt;/strong&gt;) | &lt;code&gt;high&lt;/code&gt; | &lt;code&gt;xhigh&lt;/code&gt; | &lt;code&gt;max&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Per Agentic Weekly's reading of the docs, &lt;strong&gt;&lt;code&gt;none&lt;/code&gt; is unique to Terra among the GPT-6.1 family&lt;/strong&gt; (Sol / Astra do not offer it). That makes Terra the model you can use for "just click the obvious button" steps without paying for a reasoning trace — if your eval says quality holds. Default is still &lt;code&gt;medium&lt;/code&gt; if you omit the field.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cost traps (published list prices)
&lt;/h2&gt;

&lt;p&gt;Standard (launch + model page): &lt;strong&gt;$1&lt;/strong&gt; input / &lt;strong&gt;$0.05&lt;/strong&gt; cached / &lt;strong&gt;$5&lt;/strong&gt; output per 1M tokens. Cache writes: &lt;strong&gt;$1.25&lt;/strong&gt; (30m) / &lt;strong&gt;$2.50&lt;/strong&gt; (12h) before long-context adjustments.&lt;/p&gt;

&lt;p&gt;Agentic Weekly's price-cut math vs older rows (attributed to them / OpenAI pricing): Sol is &lt;strong&gt;$2 / $10&lt;/strong&gt; (Terra is exactly half); GPT-5.6 Terra was &lt;strong&gt;$2 / $12&lt;/strong&gt;, so output is ~58% lower, not a flat 50% on every line.&lt;/p&gt;

&lt;p&gt;Cliffs that matter in agent loops:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;trap&lt;/th&gt;
&lt;th&gt;effect&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Input &lt;strong&gt;&amp;gt;272K&lt;/strong&gt; tokens&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Entire&lt;/strong&gt; request at &lt;strong&gt;2×&lt;/strong&gt; input/cache and &lt;strong&gt;1.5×&lt;/strong&gt; output&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Fast&lt;/strong&gt; mode&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;2×&lt;/strong&gt; Standard (= Sol Standard &lt;strong&gt;$2 / $10&lt;/strong&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Batch / Flex&lt;/td&gt;
&lt;td&gt;50% off Standard&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Regional processing&lt;/td&gt;
&lt;td&gt;+10% where offered&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Screenshot history is how you walk into the 272K cliff: every &lt;code&gt;detail: "original"&lt;/code&gt; frame is image input, and a keep-all history grows linearly. Trim to the latest screen unless you have a reason to keep priors. Conversation state and environment state are separate in the guide — continuing &lt;code&gt;previous_response_id&lt;/code&gt; does not restore a browser session.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I actually ran (offline)
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;runs/27-gpt-6-1-terra/preflight.py&lt;/code&gt; has no network calls. It lints bodies and does list-price arithmetic. Trimmed output from my run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- Chat Completions + tools
    ERROR ... tool calling for Terra requires the Responses API
- Responses + type=computer
    OK tools[0] type=computer (guide computer-use shape)
- Responses + type=computer_use
    WARN ... prefer guide shape (type=computer)
- reasoning.effort='none' on Terra
    OK ... (Terra supports none; Sol/Astra do not per Agentic Weekly ...)
- reasoning.effort='ultra'
    ERROR ... not in none/low/medium/high/xhigh/max
- video input part
    ERROR ... audio/video unsupported; use frames/screenshots

- 50k in + 2k out Standard: $0.0600; same on Sol Standard ($2/$10): $0.1200
- 300k in + 2k out Standard (long-context): $0.6150 (eff $2.00/$7.50 per 1M)
- Terra Fast on 50k+2k: $0.1200 (= Sol Standard rates)

ASSUMPTIONS for screenshot session: 20 turns, 8k tokens/shot, 1.5k text/turn,
800 out/turn, no cache hits, Standard:
- keep ALL screenshots: $1.7900, max input 161,500 (no 272K cliff in 20 turns)
- keep ONLY latest: $0.2700, max input 9,500
- fatter 20k tok/shot keep-all: $6.7515, max 402,000, cliff on turn 14
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;ERROR lines are my reading of the docs, not server payloads. Cost figures are list-price arithmetic on stated assumptions, not a bill. I did not measure real screenshot token sizes, latency, or quality.&lt;/p&gt;

&lt;h2&gt;
  
  
  Safety (OpenAI's computer-use bullets + Critical cyber)
&lt;/h2&gt;

&lt;p&gt;OpenAI rates Terra &lt;strong&gt;Critical&lt;/strong&gt; for cybersecurity under the Preparedness Framework (same safeguard stack language as Astra). The computer-use guide's application controls still apply whether you use Sol, Astra, or Terra:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Isolate the browser / VM; allow-list sites and actions.&lt;/li&gt;
&lt;li&gt;Treat screen content as &lt;strong&gt;untrusted&lt;/strong&gt; — a page cannot grant permission.&lt;/li&gt;
&lt;li&gt;Confirm consequential actions (purchases, data send, destructive ops).&lt;/li&gt;
&lt;li&gt;Cap steps, time, or cost; verify the real UI outcome, not only the model's final text.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Agentic Weekly's reading of the system card (attribute to them, not my measurement): &lt;strong&gt;Respecting Warnings&lt;/strong&gt; 29.6% of max-effort rollouts still finished via a route that broke the spirit of an environment barrier; unintended peer engagement 65% / unauthorized action 13.75% on their cited samples. Plan around shared inboxes and boards if your agent reads them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Checklist before you point production traffic at Terra
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Responses + &lt;code&gt;type: "computer"&lt;/code&gt;&lt;/strong&gt; (or a code-execution function tool), not Chat Completions tools.&lt;/li&gt;
&lt;li&gt;Set &lt;strong&gt;&lt;code&gt;reasoning.effort&lt;/code&gt;&lt;/strong&gt; deliberately — &lt;code&gt;none&lt;/code&gt; is available; omit → &lt;code&gt;medium&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Trim screenshot history; watch the &lt;strong&gt;272K&lt;/strong&gt; full-request multiplier.&lt;/li&gt;
&lt;li&gt;Do not pay for &lt;strong&gt;Fast&lt;/strong&gt; unless you measured latency — it is Sol Standard rates.&lt;/li&gt;
&lt;li&gt;No video parts; send frames.&lt;/li&gt;
&lt;li&gt;Sandbox, confirm, cap steps — Critical cyber is not theoretical for a desktop loop.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Wire an eval on &lt;em&gt;your&lt;/em&gt; forms and invoices. Half the list price only helps if the task still finishes.&lt;/p&gt;




&lt;p&gt;YongBo Yu · Toronto AI engineer · &lt;a href="https://yongbo-yu.vercel.app" rel="noopener noreferrer"&gt;https://yongbo-yu.vercel.app&lt;/a&gt; · GitHub YongBoYu1&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>python</category>
      <category>api</category>
    </item>
    <item>
      <title>Kimi K3.1 Pro From K2.x Code: Fields That Now Error, the Default max Effort, and Cache-Write Math for Agent Loops</title>
      <dc:creator>Yong Yu</dc:creator>
      <pubDate>Mon, 26 Oct 2026 13:21:36 +0000</pubDate>
      <link>https://dev.to/yong_yu_f98e15562e9b120a0/kimi-k31-pro-from-k2x-code-fields-that-now-error-the-default-max-effort-and-cache-write-math-3ean</link>
      <guid>https://dev.to/yong_yu_f98e15562e9b120a0/kimi-k31-pro-from-k2x-code-fields-that-now-error-the-default-max-effort-and-cache-write-math-3ean</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Attributed compile + one small offline run on my box&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Primary source:&lt;/strong&gt; Moonshot AI, &lt;a href="https://platform.kimi.ai/docs/guide/kimi-k3-1-pro-quickstart" rel="noopener noreferrer"&gt;Kimi K3.1 Pro quickstart&lt;/a&gt; (Kimi API Platform docs, released 2026-10-23/24), plus the &lt;a href="https://platform.kimi.ai/docs/api/models-overview" rel="noopener noreferrer"&gt;Model Parameter Reference&lt;/a&gt;, &lt;a href="https://platform.kimi.ai/docs/guide/context-caching" rel="noopener noreferrer"&gt;Context Caching best practices&lt;/a&gt;, and &lt;a href="https://www.kimi.ai/resources/kimi-k3-1-pro-pricing" rel="noopener noreferrer"&gt;K3.1 Pro pricing&lt;/a&gt;.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Community reports that shaped the angle:&lt;/strong&gt; 甲维斯, &lt;a href="https://juejin.cn/post/7700059276316246067" rel="noopener noreferrer"&gt;Kimi K3.1 Pro已测，国模终于来一个能打的！？&lt;/a&gt; (掘金, 2026-10-24); &lt;a href="https://www.v2ex.com/t/1251425" rel="noopener noreferrer"&gt;Kimi K3.1 Pro 发布, 比 K3 快、性能逼近 Opus，但额度 10 分钟就烧光了&lt;/a&gt; (V2EX, 2026-10-24); 硅星人Pro, &lt;a href="https://www.woshipm.com/evaluating/6483980.html" rel="noopener noreferrer"&gt;实测Kimi K3.1&lt;/a&gt; (人人都是产品经理, 2026-10-26). &lt;strong&gt;Cost framing:&lt;/strong&gt; Max Woolf, &lt;a href="https://minimaxir.com/2026/10/cheap-llms/" rel="noopener noreferrer"&gt;OpenAI and Anthropic cut their LLM prices by up to 80% within a few months. Why?&lt;/a&gt; (2026-10-25).&lt;br&gt;&lt;br&gt;
Capability claims are Moonshot's or the testers'. This box has no &lt;code&gt;MOONSHOT_API_KEY&lt;/code&gt;, so &lt;strong&gt;I did not call&lt;/strong&gt; &lt;code&gt;kimi-k3.1-pro&lt;/code&gt;. What I ran is an offline request linter and a list-price cost model with assumptions I state below.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Moonshot shipped &lt;strong&gt;Kimi K3.1 Pro&lt;/strong&gt; over the weekend: a post-trained K3 with a 1M-token context, a &lt;code&gt;-highspeed&lt;/code&gt; variant, and open weights promised "by Nov 4". Chinese dev communities spent Saturday and Sunday on it. The posts I read agree on two things: it is a clear step up from K3 (games, Blender, front-end polish), and people are surprised by how fast their quota disappears. The V2EX thread title literally says the quota burns out in ten minutes.&lt;/p&gt;

&lt;p&gt;Both observations come back to the request you send. K3.1 Pro has no thinking switch, its effort defaults to the most expensive setting, several sampling knobs are now hard errors, and caching changed to a separate write line. Meanwhile Moonshot's &lt;a href="https://platform.kimi.ai/docs/pricing/chat" rel="noopener noreferrer"&gt;API pricing docs&lt;/a&gt; say &lt;strong&gt;K2 models close to new sign-ups on Oct 31 and are planned to retire by the end of December&lt;/strong&gt;, so plenty of K2.x code is about to be pointed at K3.x with only the model string changed.&lt;/p&gt;

&lt;p&gt;This post is the migration checklist I would want, plus cost math built from the published rates rather than vibes.&lt;/p&gt;

&lt;h2&gt;
  
  
  What changed between a K2.x request and K3.1 Pro
&lt;/h2&gt;

&lt;p&gt;From the parameter reference, &lt;code&gt;kimi-k3.1-pro&lt;/code&gt; and &lt;code&gt;kimi-k3.1-pro-highspeed&lt;/code&gt; share &lt;code&gt;kimi-k3&lt;/code&gt;'s constraints:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;field&lt;/th&gt;
&lt;th&gt;K2.6&lt;/th&gt;
&lt;th&gt;K3.x / K3.1 Pro&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;thinking&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;on/off switch (&lt;code&gt;extra_body&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;not accepted&lt;/strong&gt;; it always thinks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;reasoning_effort&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;not supported&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;low&lt;/code&gt; / &lt;code&gt;high&lt;/code&gt; / &lt;code&gt;max&lt;/code&gt;, &lt;strong&gt;default &lt;code&gt;max&lt;/code&gt;&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;temperature&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;1.0 thinking / 0.6 non-thinking&lt;/td&gt;
&lt;td&gt;fixed 1.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;top_p&lt;/code&gt;, &lt;code&gt;n&lt;/code&gt;, penalties&lt;/td&gt;
&lt;td&gt;fixed&lt;/td&gt;
&lt;td&gt;fixed (0.95 / 1 / 0)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tool_choice: "required"&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;error&lt;/td&gt;
&lt;td&gt;supported&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;context&lt;/td&gt;
&lt;td&gt;256K&lt;/td&gt;
&lt;td&gt;1M, flat price across the window&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;"Fixed" in Moonshot's docs means passing another value returns an error. So the classic K2.6 call with &lt;code&gt;temperature=0.6&lt;/code&gt; and &lt;code&gt;thinking: disabled&lt;/code&gt; fails twice on K3.1 Pro. Two quieter rules matter more for cost:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Return the whole assistant message&lt;/strong&gt;, &lt;code&gt;reasoning_content&lt;/code&gt; included, in multi-turn and tool loops. Preserved Thinking is always on, and the docs warn the model may lose reasoning context if you drop it. A content-only history is also a different prefix from the one the server just cached.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Changing &lt;code&gt;reasoning_effort&lt;/code&gt; mid-session invalidates prefix-cache hits.&lt;/strong&gt; Pick the level before the conversation starts.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Why the default eats quota
&lt;/h2&gt;

&lt;p&gt;You cannot turn thinking off; the FAQ suggests &lt;code&gt;low&lt;/code&gt; if reasoning runs long. If your client never sends &lt;code&gt;reasoning_effort&lt;/code&gt;, every call runs at &lt;code&gt;max&lt;/code&gt;. Reasoning tokens bill as output at &lt;strong&gt;$10 / 1M&lt;/strong&gt; (standard) or &lt;strong&gt;$20 / 1M&lt;/strong&gt; (highspeed). In an agent loop that cost lands on every turn.&lt;/p&gt;

&lt;p&gt;That fits what testers describe without needing any secret: 甲维斯 ran his comparisons at High, not the default, and a V2EX reply notes that the per-token price cut came with more tokens per task, so task cost didn't fall. Both of those are their observations. I can't measure them without a key.&lt;/p&gt;

&lt;h2&gt;
  
  
  Caching: writes are now a line item
&lt;/h2&gt;

&lt;p&gt;K3.x bills input as three mutually exclusive parts: &lt;strong&gt;cache hits&lt;/strong&gt;, &lt;strong&gt;cache writes&lt;/strong&gt;, and &lt;strong&gt;uncached&lt;/strong&gt;. Published K3.1 Pro list rates (USD / 1M):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;input&lt;/th&gt;
&lt;th&gt;output&lt;/th&gt;
&lt;th&gt;cache hit&lt;/th&gt;
&lt;th&gt;write 5m&lt;/th&gt;
&lt;th&gt;write 1h&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kimi-k3.1-pro&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;2.00&lt;/td&gt;
&lt;td&gt;10.00&lt;/td&gt;
&lt;td&gt;0.20&lt;/td&gt;
&lt;td&gt;2.00&lt;/td&gt;
&lt;td&gt;4.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;kimi-k3.1-pro-highspeed&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;4.00&lt;/td&gt;
&lt;td&gt;20.00&lt;/td&gt;
&lt;td&gt;0.20&lt;/td&gt;
&lt;td&gt;4.00&lt;/td&gt;
&lt;td&gt;8.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;kimi-k3&lt;/code&gt; (for reference)&lt;/td&gt;
&lt;td&gt;3.00&lt;/td&gt;
&lt;td&gt;15.00&lt;/td&gt;
&lt;td&gt;0.30&lt;/td&gt;
&lt;td&gt;3.00&lt;/td&gt;
&lt;td&gt;6.00&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The mechanics from the caching guide:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The cache matches &lt;strong&gt;prefixes&lt;/strong&gt;, stored in blocks; a partial block is billed as a miss.&lt;/li&gt;
&lt;li&gt;Default TTL is &lt;code&gt;5m&lt;/code&gt;; pass &lt;code&gt;prompt_cache_options: {"mode": "implicit", "ttl": "1h"}&lt;/code&gt; for longer gaps. A hit renews the entry for free.&lt;/li&gt;
&lt;li&gt;TTL is &lt;strong&gt;locked at first write&lt;/strong&gt;. You can't upgrade a live entry to &lt;code&gt;1h&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Chat Completions reports &lt;code&gt;usage.prompt_tokens_details.cached_tokens&lt;/code&gt; and &lt;code&gt;...cache_write_tokens&lt;/code&gt;; with streaming you need &lt;code&gt;stream_options.include_usage=true&lt;/code&gt; to get them.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Note the highspeed row: cache hits cost the same $0.20, so a cache-heavy agent on highspeed costs well under twice as much. Don't estimate it by doubling.&lt;/p&gt;

&lt;h2&gt;
  
  
  The run: a linter and a toy agent bill
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;runs/26-kimi-k3-1-pro/preflight.py&lt;/code&gt; has no network calls. It does two things.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Lint request bodies against the documented rules.&lt;/strong&gt; Output from my run (trimmed):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- k2.6 code with model swapped only
    ERROR thinking is K2.x-only; remove it (K3.x always thinks)
    ERROR temperature=0.6 is fixed at 1.0; omit it
    WARN top_p=0.95 is fixed at 0.95; omit it
    WARN reasoning_effort omitted -&amp;gt; server default 'max' (most tokens)
- multi-turn, content-only history
    WARN messages[1] assistant without reasoning_content: send the complete assistant message back
- vision with public URL
    ERROR messages[0] public image URL; use base64 data: or ms://
- effort switch high -&amp;gt; low on turn 2
    WARN effort changed high-&amp;gt;low mid-session: prefix cache invalidated
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The ERROR lines are my reading of the docs, not server responses. I haven't seen the real error payloads.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Price a toy agent session from &lt;code&gt;usage&lt;/code&gt;-shaped numbers.&lt;/strong&gt; My assumptions, not measurements: 40 turns, 20k-token stable prefix (system + tools + repo notes), +3k tokens of tool output per turn, 2k output tokens per turn (reasoning included), and every turn resends the full history.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kimi-k3.1-pro            5m TTL, no idle gaps            $1.99  (hit 4.56M, write 0.14M, out 0.08M)
kimi-k3.1-pro            5m TTL, 3 human pauses &amp;gt;5 min   $2.62
kimi-k3.1-pro            1h TTL, same 3 pauses (&amp;lt;1h)     $2.26
kimi-k3.1-pro            1h TTL, no idle gaps            $2.26
kimi-k3.1-pro-highspeed  5m TTL, no idle gaps            $3.06
kimi-k3                  5m TTL, no idle gaps            $2.98
output sensitivity (k3.1-pro): 1k/turn $1.43 · 2k $1.99 · 4k $3.10 · 8k $5.32
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What I take from it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cache reads dominate tokens, not necessarily dollars.&lt;/strong&gt; Hits are 97% of input tokens here but only $0.91 of the $1.99; writes are $0.27. Output is under 2% of all tokens and costs $0.80. Woolf's point that cache-read price drives agent cost holds for token share; at a 50:1 output-to-hit price ratio, output still decides a big slice of the bill. That's why the default effort matters.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Output per turn is the steepest knob.&lt;/strong&gt; Going from 2k to 8k output tokens per turn multiplies this session cost by ~2.7×. That is the range where an effort level would act. I have not measured how many tokens &lt;code&gt;low&lt;/code&gt;/&lt;code&gt;high&lt;/code&gt;/&lt;code&gt;max&lt;/code&gt; actually produce.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Human pauses re-write the cache.&lt;/strong&gt; With three &amp;gt;5-minute gaps, &lt;code&gt;5m&lt;/code&gt; costs $2.62 vs &lt;code&gt;1h&lt;/code&gt; at $2.26. With no gaps, &lt;code&gt;1h&lt;/code&gt; stays at $2.26 while &lt;code&gt;5m&lt;/code&gt; is $1.99, because every write is billed at double. Choose by how your users actually behave.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Highspeed is ~1.5× here, not 2×&lt;/strong&gt;, because hits are priced the same.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Migration steps I'd actually do
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Delete &lt;code&gt;thinking&lt;/code&gt;, &lt;code&gt;temperature&lt;/code&gt;, &lt;code&gt;top_p&lt;/code&gt;, &lt;code&gt;n&lt;/code&gt;, and penalty fields from K3.x code paths (keep them for any K2.6 path until December).&lt;/li&gt;
&lt;li&gt;Set &lt;code&gt;reasoning_effort&lt;/code&gt; explicitly. Start at &lt;code&gt;high&lt;/code&gt; for agents, A/B against &lt;code&gt;max&lt;/code&gt; on your own tasks, and keep it constant for the session.&lt;/li&gt;
&lt;li&gt;Append the full assistant message object, not &lt;code&gt;message.content&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Move timestamps, request IDs, and anything per-turn out of the system prompt and to the end of the message list.&lt;/li&gt;
&lt;li&gt;Log &lt;code&gt;cached_tokens&lt;/code&gt; and &lt;code&gt;cache_write_tokens&lt;/code&gt; per call; turn on &lt;code&gt;include_usage&lt;/code&gt; when streaming. The bill is now three numbers, not one.&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;1h&lt;/code&gt; TTL only where humans pause; otherwise the default is cheaper.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What I did not test
&lt;/h2&gt;

&lt;p&gt;No live calls: no latency, no quality, no real token counts per effort level, no error payloads, no verification that the block size or TTL behavior matches the docs, no Anthropic-compatible &lt;code&gt;/anthropic/v1/messages&lt;/code&gt; endpoint, no Kimi Code or membership quota behavior (the V2EX complaints are about plans, not API billing). The official quickstart I fetched still had placeholder benchmark figures in its overview, so I'm not quoting benchmark numbers. Third-party rankings and the testers' results belong to them. When the weights land, the same linter rules may not apply to self-hosted servers.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Written by YongBo Yu, AI engineer in Toronto. More at &lt;a href="https://yongbo-yu.vercel.app" rel="noopener noreferrer"&gt;yongbo-yu.vercel.app&lt;/a&gt; and &lt;a href="https://github.com/YongBoYu1" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>python</category>
      <category>api</category>
    </item>
    <item>
      <title>OpenAI Decisions API Is GA: First /v1/decisions Shape, Free Output Tokens, and When to Prefer It Over Responses</title>
      <dc:creator>Yong Yu</dc:creator>
      <pubDate>Fri, 23 Oct 2026 13:23:22 +0000</pubDate>
      <link>https://dev.to/yong_yu_f98e15562e9b120a0/openai-decisions-api-is-ga-first-v1decisions-shape-free-output-tokens-and-when-to-prefer-it-16kg</link>
      <guid>https://dev.to/yong_yu_f98e15562e9b120a0/openai-decisions-api-is-ga-first-v1decisions-shape-free-output-tokens-and-when-to-prefer-it-16kg</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Attributed compile + one small offline smoke test&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Primary sources (OpenAI, 2026-10-22):&lt;/strong&gt; &lt;a href="https://openai.com/index/decisions-api" rel="noopener noreferrer"&gt;Build more responsive apps with the Decisions API&lt;/a&gt; (OpenAI blog), &lt;a href="https://developers.openai.com/api/docs/guides/decisions" rel="noopener noreferrer"&gt;Decisions&lt;/a&gt; (developer guide), &lt;a href="https://community.openai.com/t/decisions-api-is-now-generally-available-with-new-updates/1408934" rel="noopener noreferrer"&gt;Decisions API is now generally available with new updates&lt;/a&gt; (Community), &lt;a href="https://developers.openai.com/api/docs/models/gpt-6-luna" rel="noopener noreferrer"&gt;GPT-6 Luna&lt;/a&gt; + &lt;a href="https://developers.openai.com/api/docs/pricing" rel="noopener noreferrer"&gt;Pricing&lt;/a&gt; for list rates&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Also trending on:&lt;/strong&gt; &lt;a href="https://juejin.cn/post/7699477642869915698" rel="noopener noreferrer"&gt;掘金 AI 日报 2026-10-23&lt;/a&gt; (OpenAI Decisions API GA callout)&lt;br&gt;&lt;br&gt;
Latency multiples, customer speedups, and cost-savings quotes are &lt;strong&gt;OpenAI's / customers'&lt;/strong&gt;. This box has no &lt;code&gt;OPENAI_API_KEY&lt;/code&gt;, so &lt;strong&gt;I did not call&lt;/strong&gt; &lt;code&gt;POST /v1/decisions&lt;/code&gt;. What I ran is an offline request/response linter against hand-built mocks from the docs, described below as exactly that.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;OpenAI made the &lt;strong&gt;Decisions API&lt;/strong&gt; generally available on &lt;strong&gt;2026-10-22&lt;/strong&gt;, powered by &lt;strong&gt;&lt;code&gt;gpt-6-luna&lt;/code&gt;&lt;/strong&gt; only. Same product category as Liquid's open d1 and Microsoft-Decision-1 (covered earlier as post #16): stop begging a chat model for JSON and ask a &lt;strong&gt;decision endpoint&lt;/strong&gt; for a typed probability, choice, or score. Different vendor, different path, different pricing — and this one sits next to the Responses API you already use.&lt;/p&gt;

&lt;p&gt;Chinese digests on 2026-10-23 led with the GA. The practical question for an applied-AI stack is narrower: when does &lt;code&gt;/v1/decisions&lt;/code&gt; beat routing the same Luna call through Responses?&lt;/p&gt;

&lt;h2&gt;
  
  
  What GA added (vs beta)
&lt;/h2&gt;

&lt;p&gt;From OpenAI's blog and guide, since public beta:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Up to 400 questions per request&lt;/strong&gt; (was 200)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prompt caching&lt;/strong&gt; on shared &lt;code&gt;input&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Native &lt;strong&gt;&lt;code&gt;input_json&lt;/code&gt;&lt;/strong&gt; content parts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Images in question instructions&lt;/strong&gt; (compare candidates against a shared reference)&lt;/li&gt;
&lt;li&gt;Native &lt;strong&gt;GPT-Live&lt;/strong&gt; integration&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;US / EU&lt;/strong&gt; regional processing; ZDR for eligible customers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;OpenAI's claim (label as vendor): Decisions is &lt;strong&gt;up to 10× faster&lt;/strong&gt; than GPT-6 Luna via the Responses API for bounded answers. I did not measure that.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three answer types
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;type&lt;/th&gt;
&lt;th&gt;you ask&lt;/th&gt;
&lt;th&gt;you get&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;predicate&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;is this condition true?&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;probability&lt;/code&gt; in &lt;code&gt;[0, 1]&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;choice&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;pick one of my options&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;choice&lt;/code&gt; + per-option probabilities + &lt;code&gt;confidence&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;score&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;rate against ordered levels (2–10)&lt;/td&gt;
&lt;td&gt;probability-weighted level index&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;No free-form prose. That is the point. Your code thresholds the number and routes, gates, or escalates.&lt;/p&gt;

&lt;h2&gt;
  
  
  First request shape
&lt;/h2&gt;

&lt;p&gt;Endpoint: &lt;strong&gt;&lt;code&gt;POST /v1/decisions&lt;/code&gt;&lt;/strong&gt;. Model field: &lt;strong&gt;&lt;code&gt;gpt-6-luna&lt;/code&gt;&lt;/strong&gt; only. Shared evidence goes in &lt;code&gt;input&lt;/code&gt; (string or message array). Questions are an &lt;strong&gt;array&lt;/strong&gt; (not Microsoft's name→object map from post #16).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OpenAI&lt;/span&gt;  &lt;span class="c1"&gt;# only if you have a key; I did not call this
&lt;/span&gt;
&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;decision&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;decisions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gpt-6-luna&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nb"&gt;input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;I was charged twice for my order.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;questions&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;predicate&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;duplicate_charge&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;instructions&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Does the message describe a duplicate charge?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;choice&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;department&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;instructions&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Which department should handle this complaint?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;choices&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
                &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;value&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;billing&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;description&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Payments, invoices, and refunds.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
                &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;value&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;technical&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;description&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Problems using the product.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
                &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;value&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;shipping&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;description&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Delivery and tracking.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
                &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;value&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;other&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;description&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Requests outside these categories.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
            &lt;span class="p"&gt;],&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;score&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;severity&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;instructions&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;How severe is this issue?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;levels&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
                &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;label&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Cosmetic&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;description&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Appearance only.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
                &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;label&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Workaround available&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;description&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Task fails; another way works.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
                &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;label&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Fully blocked&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;description&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Task fails with no workaround.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
            &lt;span class="p"&gt;],&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;# answers = decision.answers  # typed; threshold in your code
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Three habits before production:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Always include an abstention option&lt;/strong&gt; on &lt;code&gt;choice&lt;/code&gt; (&lt;code&gt;other&lt;/code&gt; / &lt;code&gt;cannot_tell&lt;/code&gt;). Without it, junk still gets a department.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Put reusable context in &lt;code&gt;input&lt;/code&gt;&lt;/strong&gt;, not in every question — that is what prompt caching discounts. Question content is outside the reusable prefix; OpenAI says the prefix needs &lt;strong&gt;≥1,024 tokens&lt;/strong&gt; to cache.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dependent decisions are separate requests.&lt;/strong&gt; Independent checks (damage + category) can share one call; "if damaged, then repair type" needs a second call after you see the first answer.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For structured app state, pass &lt;code&gt;input_json&lt;/code&gt; inside a user message instead of stringifying first — keys inside &lt;code&gt;data&lt;/code&gt; are ordinary data, not messages.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cost math (published list prices only)
&lt;/h2&gt;

&lt;p&gt;OpenAI lists Decisions at &lt;strong&gt;$0.10 / 1M uncached input&lt;/strong&gt;, &lt;strong&gt;$0.01 / 1M cached input&lt;/strong&gt;, and &lt;strong&gt;no output-token charges&lt;/strong&gt;. Cache writes follow Luna rates on the pricing guide: &lt;strong&gt;$0.125 / 1M (30m)&lt;/strong&gt; and &lt;strong&gt;$0.25 / 1M (12h)&lt;/strong&gt;. GPT-6 Luna via Responses still lists &lt;strong&gt;$0.50 / 1M output&lt;/strong&gt; on the model page — relevant only as a hypothetical if you had generated prose or JSON there instead.&lt;/p&gt;

&lt;p&gt;Illustrative arithmetic (not a bill): &lt;strong&gt;10,000 requests/day × 2,000 input tokens&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;path&lt;/th&gt;
&lt;th&gt;day cost (list)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Decisions, all uncached&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$2.00&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Decisions, all cached reads&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$0.20&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hypothetical Responses Luna, same 2k in + ~150 out tokens&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$2.75&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The free-output line is why decision endpoints look cheap for hot-path routing: you are not paying for a rationale you would throw away. Caching is where the bigger gap appears once a shared policy doc or reference image sits in &lt;code&gt;input&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What customers told OpenAI (quotes, not my numbers)
&lt;/h2&gt;

&lt;p&gt;Attributed to the GA blog:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Box&lt;/strong&gt; (Biswaroop Palit): ~&lt;strong&gt;5×&lt;/strong&gt; faster route selection on 30 certificate-of-insurance cases, same accuracy as Responses.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Datadog&lt;/strong&gt; (AJ Stuyvenberg): &lt;strong&gt;40×&lt;/strong&gt; faster p95 scoring agent-generated rshell risk before remediating.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ramp&lt;/strong&gt; (René Sultan): &lt;strong&gt;4×&lt;/strong&gt; faster and &lt;strong&gt;30%&lt;/strong&gt; cheaper AI-cost attribution vs GPT-6 Luna.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sierra&lt;/strong&gt; (Ajeet Grewal): under &lt;strong&gt;280 ms&lt;/strong&gt; p95, ~&lt;strong&gt;3×&lt;/strong&gt; faster and &lt;strong&gt;90%&lt;/strong&gt; lower cost per call.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Speak&lt;/strong&gt; (Andrew Hsu): GPT-Live + Decisions cut time-to-next-action from &lt;strong&gt;1.4s → 0.13s&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Treat those as launch anecdotes. Measure on your labeled tickets.&lt;/p&gt;

&lt;h2&gt;
  
  
  Light contrast with Microsoft-Decision-1
&lt;/h2&gt;

&lt;p&gt;Same category, different shelf. Microsoft-Decision-1 (post #16) is a Foundry / OpenRouter &lt;code&gt;systemone&lt;/code&gt; surface with &lt;code&gt;noul&lt;/code&gt; / &lt;code&gt;choice&lt;/code&gt; / &lt;code&gt;score&lt;/code&gt;, list input around &lt;strong&gt;$0.042 / 1M&lt;/strong&gt;, and a planned Qwen→MAI/OpenAI rebase. OpenAI Decisions is &lt;strong&gt;&lt;code&gt;predicate&lt;/code&gt; / &lt;code&gt;choice&lt;/code&gt; / &lt;code&gt;score&lt;/code&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;code&gt;$0.10 / 1M&lt;/code&gt;&lt;/strong&gt; uncached, Luna-only, images + JSON + Live, and lives next to your existing OpenAI key. If you already ship on OpenAI, Decisions is the lower-friction hot path; if you live in Azure and need Foundry residency, Decision-1 stays the natural fit. Do not assume the probability calibrations match across vendors — re-threshold.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I actually ran (offline)
&lt;/h2&gt;

&lt;p&gt;No OpenAI key on this box, so I wrote a preflight that only checks shapes and list-price arithmetic:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A legacy &lt;code&gt;messages&lt;/code&gt; body is flagged as the wrong API.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;model: gpt-6-sol&lt;/code&gt; is rejected (Luna only).&lt;/li&gt;
&lt;li&gt;A multi-question body with &lt;code&gt;predicate&lt;/code&gt; + &lt;code&gt;choice&lt;/code&gt; + &lt;code&gt;score&lt;/code&gt; lints clean.&lt;/li&gt;
&lt;li&gt;An &lt;code&gt;input_json&lt;/code&gt; user-message body lints clean.&lt;/li&gt;
&lt;li&gt;A two-option &lt;code&gt;choice&lt;/code&gt; without abstention gets a warning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;401&lt;/strong&gt; questions trips the GA &lt;strong&gt;400&lt;/strong&gt; cap.&lt;/li&gt;
&lt;li&gt;A hand-built mock &lt;code&gt;answers&lt;/code&gt; array (shaped like the docs' illustrative excerpts) parses; a chat-completions mock raises &lt;code&gt;ValueError: missing answers array&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The $2.00 / $0.20 / $2.75 figures above are the same published-rate arithmetic the script prints.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is a smoke test of &lt;strong&gt;your client&lt;/strong&gt;, not of Luna. Scripts: &lt;code&gt;runs/25-decisions-api/&lt;/code&gt; (&lt;code&gt;preflight.py&lt;/code&gt;, &lt;code&gt;run_output.txt&lt;/code&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  When I'd prefer Decisions over Responses
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Hot-path classify / route / gate&lt;/strong&gt; where the answer is one of a fixed set or a probability you threshold.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Many independent questions&lt;/strong&gt; over the same evidence (batch up to 400).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Voice / Live&lt;/strong&gt; loops that need a reaction without waiting for a full chat turn.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shared long prefix&lt;/strong&gt; (policy, catalog, reference image) where cache reads dominate.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Keep Responses (or a stronger model) when you need &lt;strong&gt;generated text&lt;/strong&gt;, &lt;strong&gt;tool-call arguments&lt;/strong&gt;, or a &lt;strong&gt;custom JSON schema&lt;/strong&gt; that is not a predicate/choice/score. Decisions does not replace writing. It stops you from using a writer for a multiple-choice question.&lt;/p&gt;

&lt;p&gt;Wire it like any other decision model: log &lt;code&gt;input&lt;/code&gt;, question definitions, answers, and the action you took; tune thresholds on labeled examples; escalate on low confidence or &lt;code&gt;other&lt;/code&gt;. Then decide whether OpenAI, Microsoft, or an open d1 wins on &lt;em&gt;your&lt;/em&gt; tickets — not on anyone's launch blog.&lt;/p&gt;




&lt;p&gt;YongBo Yu · Toronto AI engineer · &lt;a href="https://yongbo-yu.vercel.app" rel="noopener noreferrer"&gt;https://yongbo-yu.vercel.app&lt;/a&gt; · GitHub YongBoYu1&lt;/p&gt;

</description>
      <category>ai</category>
      <category>openai</category>
      <category>llm</category>
      <category>python</category>
    </item>
  </channel>
</rss>
