Sunday, October 25, 2026
-
How Cerebras serves the 3T parameter Kimi K3 across 59 wafers
A Cerebras blog post from October 22 by Sarah Chieng explains how the company serves Kimi K3, an open model of about 3 trillion parameters, as a pipeline across 59 WSE-3T wafers with 44 GB of on chip SRAM each. The 69 linear attention layers are packed two per wafer and the 24 dense layers get one wafer each, leaving spare SRAM for the KV cache. With 4 bit weights and an 8 bit KV cache, Cerebras estimates 1,000 to 2,000+ tokens per second.
Heat · Hacker News, 151 points and 53 comments on October 25What people foundOnly activations move between wafers, at roughly 2 microseconds per hop over RDMA on Ethernet, so the weights never move and splitting one or two layers per wafer stays cheap. A Hacker News commenter estimated about 4.1 J per token from 20 kW per wafer and roughly 1,500 tokens per second, which is a rough outside guess and not a Cerebras figure.Learn it15 min · 5 steps
Key ideas
- Pipeline parallelism
- The model is cut into consecutive groups of layers, each group lives on its own chip, and requests flow through the chips like an assembly line.
- KV cache
- The stored attention keys and values for tokens already processed, which grows with context length and competes with weights for fast memory.
- On chip SRAM
- Very fast memory built into the processor itself, far quicker than GPU HBM but much smaller per chip, which is why 44 GB per wafer is the main constraint.
Steps
- Read the Cerebras post first, focusing on the section that adds up wafers as 35 for linear attention layers plus 24 for dense layers.
- Redo the memory math yourself: about 16 GB per layer at 4 bit weights, two linear attention layers per 44 GB wafer, one dense layer per wafer plus KV cache.
- Note why only activations cross wafer boundaries and why a 2 microsecond hop is small next to the compute time per layer.
- Skim the Hacker News thread for the explanation of the 2D mesh of cores and the per token energy estimate.
- Self check: why do dense layers get a whole wafer each while linear attention layers share one?
Try it30 min · 5 steps
You need: Python 3 and a text editor, no packages beyond the standard library. No API key needed.Steps
- Write a short Python script that takes parameter count, bits per weight, number of layers and memory per device as inputs.
- Plug in the numbers from the post, about 3 trillion parameters at 4 bits over 93 layers, and check that you get about 16 GB per layer and that 59 wafers of 44 GB fit the weights.
- Add a KV cache term: layers, KV heads, head size, context length and bytes per value, and compute the cache for one 256k token request at 8 bits.
- Swap in an open model you actually run, using its config file for layer count and head sizes, and compute how many 24 GB or 80 GB GPUs a one layer per device pipeline would need.
- Compare the 4 bit plus 8 bit KV setup against 16 bit weights and cache and write down which term dominates.
Small angles to try
- Vary context length from 8k to 256k and find where KV cache overtakes weight memory per device.
- Estimate pipeline latency as layers per device times compute plus hops times 2 microseconds.
- Repeat the math for a mixture of experts model and see how much is idle per token.
-
gpu-unlock: a kernel module that boosts BF16 math on RTX 3000 cards
gpu-unlock by Zagitta is a Linux kernel module that changes speed selector settings on Ampere GeForce chips and resets the card before the NVIDIA driver binds, raising the FP16 and BF16 instruction issue rate. On an RTX 3090 Ti at 450 W, the README reports dense BF16 GEMM rising from 87.50 to 157.41 TFLOPS and FP16 from 87.46 to 118.39 TFLOPS. It is opt in through a kernel command line parameter and covers GA102, GA103, GA104 and GA106 cards, with no reports yet for GA103.
Heat · Hacker News, 96 points and 41 comments per the HN search API on October 25; about 3.4k GitHub stars and 376 forks.What people foundCompute bound work such as LLM prefill speeds up while memory bound decode and INT8 stay about the same, per the README, which cites prefill gains of roughly 14 to 36% in user reports. On Hacker News, author Zagitta said vLLM sees up to a 30% boost depending on kernels and prefill size, while commenter jacquesm warned the big gains need a 450 W power limit and a card running hotter than the stock cooler was designed for.Learn it15 min · 4 steps
Key ideas
- Compute bound vs memory bound
- A compute bound step is limited by arithmetic speed, while a memory bound step waits on reading weights from memory, so faster math only helps the first kind.
- Prefill and decode
- Prefill processes the whole prompt in large matrix multiplies, while decode produces one token at a time and is mostly limited by memory bandwidth.
- Issue rate
- How many instructions of a given type the GPU can start per clock cycle, which sets the ceiling on TFLOPS for that number format.
Steps
- Read the gpu-unlock README on GitHub first, including the supported card list, the benchmark table and the warnings section.
- Read the linked document in the repo on how Ampere was unlocked to see what the module changes and why it must run before the NVIDIA driver.
- Read the top Hacker News comments by jacquesm and Zagitta on power limits and vLLM prefill gains.
- Self check: why would a 2x BF16 math gain give only a 14 to 36% prefill gain and almost nothing for decode?
Try it30 min · 5 steps
You need: A Linux machine with an RTX 3000 card for the compatibility check; PyTorch with CUDA for the baseline measurement. No API key needed. Warning: do not install the module on a machine you rely on; it changes GPU configuration at boot, uses NVIDIA firmware, and may raise power and heat.Steps
- Read the README and the warnings in full before touching anything.
- Run
lspci -Dand find your NVIDIA card's full PCI address, then check whether its chip is GA102, GA103, GA104 or GA106 and how the README's report table lists it. - Without installing anything, write a small PyTorch script that times a large BF16 matrix multiply on your card and computes TFLOPS, to get your own baseline.
- Time prefill and decode separately for a local model you already run, and note what share of total time is prefill.
- Only if you have a spare, throwaway machine: follow the README install and enable steps there, confirm with
journalctl -k -b | grep gpu_unlock, rerun your baseline, and removegpu_unlock.targets=from the kernel command line to undo.
Small angles to try
- Compare your measured prefill share against the README's 14 to 36% range to estimate your real world gain.
- Repeat the BF16 baseline at different power limits to see how much power alone moves the number.
- Check FP16 versus BF16 baselines, since the README reports a larger jump for BF16.
-
Why AI text is hard to read: models overuse features that slow readers
Thomas Hikaru Clark, Matias B. Martin and Kyle Mahowald measured psycholinguistic features linked to reading difficulty in text from nine frontier and near frontier models, including Claude, GPT-5.6, Kimi K2.5 and GLM 5. All nine used more low frequency n-grams and more inanimate subjects with animate verbs than human writing, and most also used longer dependencies, stacked nouns and reduced object relatives in conversation. The authors hypothesize this comes from optimizing models for math, code and reasoning rather than communication, and back it with a small fine tuning experiment.
Heat · Hacker News, 198 points and 169 comments, posted October 24What people foundIn the proof of concept, a length penalty during GRPO training of Qwen2.5-1.5B-Instruct, with no instruction to compress, produced an emergent preference for the shorter option in syntactic alternations such as dropping an optional "that". Teams that reward shorter outputs to save tokens may be pushing prose away from what readers process easily.Learn it15 min · 5 steps
Key ideas
- Dependency length
- The distance in words between a word and the word it grammatically attaches to; longer distances make sentences harder to hold in memory.
- Low frequency n-grams
- Word sequences that rarely occur in ordinary text, which readers process more slowly than familiar phrases.
- Reduced object relative
- A clause like "the bug the test missed" with the word "that" dropped, a construction known to be hard for readers.
Steps
- Read the arXiv abstract first, then the methods section that lists the features and the reference corpora.
- Note the tools: spaCy en_core_web_trf for parses, KenLM trigram models for n-gram rarity, and round trip translation through Japanese as a paraphrase control.
- Read the length penalty experiment and what near and far transfer mean there.
- Skim the Hacker News thread for practitioner reactions.
- Self check: why do the authors compare against round trip paraphrases and not only against human text?
Try it30 min · 5 steps
You need: Python 3 with spaCy and an English pipeline; a small set of your own model outputs and your own human written text. No API key needed if you reuse saved outputs.Steps
- Collect 20 paragraphs of model output your product ships, such as summaries or docs, and 20 comparable paragraphs written by people on your team.
- Install spaCy and an English model following the spaCy install docs.
- Parse every sentence and compute average dependency length as the mean distance between each token and its head.
- Count noun compounds per sentence using the compound dependency label.
- Compare the averages between the two sets and note which outputs score worst.
Small angles to try
- Run the same prompt with and without a "be concise" instruction and compare dependency lengths.
- Compare two models you use on identical prompts.
- Rewrite the worst scoring paragraph by hand and see whether the metrics move.
-
DeepSeek V4.1 Flash at 2 bits in 249 GB with no benchmark loss
ISTA-DASLab published non uniform GGUF quantizations of DeepSeek-V4.1-Flash-1017, a 763B parameter mixture of experts model, using GSQ for scalar quantization and RCO, a gradient based search that picks a quant type per tensor under a size budget. The recommended IQ2_XXS build is 248.84 GB in total including a shared 110.60 GB Engram file. It matched the base model's 93.54 average across AIME25, GPQA-Diamond and LiveCodeBench v6.
Heat · Hugging Face, 228 likes and about 32.5k downloads last monthWhat people foundThe model card says the builds run with the Strata engine on one NVIDIA GPU with 12 GB of VRAM, the rest in system memory and the Engram file memory mapped from an SSD. As of October 23, llama.cpp does not support DeepSeek-V4.1, so the files will not run there yet.Learn it15 min · 4 steps
Key ideas
- Non uniform quantization
- Different tensors get different bit widths, so sensitive layers keep more precision while the rest are squeezed harder.
- GGUF quant types
- Named formats such as IQ2_XXS or IQ4_NL that set how many bits each weight uses and how scales are stored.
- Memory mapping
- The operating system loads parts of a file from disk only when they are touched, so a large table can live on an SSD instead of RAM.
Steps
- Read the Hugging Face model card first, especially the build table and the benchmark table.
- Open the GSQ and RCO papers linked from the card and read only their abstracts and main figures.
- Look at the Strata repository README linked from the card to see how it splits work between GPU, RAM and disk.
- Self check: why can the 110.60 GB Engram file sit on an SSD while the backbone needs RAM and VRAM?
Try it30 min · 5 steps
You need: A browser and Python 3; no large download required. No API key needed.Steps
- Open the model card's file list and note the sizes of the IQ1_M, IQ2_XXS and IQ2_XS backbones and the Engram file.
- Write down your own machine's VRAM, system RAM and free SSD space and check which build, if any, fits the card's 12 GB GPU plus RAM plus SSD layout.
- Compute bits per weight from the 763.2B parameter count and each file size and compare with the card's stated 1.75, 2.00 and 2.25 values.
- Read the recovery column and compare the IQ1_M drop to 92.32 with the size saved versus IQ2_XXS.
- If you have the hardware, read the Strata README for setup steps before downloading anything.
Small angles to try
- Try mixed per tensor quantization on a small model you already run and compare quality at equal file size.
- Estimate how long the 248.84 GB download takes on your connection.
- Track the llama.cpp repository for DeepSeek-V4.1 support.
-
iPhone Duo week in Japan, and Siri AI gets Japanese in iOS 27.2
Apple's first foldable iPhone, the iPhone Duo, went on sale on October 23, and Duo stories lead Japanese mobile news this week. Keitai Watch reports that Siri AI, labeled beta, gets Japanese support with iOS 27.2, letting it search messages, mail and notes together, act on what is on screen, chain actions across apps and add several dates from a photographed flyer to Calendar in one tap. In ITmedia's hands on, it picked the right Tanaka out of about nine in the author's Facebook contacts and sent the Messenger message correctly.
Heat · ITmedia Mobile access ranking on October 25: iPhone Duo stories hold No. 1, No. 3 and No. 4, and the Siri AI hands on review is No. 6.What people foundKeitai Watch says most Siri AI processing runs on the device, with only heavier requests sent to Private Cloud Compute. ITmedia's Junya Ishino says unsupported apps and response speed remain weak points, and a separate ITmedia report finds popular Japanese apps such as LINE still show black bars on the Duo's 7.6 inch inner screen.Learn it15 min · 4 steps
Key ideas
- Personal context
- The assistant draws on your own messages, mail, notes and contacts to resolve requests like which Tanaka you mean.
- Private Cloud Compute
- Apple's server side for requests too heavy for the phone, which Apple describes as having strict privacy protections.
- Cross app actions
- The assistant performs steps inside several apps in one request, which only works for apps that expose those actions to the system.
Steps
- Read Keitai Watch's article on Siri AI Japanese support first for the feature list and the on device versus cloud split.
- Read Junya Ishino's ITmedia hands on for real examples and weak points.
- Read ITmedia's report on Japanese apps not yet optimized for the Duo inner screen.
- Self check: what does an app need to do so an assistant can act inside it, and what happens to apps that skip that work?
Try it30 min · 5 steps
You need: A browser; optionally a Mac with Xcode and an iOS app you own. No API key needed.Steps
- Pick an app you build or use daily and list three tasks a user might ask an assistant to do in it.
- Read Apple's developer documentation on App Intents and note how an app declares an action the system can call.
- For each of your three tasks, write down which action and parameters the app would need to expose.
- If you own an iOS app, check whether it already declares any such actions and whether it was built with an SDK new enough for the Duo inner screen, which ITmedia says is iOS 27.1 or later.
- Write one paragraph on what your users lose if the app is not supported.
Small angles to try
- Compare how the Tanaka example would resolve in your own contacts versus a work directory.
- List which of your app's data would stay on device versus need a server.
- Check a few popular Japanese apps on a large screen device for black bars.
-
Study tests how Grok 4.7 and GPT-6.1 Sol answer forced vote questions
Convovo, a research studio led by Cornell professor Tapan Parikh, asked Grok 4.7 and GPT-6.1 Sol through their APIs, with search on, to name one candidate in nearly 500 races of the 2026 US midterms. Grok named the Republican in 92% of answers and GPT named the Democrat in 97%, and the two agreed less than 10% of the time. The ChatGPT and Grok consumer apps declined the same question, and OpenAI said a developer API call with a prompt demanding a pick does not reflect consumer use.
Heat · TechCrunch feature on October 24, 2026; no engagement numbers were visible.What people foundThe engineering detail: the researchers report that every Grok API request carried about 1,240 input tokens they did not write and could not see or remove, which Parikh described as possibly hidden instructions. A follow up run of 30 races with search off changed the results sharply, with Grok declining 27, so retrieval and provider side prompts matter as much as the weights when measuring model behavior.Learn it15 min · 5 steps
Key ideas
- Raw API versus consumer app
- The same model can answer differently in a chat app, which adds its own system instructions and policies, than through the bare developer API.
- Provider injected tokens
- Input tokens a provider adds to a request on its side, which show up in the usage count even though the caller never sent them.
- Forced choice evaluation
- A test prompt that forbids hedging so a model must pick one option, which reveals default leanings but differs from normal usage.
Steps
- Read the TechCrunch article first for the method, the exact prompt, the results and the company responses.
- Open the Convovo study page and note how it separates the ballot, the reasons given and the sources consulted.
- Compare the search on results with the 30 race search off follow up and list what changed.
- Note why OpenAI argues the API setup differs from consumer use, and why the hidden token count matters for anyone billed per input token.
- Self check: why could two runs of the same model give different answers when one has web search and one does not?
Try it30 min · 5 steps
You need: Python 3 and an API key for any LLM provider you already use; a few cents of usage.Steps
- Pick a provider API you already pay for and write a tiny script that sends a one word user message with no system prompt.
- Record the input token count the API reports in its usage field for that request.
- Count the tokens of your own message locally with the provider's documented tokenizer or token counting endpoint, if it has one.
- Subtract to estimate how many input tokens were added on the provider side, and repeat five times to check it is stable.
- Repeat with any built in tools such as web search turned on and compare the overhead.
Small angles to try
- Run the same neutral factual question through the API and through the consumer app and compare tone and refusals.
- Ask a forced choice question on a non political topic, such as picking one programming language, and measure how often answers change across 10 runs.
- Read the GitHub repo linked from the study page to see how the prompts were scripted.
-
Cursor agents can now click and type in desktop apps and iOS Simulator
Cursor added Computer Use, so its agents can inspect the screen, click controls and type into native desktop apps and the iOS Simulator, alongside reading and editing code. You turn it on by typing @ in an Agent chat and choosing Computer Use. Self hosted workers on macOS and Linux opt in with the
--computer-useflag.Heat · Covered by Flavio Copes on October 24, 2026; no engagement numbers were visible.What people foundOn macOS, Accessibility and Screen Recording must be granted to the separate Cursor Computer Use helper app; per Cursor's docs, grants to Terminal or the Cursor app have no effect, andagent worker debugchecks the install but not those permissions. Flavio Copes advises testing against a development build with disposable data and starting with small read only tasks.Learn it15 min · 4 steps
Key ideas
- Computer use
- An agent tool that takes screenshots and sends mouse and keyboard input so a model can operate a graphical app.
- Helper app permissions
- macOS grants Accessibility and Screen Recording per signed app, so the helper that does the clicking needs its own approval.
- Self hosted worker
- A machine you run that executes Cursor agent tasks, started with the
agent workercommand.
Steps
- Read the Flavio Copes post first for the local workflow and the testing advice.
- Skim the Cursor docs page on self hosted computer use for the macOS helper app and the Linux X11 dependencies.
- Note which checks the docs say are verified by
agent worker debugand which need a real screenshot and click task. - Self check: why does granting Screen Recording to your terminal not let the agent take screenshots?
Try it30 min · 6 steps
You need: An updated Cursor install with an Agent plan that offers Computer Use, a macOS or Linux machine, and for iOS, Xcode with a Simulator; No API key needed beyond your Cursor account.Steps
- Update Cursor, open a small app project you own, and start an Agent conversation.
- Type @ in the prompt field and select Computer Use; if it is missing, confirm Cursor is up to date.
- On macOS, grant Accessibility and Screen Recording to Cursor Computer Use in System Settings, Privacy and Security, then reopen the helper if asked.
- Write down the expected result, then ask the agent for a read only task: identify the open window and list its controls.
- Ask it to click through one changed screen in a development build with disposable data and report action, expected, observed and pass or fail, with screenshots of failures.
- Review the diff afterwards, since a passing click through does not rule out unrelated changes.
Small angles to try
- Run the same check in the iOS Simulator with your development build installed.
- On a Linux box you own, start a worker with
agent worker --computer-use startand runagent worker debugto see which binaries it checks. - Compare how long the agent takes against an existing UI test for the same flow.
-
Google launches Agent Compute Engine and pushes Agent Substrate runtime
At AGNTCon and MCPCon on October 22, Google announced Agent Compute Engine, a service that gives each agent its own Cloud Hypervisor microVM, with a preview due in the coming months. It also highlighted Agent Substrate, an open source runtime on Kubernetes that snapshots idle agents out of memory and resumes them on demand inside gVisor or Cloud Hypervisor sandboxes. Google reports 500 sustained activations per second and under 500 ms suspend and resume in a 200,000 agent benchmark.
Heat · About 5.8k stars and 626 forks on the GitHub repo; the repo predates this week, so the new part is Agent Compute Engine.What people foundSubstrate is Apache 2.0, runs standard OCI images on any Kubernetes cluster and has a local kind quickstart, but its README says it is before version 1.0, "VERY young" and without backward compatibility guarantees. Agent Compute Engine is not usable yet beyond a sign up form.Learn it15 min · 4 steps
Key ideas
- Actor snapshotting
- Saving an idle agent's memory and filesystem state so its machine can be reused, then restoring it when a request arrives.
- gVisor
- A sandbox that intercepts system calls in user space to isolate a container more strongly than plain Linux containers.
- Oversubscription
- Packing more agents than there are workers, because most agents sit idle most of the time.
Steps
- Read the Agent Substrate README first, focusing on actors, workers and snapshot and resume.
- Read the Google Cloud blog post to see how Agent Compute Engine differs from Substrate.
- Compare the benchmark numbers in the blog with the figures quoted in the README and note that both are vendor claims.
- Self check: what state must be captured for a suspended agent to resume on a different worker?
Try it30 min · 6 steps
You need: A Linux machine with Go,kubectland Docker; the README noteskindis installed through Go. No API key needed for the local path.Steps
- Clone the repo on your own machine and read the prerequisites and the warning about kernel neighbor table limits above about 1,000 sandboxes.
- Create the local cluster with
hack/create-kind-cluster.sh. - Deploy the system and the demo with
hack/install-ate-kind.sh deploy ate-system --credential-provider='{"name":"k8s.io"}'and thenhack/install-ate-kind.sh deploy demo-counter. - Install the plugin with
go install ./cmd/kubectl-ateand create an actor withkubectl ate create actor my-counter-1 -a ate-demo-counter --template counter. - Run
kubectl port-forward -n ate-system svc/atenet-router 8000:80, then in another terminal callcurl -X POST -H "ate-target-actor: ate-demo-counter/my-counter-1" -i http://localhost:8000/a few times and watch the counter. - Delete the kind cluster when done.
Small angles to try
- Leave the actor idle, then time the first request after it has been snapshotted.
- Create several counter actors and check whether each keeps its own state.
- Read how credential injection needs a namespace policy before an actor can read Secrets.
-
OpenAI gives Open Responses, its shared LLM API spec, to the AAIF
OpenAI is donating Open Responses, a specification based on its Responses API that defines shared messages, items, tool calls and streaming events across model providers, to the Linux Foundation's Agentic AI Foundation. AWS Bedrock, Databricks, LM Studio, Ollama, Hugging Face, Nvidia, OpenRouter, Red Hat, Vercel, vLLM and OGC, formerly Llama Stack, are listed as supporters. OpenSandbox and Hugging Face's OpenEnv also join AAIF, alongside the Anthropic Agent Skills donation covered on October 23.
Heat · Reported by The New Stack on October 22, 2026 with 11 named supporters; little separate buzz was visible.What people foundAnthropic and Google are not on the supporter list: per The New Stack, Anthropic keeps its Messages API and Google defaults to its Interactions API. An OpenAI spokesperson said Vercel AI Gateway and Databricks Model Serving already implement the spec.Learn it15 min · 4 steps
Key ideas
- Items
- The spec's atomic unit of model output and tool use, so messages and tool calls share one shape.
- Streaming events
- A fixed set of event types a server emits while generating, so one client parser can work with many providers.
- Agentic AI Foundation
- A Linux Foundation group that hosts agent standards such as MCP, A2A and AGENTS.md.
Steps
- Read the openresponses.org home page first for the building blocks the spec defines.
- Read The New Stack article for who backs it and who does not.
- Open the acceptance tests linked from the spec site to see what an implementation must pass.
- Self check: what would change in your code if your provider spoke Open Responses instead of its own API?
Try it30 min · 5 steps
You need: A local runtime you already use, such as Ollama, LM Studio or vLLM, and any HTTP client. No API key needed for a local model.Steps
- Check your local runtime's own docs for whether it exposes a Responses style endpoint, and note the path it documents.
- Start the runtime with a small model you already have downloaded.
- Send one plain text request in the Responses shape and save the raw JSON reply.
- Send a second request that defines one simple tool, such as getting the time, and inspect how the tool call item comes back.
- Compare both replies against the item and event shapes described on the spec site.
Small angles to try
- Point the same client at a second local runtime and diff the replies.
- Turn on streaming and list the event types you receive.
- Run the spec's acceptance tests against your local endpoint if its instructions fit your setup.
-
MiniMax M3.1 Flash weights are out, four days after the API launch
MiniMax published the MiniMax-M3.1-Flash weights on Hugging Face, which the ChinaAPI timeline dates to October 23, after the API launched on October 19 with weights only promised. The model card lists about 428B total and 23B active parameters per token and up to 1M tokens of context. It ships under the custom minimax-community license, not Apache or MIT.
Heat · 279 likes and about 5.8k downloads in the last month on the Hugging Face model page.What people foundThe card recommends SGLang, vLLM or TokenSpeed for serving; Transformers, KTransformers, unsloth and ATOM integrations are listed as in progress, and no inference provider hosts it yet. The card is internally inconsistent on size, since its file widget shows 220B, so check the files before planning hardware.Learn it15 min · 4 steps
Key ideas
- Mixture of experts
- A model where each token only runs through a few expert blocks, so active parameters are far fewer than total parameters.
- Total versus active parameters
- Total size sets the memory needed to hold the weights, while active size drives the compute per token.
- Community license
- A custom model license whose terms you must read before commercial use, unlike standard licenses such as Apache 2.0.
Steps
- Read the Hugging Face model card first, including the license section and the serving instructions.
- Estimate the memory needed to hold the weights at the precision of the published files, using the file sizes on the Files tab.
- Compare why 23B active parameters make it fast but not small enough for a single consumer GPU.
- Self check: what limits your ability to run this model, compute per token or memory for the weights?
Try it30 min · 5 steps
You need: A Python environment and thehuggingface_hubCLI; serving it needs a multi GPU server, so the local test stays on metadata. No API key needed.Steps
- Read the minimax-community license on the model page and note any use restrictions.
- Open the Files tab and add up the safetensors file sizes to see the real download size.
- Open config.json in the Files tab, or download just that file, and read the expert count and hidden sizes.
- From the config, estimate how many parameters are active per token and compare with the 23B the card states.
- If you have access to a suitable GPU server, try the card's documented command
vllm serve "MiniMaxAI/MiniMax-M3.1-Flash".
Small angles to try
- Compare its config with another open weight mixture of experts model you know.
- Check whether your serving framework version already lists support for the model.
- Compute how much memory a 1M token KV cache would need from the config values.
-
Cognition's free agent skills patch PHP2Shell, Node Brotli RCE, GitLab
Cognition released Devin Vulnerability Fixes, three MIT licensed Agent Skills:
fix-php-vulnfor PHP2Shell,fix-node-vulnfor the October 21 Node.js security release including the Brotli decoder RCE CVE-2026-111497, andfix-gitlab-vulnfor CVE-2026-110264 in self managed GitLab. Each skill inventories repos read only, stops for approval, patches to a verified version, runs tests before and after, and opens one pull request per repo. Aikido now calls the Brotli bug HTTP2Shell because it reaches many libraries and apps that decode Brotli over HTTP, while the Node skill targets the Node.js runtime itself.Heat · Cognition blog post on Oct 22 and a MarkTechPost write up on Oct 24; the GitHub repo showed only 4 stars and 0 forks.What people foundCognition warns thatphp -vis not proof of a fix: Debian and Ubuntu backport patches without changing the upstream version, so a fixed Ubuntu 24.04 package still reports 8.3.6. Check the vendor advisory or package changelog for the CVE IDs instead. Fixed upstream targets are PHP 8.2.35, 8.3.36, 8.4.27 and 8.5.12, and Node 22.23.4, 24.22.1 and 26.12.1.Learn it15 min · 5 steps
Key ideas
- Agent Skill
- A folder with a SKILL.md file of instructions that coding agents such as Claude Code, Codex or Cursor load when a task matches.
- Backported patch
- A distro applies the upstream fix to its older packaged version, so the version number stays the same while the bug is gone.
- HTTP2Shell
- Aikido's name for CVE-2026-111497, a Brotli decoder out of bounds write that can turn compressed HTTP input into remote code execution.
Steps
- Read the Cognition blog post first for the per skill CVE list, the fixed versions and the five step workflow.
- Open the devin-vuln-fixes README and skim the table of skills and the list of files the inventory step reads, such as Dockerfiles, CI config, Helm charts and Terraform.
- Read the Aikido PHP2Shell post for affected version ranges and its advice to check package changelogs rather than
php -v. - Open one SKILL.md in the repo and find where the approval gate is written, since that is what keeps the agent from editing before you agree.
- Self check: why can a patched Ubuntu server still print a vulnerable looking PHP version, and what should you check instead?
Try it30 min · 6 steps
You need: Docker, Node.js 22.20 or later, and a coding agent that reads Agent Skills such as Claude Code; the agent's own model access is the only key involved.Steps
- Create a throwaway local git repo with a Dockerfile pinned to an old PHP 8.3 base image and a tiny
index.php, plus a package.json that pins an older Node 22 engine. - Install only the PHP skill with
npx skills add CognitionAI/devin-vuln-fixes --skill fix-php-vuln, after reading its SKILL.md, because skills run with the agent's full permissions. - Ask the agent to fix the PHP vulnerability in that repo and confirm it reports an inventory and stops for approval before changing anything.
- Approve, then read the diff: check the new base image targets 8.3.36 or later and that the test results before and after are recorded.
- Build the patched image locally and run
apt changelogorrpm -q --changelogon the PHP package inside the container to look for the CVE IDs, instead of trusting the version string. - Keep everything in local containers; do not point any checker or request at servers you do not own.
Small angles to try
- Repeat with
--skill fix-node-vulnon the Node pin and see whether it flags Node 20 as end of life. - Compare the agent's patch plan with the fixed versions listed in the Aikido post.
- Install via
/plugin marketplace add CognitionAI/devin-vuln-fixesin Claude Code and compare the experience with the npx route.
-
Carbon-X: Hugging Face's 14.8B open model reads DNA, answers in text
The HuggingFaceBio team released Carbon-X, a 14.8B parameter model built on Qwen3-14B with added DNA tokens, under Apache 2.0. The model card reports a 66.7% average across five DNA benchmarks with thinking off, 27 points above the base model and just under GPT-6.1 Sol at 67.5%. The authors estimate it costs about 1/1,800 of GPT-6.1 Sol's inference cost per problem.
Heat · The model card showed 139 likes and 570 downloads last month, and it was #34 on Hugging Face trending.What people foundThe tokenizer trick is the engineering lesson: each DNA token covers 6 base pairs, using 4,096 six letter tokens plus tail tokens, inside a 40,960 token context. Carbon-X beats GPT-6.1 Sol on coding variant effects and next base prediction, but trails on GenomeQA and complex variant effects, per the card's own numbers.Learn it15 min · 5 steps
Key ideas
- k-mer tokenization
- Splitting a DNA string into fixed chunks of k letters, here 6, so each token stands for one short sequence.
- Vocabulary extension
- Adding new tokens to an existing model's vocabulary and training so the model learns embeddings for them.
- Variant effect prediction
- Judging whether a change in a DNA sequence is likely harmless or likely to cause disease.
Steps
- Read the Carbon-X model card first, especially the tokenizer section and the benchmark table.
- Note how 4,096 six letter tokens follow from 4 to the power of 6, and why tail tokens are needed for lengths not divisible by 6.
- Compare the per benchmark scores against GPT-6.1 Sol to see where a small domain model wins and where it loses.
- Read the cost estimate assumptions, an H200 at $5 per hour, before quoting the 1/1,800 figure.
- Self check: how many tokens would a 6,000 base pair sequence use, and how much of the 40,960 token context is left for text?
Try it30 min · 5 steps
You need: Python withtransformersv5 or later andtorch; tokenizer tests run on CPU, full inference needs one 80 GB CUDA GPU in bfloat16. No API key needed.Steps
- Install the libraries with
pip install -U transformers torch. - Load only the tokenizer with
AutoTokenizer.from_pretrained("HuggingFaceBio/Carbon-X", trust_remote_code=True)after reading the custom tokenizer code it pulls in. - Tokenize a short DNA string and an English sentence and count tokens for each to see the 6 base pairs per token ratio.
- If an 80 GB GPU is available, run the card's Transformers example, which loads the model with
dtype=torch.bfloat16anddevice_map="cuda"and asks whether a variant is benign or pathogenic. - Compare its explanation with what a general model says for the same reference and variant pair.
Small angles to try
- Serve it with
vllm serve HuggingFaceBio/Carbon-X --trust-remote-codeafterpip install -U vllmand time a batch of prompts. - Measure how token count grows when the DNA length is not a multiple of 6.
- Note that GGUF runtimes such as llama.cpp cannot load the custom DNA tokenizer, so quantized local use is limited.
-
Kimi K3.1 Pro scores 55 on Artificial Analysis, 4th of 215, but wordy
Artificial Analysis has now benchmarked Kimi K3.1 Pro, released Oct 23, and gives it 55 on its Intelligence Index, 4th of 215 models against a median of 27. It also marks the model as slow and verbose: 73.5 output tokens per second, below the 82.3 median, and 150M output tokens to complete the index against an 87M median.
Heat · Hacker News, about 120 points and 41 comments for the Artificial Analysis page; the launch post earlier drew 1,066 points and 655 comments.What people foundList price is $2 in and $10 out per 1M tokens with a 90% cache discount, both at the median, yet the extra tokens push cost to $2.11 per index task, ranked 85th of 113. Token count per task, not list price, decides the bill.Learn it15 min · 4 steps
Key ideas
- Intelligence Index
- Artificial Analysis's combined score from a set of reasoning, coding and knowledge evaluations run the same way on every model.
- Cost per task
- What a model actually costs to finish one task, which is price per token times the tokens it really uses.
- Verbosity
- How many output tokens, including reasoning tokens, a model spends to reach an answer.
Steps
- Read the Artificial Analysis page for Kimi K3.1 Pro first, focusing on the speed, verbosity and cost charts.
- Compare its $2.11 per task with two models of similar index score on the same site.
- Work out how much of the cost gap comes from tokens used rather than price per token.
- Self check: if two models share a price but one uses 1.7 times the output tokens, how do their task costs compare?
Try it30 min · 5 steps
You need: An API key for Kimi K3.1 Pro from a provider you use and a key for one comparison model; Python or curl.Steps
- Pick 10 prompts from your own work, such as code reviews or bug explanations.
- Send each to Kimi K3.1 Pro and to one comparison model through their official APIs, using the model ids from each provider's docs.
- Record input, output and reasoning token counts from each response's usage field, plus wall clock time.
- Compute cost per prompt from each provider's listed prices and compare totals.
- Judge answer quality blind, then decide whether the extra tokens bought better answers.
Small angles to try
- Repeat with the same system prompt cached to see how much the 90% cache discount changes the total.
- Ask for a short answer explicitly and measure how much verbosity drops.
- Plot tokens used against your quality rating per prompt.
-
ClickBench PR seeks to remove pgrust, a Rust Postgres, over tuned results
A pull request to ClickBench proposes removing pgrust, a Postgres rewrite in Rust, arguing its binary embeds 23 ClickBench query kernels plus one TPC-H kernel, its v0.3 source has hand lowered plans for all 43 queries, and hot runs replay cached answers. On one query it measured 10.8 s cold, then 11 ms and 5 ms. Dan Luu, who praises the project's testing, writes that the cheating accusations seem false, while pgrust author Michael Malis acknowledged that submitting the preview to the benchmark was premature.
Heat · Hacker News, about 193 points and 156 comments on Oct 23, and Dan Luu's essay citing pgrust drew about 390 points on Oct 24.What people foundThe PR's method is the reusable part: it ran 67 near benchmark queries and 49 perturbed variants, and 20 of the 67 plus 3 of the 49 were refused as not served. Changing constants and shapes of benchmark queries is a quick way to tell a general engine from a tuned one, whoever or whatever wrote the code.Learn it15 min · 4 steps
Key ideas
- Cold versus hot run
- A cold run starts with empty caches, while hot runs repeat the query and can reuse anything cached.
- Benchmark specialization
- Code paths that only speed up the exact published queries rather than the general workload.
- Perturbed query
- A benchmark query with a changed constant, column or expression, used to check that speed generalizes.
Steps
- Read ClickBench PR #2165 first, especially the timing tables and the list of refused probes.
- Read the ClickBench rules on caching and query specific tuning in its README.
- Read Dan Luu's essay for the case in favor of the project and Malis's own caveat about production use.
- Self check: what single experiment would separate a legitimate result cache from a benchmark specific answer table?
Try it30 min · 5 steps
You need: A local database you already use, such as Postgres, DuckDB or ClickHouse, and a table of your own data. No API key needed.Steps
- Pick one analytic query on your own table, such as a
LIKEfilter with a count. - Restart the database, run the query three times and record cold and hot timings.
- Change only the constant in the filter and run it three more times.
- Change the shape slightly, for example a different aggregate on the same column, and time again.
- Compare the patterns: a general engine should show similar warm times across variants, while a specialized path will show a large gap.
Small angles to try
- Clear the OS page cache between runs on a throwaway machine to see true cold numbers.
- Run the same probes against two engines and compare how much each one's hot time depends on the exact query text.
- Turn this into a small script that generates perturbed variants of any query.
-
Consumer AI agents: Meta's Muse tops Japan's free app chart in two days
Two days after its Oct 23 Japan launch, Meta's Muse personal agent is the No. 1 free iPhone app in Japan. It handles email, travel bookings and similar tasks in the background, and asks the user to confirm important actions like sending email or buying, with a separate agent called Sentinel checking external access. 1Password also launched 1Password for Agents on Oct 22, with Muse and Grok Bot as the first supported agents, so an agent can sign in without the password going into a prompt.
Heat · Apple's Japan top free iPhone feed, updated Oct 25 Japan time: Muse from Meta at No. 1, ahead of ChatGPT at No. 6 and Google Gemini at No. 8. In the US top free feed the same day it sits at No. 2.What people foundThe 1Password design is a pattern worth copying: when an agent reaches a login page the user gets an approval request, and 1Password fills the credentials only after approval. It costs nothing extra on Individual and Family plans, and Perplexity, Browser Use and Claude Duet are among the agents listed as coming later.Learn it15 min · 4 steps
Key ideas
- Approval gate
- A step where the agent pauses and the user must confirm before it sends, buys or signs in.
- Credential brokering
- A separate service fills in login details so the model never sees or stores the password.
- Background agent
- An agent that keeps working on a task after the user closes the app.
Steps
- Read the ITmedia article on the Muse Japan launch first for its features and approval flow.
- Read the Impress Watch report on 1Password for Agents for how the login approval works and which agents are supported.
- Open Apple's Japan top free feed and find Muse, ChatGPT and Gemini to see the ranks yourself.
- Self check: in an agent that books travel, which actions should need approval and where should the credentials live?
Try it30 min · 5 steps
You need: Python, any LLM with tool calling that you already use, and a local test web app you control; no real accounts or third party logins.Steps
- Write a tiny local web app with a login page and a fake purchase button.
- Build a small agent loop where the model can call
navigate,fill_loginandclick_buytools. - Implement
fill_loginoutside the model: it pauses, asks you in the terminal to approve, then fills credentials from a local secrets file the model never sees. - Add the same approval prompt in front of
click_buy. - Inspect the full prompt and tool log to confirm the password never appears in any model input or output.
Small angles to try
- Try a prompt injection on the test page that asks the agent to print the password and check that the design holds.
- Log every approved and denied action into a history view, like the one Muse shows users.
- If you use 1Password and Muse yourself, try the real flow on one of your own accounts and compare it with your local version.
-
Cohere Rerank 5 returns relevant spans and calibrated scores
Cohere made Rerank 5 generally available on October 21 in Pro and Fast tiers, priced at $0.05 and $0.02 per million tokens. A new optional feature, Context Focus, returns scored text spans inside each document in the same call as the usual document scores. Cohere says the scores are now calibrated like probabilities, with an expected calibration error of about 0.058 versus 0.384 for Rerank 4 Pro on its human labeled set.
Heat · MarkTechPost covered it on October 22; no Hacker News thread found.What people foundCohere reports that dropping half of the retrieved context with Context Focus kept about 96% of answer quality across 30 QA datasets, and that no reindexing is needed. Its suggested cutoffs for a result being more likely useful than not are 0.50 for Pro and 0.45 for Fast, which makes a fixed threshold a reasonable starting point instead of tuning per dataset.Learn it15 min · 4 steps
Key ideas
- Reranker
- A second stage model that rescores a short list of retrieved documents against the query so the best ones go into the prompt.
- Calibration error
- A measure of how far a model's scores are from real hit rates, so a well calibrated 0.7 means right about 70% of the time.
- Span level relevance
- Scoring parts of a document instead of the whole thing, so only the useful passages are passed to the model.
Steps
- Read the Cohere Rerank 5 blog post first, focusing on the Context Focus section and the calibration table.
- Look at the code sample to see the
relevant_spansoptionsmode,thresholdandmax_spans, and thestart,endandscorefields each span returns. - Compare the 96% at half context and 87% at a quarter context results to see how quality falls as context shrinks.
- Self check: why does a calibrated score let a team use one fixed cutoff like 0.50 across many datasets?
Try it30 min · 5 steps
You need: Python 3 with therequestspackage and a Cohere API key in theCO_API_KEYenvironment variable.Steps
- Pick one real question and 10 to 20 of your own documents or notes, a mix of relevant and irrelevant ones.
- Following the blog's sample, send a POST to
https://api.cohere.com/v2/rerankwith modelrerank-v5.0-pro, your query, the documents andtop_n. - Run it once without
relevant_spans, print eachrelevance_score, and mark which documents pass the 0.50 cutoff. - Run again with
relevant_spansenabled as in the blog example, threshold 0.4 andmax_spans10, then slice each document bystartandendto print the returned spans. - Count characters kept versus the full documents and judge by hand whether the spans still contain the answer.
Small angles to try
- Lower the span threshold toward the 0.1 default and watch how much more text comes back.
- Run the Fast tier on the same set, looking up its model id in Cohere docs, and compare against the 0.45 cutoff.
- Feed full documents versus spans to your usual chat model and compare answers.
-
Microsoft's Agensh scales coding agents to 1,024 with no orchestrator
Agensh, a paper from Microsoft researchers, describes a harness where many coding agents work with no central orchestrator: each worker announces a claim on a sub task, shares findings in a shared channel and merges its branch into a shared Git repo. On the five hardest ProgramBench tasks with GPT-5.6-sol at high effort and a 6 hour budget, going from 1 to 128 agents raised the mean final test pass rate from 19.31% to 28.78%. On pandoc alone, 1,024 agents reached 55.06% versus 33.89% for one agent.
Heat · A Show HN post on October 24 got 6 points and 1 comment; MarkTechPost also wrote it up.What people foundThe gains are not linear: per the paper, 8 agents reached only 20.68% against 19.31% for one, and the big jumps came at much larger scale. The paper reports token limits but no token or compute cost, so anyone trying it should set a spending cap first.Learn it15 min · 4 steps
Key ideas
- Orchestrator free coordination
- Agents pick and announce their own work in a shared space instead of waiting for a manager agent to assign it.
- Claim, share, merge
- A worker posts a CLAIM for a sub task, reports what it learned, and integrates its branch into main, fixing any merge conflicts Git finds.
- Agent count as a scaling axis
- The authors treat the number of parallel agents like model size, a knob that trades money for results within a fixed time.
Steps
- Read the arXiv abstract for Agensh first, then the method section on the shared workspace, message interface and shared context.
- Note the infrastructure: Gitea as the shared repo and Mattermost for messages, with agents in containers prepared as in ProgramBench.
- Study the scaling numbers for 1, 8, 32 and 128 agents and the separate 1,024 agent pandoc run.
- Self check: why might 8 agents barely beat 1 while 128 agents gain about 9 points?
Try it30 min · 5 steps
You need: Git, any coding agent you already use, and an API budget you set in advance; the full harness needs far more compute than a laptop run.Steps
- Open the GitHub repo and read the README for requirements and license before running anything.
- On a small repo of your own, write a CLAIMS.md file and split one feature into 3 sub tasks.
- Start two agent sessions on separate branches; tell each to add a claim line to CLAIMS.md before working and a findings line when done.
- Merge both branches into main, resolve any conflicts, and run your tests.
- Record tokens spent and wall clock time against a single agent doing the whole feature.
Small angles to try
- Remove CLAIMS.md and see whether the two agents duplicate work.
- Add a third agent whose only job is running tests and reporting failures.
- Give both agents a strict 20 minute budget and compare results.
-
Copilot metrics now count tokens from Claude Code, Codex and OpenCode
GitHub's Copilot usage metrics API added a totals_by_client array that reports requests, sessions and tokens per client tool, with a breakdown by model. Listed clients include opencode, claude_code, codex, zed, copilot_cli, vscode and jetbrains, with unknown tools grouped as other. A day earlier, the API began reporting the configured names of custom skills, agents, MCP servers, slash commands and plugins, up to 25 per list.
Heat · Two GitHub changelog posts on October 22 and 23; no engagement figures.What people foundGitHub calls client identification a best effort grouping, not a verified identity, and warns that telemetry can undercount, so treat these numbers as adoption trends, not billing. Request counts are model calls, not prompts. Named skills and MCP servers need Copilot CLI 1.0.97 or later or Copilot SDK v1.0.21 or later.Learn it15 min · 4 steps
Key ideas
- totals_by_client
- A list in each report day that gives request, session and token totals for each tool that used Copilot models.
- model_selection_mode
- Says whether the user picked the model, Auto picked it, or the product picked it.
- Best effort client identity
- The client name comes from an integration ID the tool sends, so it can be wrong or missing.
Steps
- Read the October 23 GitHub changelog on usage by client first.
- Read the October 22 changelog on named skills, agents and MCP servers and note the 25 entry limit and the trailing other entry.
- Open the Copilot usage metrics API docs and find the organization 1 day report endpoint.
- Self check: why should
request_countnot be compared directly with the number of prompts people typed?
Try it30 min · 5 steps
You need: Organization owner access, or a role with the View Copilot Metrics permission, on an org with the Copilot usage metrics policy enabled; theghCLI with a token that hasread:org. No paid API key beyond your GitHub plan.Steps
- Confirm the Copilot usage metrics policy is enabled for your org.
- Run
gh api "/orgs/YOUR_ORG/copilot/metrics/reports/organization-1-day?day=2026-10-24"and note thedownload_linksin the response. - Download the report file from one link and open it with
jqor a Python script. - Print each
totals_by_cliententry with its client, request count and session count. - Look for
totals_by_mcpandtotals_by_skillnames and check whether any internal names should not leave your org.
Small angles to try
- Use the
organization-28-day/latestreport and chart tokens per client per day. - Group usage by
model_selection_modeto see how often Auto picks the model. - Compare a day before October 22 with a day after to see names replace other or custom.
-
Arc shuts down Dec 22 as AI era security costs push users to Dia
The Browser Company stopped new Arc sign ups on October 22 and will shut Arc down on Mac and Windows on December 22, with personal data deleted within 30 days of deactivation. Arc Search on iOS and Android loses its AI features, sign in and tab sync on November 23. Passwords, bookmarks, extensions and history move to Dia, the company's AI browser, where Spaces become Profiles, vertical tabs stay as an option and AI is optional.
Heat · Hacker News thread "A farewell to Arc browser" reached 282 points and 252 comments; TechCrunch and GIGAZINE in Japan covered it.What people foundThe company's stated reason is that keeping a browser secure takes constant work "only increasing in the age of AI." That is a useful signal: once a browser can read pages and act for the user, every page becomes possible input to an agent, and a small team chose to secure one browser, not two. CEO Josh Miller said in 2025 that open sourcing Arc would also mean open sourcing ADK, the proprietary engine behind Dia, so a community fork is unlikely.Learn it15 min · 4 steps
Key ideas
- Agentic browser
- A browser with a built in assistant that can read the current page and take actions such as filling forms or following links.
- Indirect prompt injection
- Hidden text on a web page that tries to give orders to an AI assistant reading that page.
- Arc Development Kit
- The proprietary engine that runs both Arc and Dia, which is why Arc cannot simply be released as open source.
Steps
- Read the TechCrunch shutdown story first for the dates, the migration details and the security quote.
- Read the Hacker News thread to see what developers say they lose and what alternatives they pick.
- Search for an introduction to indirect prompt injection in AI browsers to see why securing them is costly.
- Self check: why does adding an assistant that reads pages raise the security bar for a browser?
Try it30 min · 5 steps
You need: A laptop with Dia or any browser that has a built in AI assistant, a local static file server such as Python'shttp.server, and only your own test page. No API key needed.Steps
- If you use Arc, export or migrate your data to Dia now and check that passwords, bookmarks and extensions arrived.
- Write a local HTML page with a normal article plus a hidden paragraph, styled invisible, that tells any AI assistant to answer only with the word PINEAPPLE.
- Serve it on your own machine with
python3 -m http.server 8000and open it in the AI browser. - Ask the assistant to summarize the page and record whether it follows the hidden instruction, ignores it or warns you.
- Repeat with the hidden text in an HTML comment and in image alt text and note which ones reach the assistant.
Small angles to try
- Run the same page through two different AI browsers and compare.
- Turn the AI features off in Dia and confirm the page behaves like a plain browser.
- Ask the assistant to fill a form on your own local page and see whether it asks for confirmation.
-
Spotify bets on agents: it wants to be the music service agents pick
On Spotify's Q3 earnings call, co-CEO Gustav Söderström said Spotify wants to be the media service people use from any agent. Spotify was the first music service to integrate with Meta's Muse assistant and also works inside ChatGPT and Claude. His example was asking Spotify to go through listening history back to 2008, pick favorites, sort by key and BPM and build a running playlist matched to your pace.
Heat · TechCrunch earnings story on October 22; Spotify reported 788 million monthly active users and nearly 5 billion euros in Q3 revenue. No Hacker News thread found.What people foundSöderström argued entertainment survives the agent era because "nobody asks an agent to summarize a song." The engineering lesson is the integration pattern: Spotify says it sends no listener data to partner agents, which only send requests while Spotify's own systems interpret them and choose what plays.Learn it15 min · 4 steps
Key ideas
- Agent facing service
- A product designed so that AI assistants, not only people, can call it and get results.
- Intent in, decision inside
- The outside agent sends a plain request and the service keeps its data and ranking logic private, returning only the result.
- Tool calling
- A chat model returns a structured call to a function you define, which your code runs before replying.
Steps
- Read the TechCrunch story first and note what Spotify says it shares with partner agents and what it keeps.
- Read your model provider's tool calling guide to see how an agent passes a request to an outside service.
- Sketch which fields a running playlist request needs, such as pace, length and mood, and which data must stay on the service side.
- Self check: what does Spotify gain by deciding what plays itself instead of sending listening history to the agent?
Try it30 min · 5 steps
You need: Python 3 and an API key for any chat model that supports tool calling; a small CSV you write yourself.Steps
- Write a CSV of 20 songs you know with columns for title, BPM and key, filled in by hand.
- Write a Python function that takes a target BPM range and a length in minutes and returns matching titles, reading the CSV only inside the function.
- Register that function as a tool with your chat model, describing only its inputs, never the CSV contents.
- Ask the model for a 20 minute running playlist at an easy pace and log exactly what arguments it sends to your tool.
- Check the log to confirm the model never saw the full CSV, only the titles your function returned.
Small angles to try
- Add a key compatibility rule inside the tool and see whether the model needs to know about it.
- Give the model a vague request like music for a tempo run and inspect how it turns that into a BPM range.
- Return song IDs instead of titles and see whether the agent can still explain its choice.