Code415 Radar

by Ziyu Guo · @Code415zg

What people are paying attention to in AI, LLMs and CS today. Every item comes with a short path to learn it and a small test to try it yourself. Updated every evening, Japan time.

Monday, October 19, 2026

20 items · KillSwitch trips up LLMs on purpose; Anthropic junior hire share falls to 9%
  1. #1Tools & open source

    KillSwitch: an esoteric language built to trip up LLMs, with a leaderboard

    Dominik Picheta released KillSwitch, a small stack based language with an open source Rust interpreter, designed so humans can use it while coding agents struggle. The spec hides deliberate lies, the interpreter rejects code that breaks letter count rules on identifiers, most script text is ignored noise, and the phrase "Ignore previous instructions" has a real meaning in the language. On the current simple task set the best score is 66.8, from Claude Opus 5.

    Heat · Hacker News front page on Oct 17 to 18, 184 points and 126 comments; the GitHub repo had 20 stars when checked.
    What people foundPicheta argues the scores do not prove any model understands the language, because the tasks are hello world level, such as explaining a script's output or converting Celsius to Fahrenheit. He links weak results from Fable 5.1 and Gemini 4 Argon to oversensitive safety guardrails, names MiMo-V2.6-Pro as the best open weight model, and plans a harder task set once models pass the current one.
    Learn it15 min · 5 steps

    Key ideas

    Adversarial benchmark
    A test built on purpose to expose a specific weakness, here the habit of guessing from familiar code instead of reading the spec.
    Stack based language
    A language where operations push and pop values on a shared stack instead of using named expressions, like Forth or PostScript.
    Spec following versus pattern matching
    An agent that truly follows a spec obeys odd rules it has never seen, while a pattern matcher falls back on what similar languages usually do.

    Steps

    1. Read Picheta's blog post "I built a programming language that LLMs can't use" first, focusing on the list of traps.
    2. Open the dom96/KillSwitch README and the fizzbuzz example in its tests folder to see what real code looks like.
    3. Look at the KillSwitch Bench leaderboard and note which models lead and which fall behind.
    4. Compare the traps with ordinary agent failures you have seen, such as ignoring a project rule or inventing an API.
    5. Self check: why does Picheta say a score of 66.8 still does not show that a model understands KillSwitch?
    Try it30 min · 5 steps
    You need: Rust toolchain with cargo on your own machine, a git client, and optionally a coding agent you already use. No API key needed for the interpreter itself.

    Steps

    1. Clone https://github.com/dom96/KillSwitch and enter the folder.
    2. Install the interpreter with cargo install --path . as the README shows.
    3. Run the bundled example with killswitch run tests/fizzbuzz.ks, or use cargo run -- run tests/fizzbuzz.ks without installing.
    4. Give your own coding agent the spec and ask it to write a hello world program, then run its output through the interpreter and record each error.
    5. Run the test suite with cargo test to see which language rules the interpreter enforces, and match them to the agent's mistakes.

    Small angles to try

    • Try the same prompt with two different models and compare how many runs it takes to get valid code.
    • Use the README's cargo run -- anagram testly tsetly helper to explore the identifier letter rules by hand.
    • Note that the repo is AGPLv3 and its README forbids AI training on the contents, so keep experiments local.
  2. #2Tools & open source

    Seeing prompt cache hits per session: Vercel Sessions and own proxies

    On Oct 18 Vercel AI Gateway logs gained a Sessions view that groups requests by session and shows, for each one, the client such as Claude Code, Codex or Cursor, plus cost, models, providers and how much input was served from cache. Session affinity, on by default for text and chat requests, sends each turn to the provider that served the previous one so its cache stays warm. The same day Jared Siegel argued on his blog that developers should run their own LLM proxy, with virtual keys, per request logs and fast provider switching, to see what their agents actually do.

    Heat · Siegel's post reached the Hacker News front page with 163 points and 107 comments on Oct 18 to 19; the Vercel changelog entry is dated Oct 18.
    What people foundWhere the Oct 18 radar item asked which harness behaviors break the cache, these two pieces are about measuring it: Siegel says his own proxy lets him find the cause of a cache miss in about 20 seconds by hand, and Vercel's docs say to send the same session ID on every turn, through providerOptions.gateway.sessionId or an x-session-id header, otherwise requests are grouped by a fingerprint of the conversation's opening.
    Learn it15 min · 5 steps

    Key ideas

    Prompt cache
    A provider stores the processed start of a long prompt so the next request sharing that prefix is cheaper and faster, but only on the same provider account.
    Session affinity
    Routing every turn of one conversation to the provider that already holds its cache instead of spreading turns across providers.
    Conversation fingerprint
    Vercel's fallback session ID, a hash of the first system message, the first user message and the tool set, which stays stable as the conversation grows.

    Steps

    1. Read the Vercel changelog entry "AI Gateway logs now show session affinity" first.
    2. Read the session affinity docs page, especially the table of session ID sources and the default pin lifetimes per provider.
    3. Read Siegel's post for the case for owning the proxy layer instead of relying on vendor dashboards.
    4. List which of your own tools would hide a cache miss today and which would show it.
    5. Self check: why can two unrelated scripts that both start with the same templated message end up in one fingerprinted session?
    Try it30 min · 5 steps
    You need: Node.js, a Vercel account with an AI Gateway API key in AI_GATEWAY_API_KEY, and a few cents of model spend.

    Steps

    1. Install the OpenAI SDK for Node, then create a client with baseURL: 'https://ai-gateway.vercel.sh/v1' and a default x-session-id header, as in the session affinity docs.
    2. Send a long system prompt above the provider's cache minimum, then send three follow up turns that reuse the same history and the same session ID.
    3. Print provider_metadata.gateway.routing from each response and note clientSessionIdSource and affinity.outcome.
    4. Open the AI Gateway logs, group by sessions, and compare the cache hit rate shown there with what you printed.
    5. Repeat without the header and confirm the session now appears as fingerprinted.

    Small angles to try

    • Point Claude Code at the gateway with the documented ANTHROPIC_BASE_URL="https://ai-gateway.vercel.sh/claude-code" setting and inspect a real coding session.
    • Set sessionAffinity: false in providerOptions.gateway and see whether the outcome changes to skipped_mode_off and the cache hit rate drops.
    • Swap models mid session and check that switching back reuses the earlier provider pin.
  3. #3Models & launches

    Tencent Hy-Memory-30B-A3B: a 3B active model that writes agent memory

    Tencent Hunyuan released Hy-Memory-30B-A3B, a mixture of experts model with 30B total and about 3B active parameters, trained to replace the general purpose LLM that decides what to store and update in agent memory frameworks Mem0, MemOS and Hy-Memory. The accompanying arXiv paper, submitted Oct 15, trains it first by distillation on each framework's write format and then with reinforcement learning that rewards memories useful for later questions. Tencent reports a 55.49 macro average across four memory harnesses, against 54.62 for Claude Opus 5 and 53.64 for DeepSeek V4.1 Flash.

    Heat · On Hugging Face, 1,187 downloads last month and 176 likes; the Tencent-Hunyuan/Hy-Memory GitHub repo has 660 stars.
    What people foundThe most telling number is 56.89 on EverMemOS, a harness held out of training, ahead of Claude Opus 5 at 54.04, which suggests the writer transfers beyond the frameworks it was trained on. Results come from fixed 20% subsamples of the benchmarks, and the model is Apache-2.0 licensed.
    Learn it15 min · 5 steps

    Key ideas

    Memory write path
    The step where an agent turns new conversation text into stored facts and decides whether to add, merge or overwrite existing memories.
    Active parameters
    In a mixture of experts model only a few experts run per token, so serving cost tracks the roughly 3B active parameters rather than the 30B total.
    Held out harness
    A test setup the model never saw in training, used to check that gains are not just fitting to familiar prompts.

    Steps

    1. Read the Hugging Face model card first for the results table and the vLLM quickstart.
    2. Skim the arXiv abstract of 2610.22196 to see the two training stages.
    3. Read the Hy-Memory README sections on add() and search() to see where the writer model plugs in.
    4. Compare the per harness LongMemEval scores to see how much the surrounding framework matters.
    5. Self check: why is a held out harness score more convincing than the macro average?
    Try it30 min · 5 steps
    You need: Python, a Linux machine with a GPU large enough for a 30B BF16 model, vLLM, and an embedding endpoint. No API key needed if both models run locally.

    Steps

    1. Serve the model with vllm serve "tencent/Hy-Memory-30B-A3B", adding --served-model-name hy-memory as the model card's quickstart does.
    2. Install the framework with pip install hy-memory==2.0.3.
    3. Point the MEMORY_LLM_* settings at your local vLLM endpoint and the MEMORY_EMBEDDER_* and MEMORY_EMBEDDING_DIMS settings at your embedder, following the README.
    4. Create a HyMemoryClient(mode="pro"), call add() with a short made up chat where a preference changes partway through, then call search().
    5. Check whether the stored memory reflects the updated preference rather than both versions.

    Small angles to try

    • Run the same chat with a general model as the memory LLM and compare what each one stores.
    • Try scene="coding" with a tool call trace and inspect the facts and experiences channels.
    • Serve the model with SGLang using the command on the model card and compare startup and latency.
  4. #4Models & launches

    Underdog Saluki, a 7.89 GB Qwen3.8-27B GGUF, is trending for tool use

    ConwayResearch's Underdog-Saluki-27B-1.0 is a 2 bit GGUF build of Qwen3.8-27B whose main file is 7.89 GB, against 54 GB for the full model, with optional vision projector files and llama.cpp quickstart commands. The repo was created around Oct 8 and is trending on Hugging Face now; the card gives no release date. On its 120 task Underdog Bench, drawn from BFCL v4, it passes 88 tasks against 84 for the full model and averages 96% retention across 9 benchmarks.

    Heat · Trending on Hugging Face with 410,558 downloads last month and 536 likes on the model card.
    What people foundCompression costs reasoning more than tool use: the card says competition math keeps about 82 to 85% of the full score, for example AIME 2025 at 79.2 against 96.7, and it warns that 120 tasks is a modest test where small gaps may be run to run noise.
    Learn it15 min · 5 steps

    Key ideas

    GGUF
    The single file model format used by llama.cpp that packs quantized weights with tokenizer and metadata.
    2 bit quantization
    Storing each weight in about two bits instead of sixteen, which shrinks memory use sharply at some cost in accuracy.
    Retention
    The compressed model's benchmark score as a share of the full model's score on the same test.

    Steps

    1. Read the Underdog-Saluki-27B-1.0 model card first, especially the benchmark table and its caveats.
    2. Open the base Qwen/Qwen3.8-27B card to see what the full model was built for.
    3. Compare tool calling results with the AIME rows to see where compression hurts.
    4. Read the Quickstart and note what the --jinja and -c 32768 flags are for in llama-server.
    5. Self check: why might a heavily compressed model match or beat the full one on tool calling but lose on competition math?
    Try it30 min · 5 steps
    You need: llama.cpp with llama-server, the Hugging Face CLI, about 8 GB of disk and a GPU or Apple Silicon machine with enough memory for the file plus context. No API key needed.

    Steps

    1. Download the file with huggingface-cli download ConwayResearch/Underdog-Saluki-27B-1.0 Underdog-Saluki-27B-1.0-IQ2-mix.gguf --local-dir ..
    2. Start the server with llama-server -m Underdog-Saluki-27B-1.0-IQ2-mix.gguf --jinja -ngl 99 -fa on -c 32768, the command on the model card.
    3. Send a chat request to the local OpenAI compatible endpoint that defines two simple tools, such as a weather lookup and a calculator, and check that the model returns valid tool calls.
    4. Ask a multistep math word problem and compare the answer with a larger model you trust.
    5. Record tokens per second and memory use so you know whether it fits your machine.

    Small angles to try

    • Add vision by passing --mmproj mmproj-Underdog-Saluki-27B-1.0-F16.gguf and ask about a local screenshot.
    • Lower -c to see how context size changes memory use.
    • Plug the local endpoint into a coding agent that supports custom OpenAI compatible providers and try a small refactor.
  5. #5Trends × tech

    AI study tools: Gemini Notebook makes videos and quizzes from your notes

    In an Oct 16 Google blog post, the Education team added three study features to Gemini Notebook. Short Video Overviews generate a 60 second video explaining a tricky concept, Interactive Learning Overviews under Reports walk through notes, lectures and readings step by step with summaries, slides, quizzes and flashcards, and quizzes gain short answer, multiple select and fill in the blank questions. Google says the learning overviews are grounded strictly in the user's own coursework.

    Heat · Google blog post on Oct 16; Japanese site tech-noisy covered it on Oct 17, and the article appears in its popular articles panel.
    What people foundThe new formats make students produce answers instead of picking from options, and after a quiz or flashcard review the notebook can say where to focus next. Google names no plans, countries or languages, and tech-noisy advises checking eligibility in the announcement or your own account.
    Learn it15 min · 5 steps

    Key ideas

    Grounded generation
    Producing output only from documents the user supplies, rather than from the model's general knowledge.
    Retrieval practice
    Learning by recalling an answer from memory, which short answer and fill in the blank questions demand more than multiple choice.
    Source to artifact pipeline
    Turning one private set of documents into several formats such as video, slides and quizzes, a common pattern in RAG products.

    Steps

    1. Read Google's post "three tips to study with Gemini Notebook" first.
    2. List the three features and the inputs each one takes.
    3. Think about how you would check that a generated quiz uses only facts from the uploaded files.
    4. Compare these outputs with a plain chat answer about the same notes.
    5. Self check: what makes a fill in the blank question harder to fake than a multiple choice one?
    Try it30 min · 5 steps
    You need: A Google account, a browser and a few of your own notes or public domain readings. No API key needed.

    Steps

    1. Open notebook.google and create a notebook from your own notes on one technical topic, such as a database indexing chapter.
    2. Generate a Short Video Overview for the hardest concept and note any claim not found in your sources.
    3. Open Reports, create an Interactive Learning Overview, and walk through it step by step.
    4. Take a quiz using short answer and fill in the blank questions, then ask the notebook for feedback on where to focus.
    5. Write down every fact in the outputs that you cannot trace to a source file, to judge how well grounding holds.

    Small angles to try

    • Add one source with a deliberate error and see whether the quiz repeats it.
    • Compare quality on a small source set against a large one.
    • Use the same notes with any other grounded notebook tool and compare which questions feel most useful.
  6. #6Tools & open source

    vLLM v0.32.0 adds a /v1/systemone endpoint and ships breaking changes

    vLLM v0.32.0 shipped on 18 Oct with 814 commits from 363 contributors. It serves a new /v1/systemone endpoint that answers choice, noul and score questions over a structured state, extends NVFP4 KV cache to more GPU generations, and adds models such as MiniCPM-V 4.7, EmbeddingGemma 2 and Nemotron 3.5 ASR. Two days earlier the vLLM blog reported a Kimi K3 decode path reaching 842 tokens per second at batch 1 on 16 GB300 GPUs, against 488 for stock vLLM.

    Heat · Release notes list 814 commits from 363 contributors, 121 of them new. The Kimi K3 megakernel post was on HN with 27 points.
    What people foundRead the breaking changes before upgrading: the release notes say Python 3.11 is now the minimum, default CORS origins changed from * to none so browser clients need --allowed-origins, and max_tokens is now an upper bound on output instead of being reserved from the context window.
    Learn it15 min · 5 steps

    Key ideas

    CORS
    A browser rule that blocks a web page from calling a server on another origin unless the server lists that origin as allowed.
    KV cache
    The stored attention keys and values for tokens already processed, which lets a model generate the next token without recomputing the whole prompt.
    NVFP4
    A 4 bit floating point format from NVIDIA that shrinks stored values so more context fits in GPU memory.

    Steps

    1. Read the Breaking changes section of the vLLM v0.32.0 release notes on GitHub first.
    2. Open the vLLM quickstart docs and note the supported Python range and the default port 8000.
    3. Skim the release notes again for the /v1/systemone entries and which models serve it.
    4. Read the vLLM blog post on the Kimi K3 megakernel and note what was compared against stock vLLM.
    5. Self check: if a browser app suddenly gets blocked after the upgrade, which server flag fixes it and why?
    Try it30 min · 5 steps
    You need: Linux machine with an NVIDIA GPU, Python 3.11 or newer, or Docker. No API key needed.

    Steps

    1. Create a fresh Python 3.11 virtual environment on your own machine and run pip install vllm, or pull the image with docker pull vllm/vllm-openai:v0.32.0.
    2. Start a small model with vllm serve Qwen/Qwen2.5-1.5B-Instruct and wait until it listens on port 8000.
    3. Send a request to http://localhost:8000/v1/completions with curl, setting a small max_tokens, and check the output length.
    4. From a local web page served on another port, call the same endpoint with fetch and confirm the browser blocks it under the new CORS default.
    5. Restart the server with --allowed-origins set to your local page origin and confirm the browser call now succeeds.

    Small angles to try

    • Send a long prompt with a large max_tokens and compare behavior with an older vLLM version.
    • Run your existing client test suite against the new version before upgrading production.
  7. #7Tools & open source

    whatsapp-mcp: a read only MCP server for your own WhatsApp on Cloudflare

    whatsapp-mcp is an MIT licensed MCP server that links to WhatsApp as a linked device, like WhatsApp Web, and stores messages in SQLite inside a Durable Object in the user's own Cloudflare account. It offers tools such as list_chats, get_messages, search_messages and sync_now. It connects only when the agent asks for data and once a day at 04:00 UTC.

    Heat · Show HN on Oct 18 with 104 points and 49 comments. GitHub showed 1 star when seen.
    What people foundThe README is upfront that this is not official: it uses the Baileys library, which implements the WhatsApp Web protocol in a way that is against WhatsApp's terms, and the author calls the practical risk for a read only linked device low but not zero. It also needs the Cloudflare Workers Paid plan, described as a few dollars a month. Use it only on your own account, or just study the code.
    Learn it15 min · 5 steps

    Key ideas

    MCP server
    A program that exposes tools an AI agent can call through the Model Context Protocol.
    Linked device
    A secondary client, like WhatsApp Web, that the phone authorizes by scanning a QR code.
    Durable Object
    A Cloudflare Workers feature that gives one object its own storage, here a SQLite database.

    Steps

    1. Read the whatsapp-mcp README on GitHub first, including the section on terms and ban risk.
    2. List the eight tools it exposes and note that none of them send messages.
    3. Find where the README says read tools refresh when the stored copy is older than ten minutes.
    4. Compare its pull on demand plus daily cron design with a server that stays connected all the time.
    5. Self check: why does a read only, pull on demand design lower risk, and why is the risk still not zero?
    Try it30 min · 5 steps
    You need: Node 22.13 or newer, git. The code review and unit tests need no WhatsApp account, no Cloudflare account and no API key.

    Steps

    1. Clone the repository with git clone https://github.com/finereli/whatsapp-mcp and run npm install.
    2. Run npm run typecheck, then npm test; the README notes search is not covered because Node's built in SQLite lacks FTS5.
    3. Read the tool definitions and confirm in code that no tool can send a message.
    4. Read the sync logic and find the ten minute freshness rule and the daily 04:00 UTC cron.
    5. Skip linking a phone. Linking would connect through an unofficial library that may conflict with WhatsApp's terms, so if you ever try it, use only your own account and accept that risk.

    Small angles to try

    • Sketch the same read only, store in your own account design for a data source you own, such as a local mail archive.
    • List which tools you would remove or gate behind a password for a stricter version.
  8. #8Tools & open source

    Superlite: a spec to tested code plugin for Claude Code

    Superlite, published 18 Oct, is an MIT licensed Claude Code plugin forked from Superpowers. It plans a build, splits it into parallel tasks given to the cheapest capable agent, checks the seams between tasks and reviews the result, asking for one batch of questions and one approval up front. In the author's benchmark with 177 hidden tests, a single run of the current build took 16.1 minutes and passed all 177 using 21 agents, up to 18 at once.

    Heat · HN on Oct 19 with 87 points and 33 comments. GitHub showed 24 stars when seen.
    What people foundThe author compares that single 16.1 minute run with three run averages of 33.6 minutes for stock Superpowers and 23.5 minutes for orchestrated Superpowers, and calls it "a strong hint rather than peer-reviewed science"; the README says the gaps are "indications, not a statistical proof". The README also says Superlite can cost more and scored 4 of 7 on extra robustness probes against about 5.7 for Superpowers. Do not enable both plugins in one session, because they share skill names.
    Learn it15 min · 5 steps

    Key ideas

    Claude Code plugin
    A package of skills and instructions that Claude Code loads into a session to change how the agent works.
    Hidden test suite
    Tests the agents never see, used to score whether the finished build really meets the spec.
    Seam check
    A review of the interfaces where separately built tasks meet, where parallel work most often breaks.

    Steps

    1. Read the Superlite write up on contextfirst.blog first.
    2. Open the Superlite README and read the benchmark table and its caveats.
    3. Read the Superpowers README to see the workflow Superlite forked from.
    4. Note which numbers are single runs and which are three run averages.
    5. Self check: why is one 16.1 minute run weak evidence against a three run average with a 26.4 minute spread?
    Try it30 min · 5 steps
    You need: Claude Code with a paid Anthropic plan or API key, git, a throwaway project folder.

    Steps

    1. In a fresh Claude Code session without Superpowers enabled, run /plugin marketplace add iha2/superlite, then /plugin install superlite@superlite-dev.
    2. Send Let's make a react todo list and confirm it starts brainstorming before writing code.
    3. Write a short spec for a small tool plus a few tests you keep outside the project folder, and ask Superlite to build it.
    4. Watch the .superlite/ folder in the project to follow tasks and recorded decisions.
    5. Run your hidden tests on the result and note wall clock time and API cost.

    Small angles to try

    • Repeat the same spec three times and compare the spread of times.
    • Run the same spec with Superpowers alone in a separate session and compare time, cost and test results.
  9. #9Models & launches

    At least 20 Jev alternatives arrive in four weeks, per MarkTechPost

    A MarkTechPost roundup dated Oct 17 counts at least 20 alternatives to TypeSafe's Jev decision model, which launched on September 15, within about four weeks. Listed vendors include Cloudflare, OpenAI, Perplexity, Liquid AI, AWS's Strands Labs and Together AI, plus independent developers, and many open weight entries are Apache 2.0 licensed. In a Respan benchmark from Oct 16 cited by the roundup, Jev 1.13.0 scored 0.932 accuracy and Together Tev1-4B scored 0.901.

    Heat · TechCrunch reported on Oct 16 that Vercel data shows Jev used by 35% of paid teams on its AI gateway within two weeks of launch.
    What people foundMarkTechPost notes that most figures in the list are self reported on different suites and advises benchmarking on your own labeled data, warning that a decision model can return a valid answer that is still wrong. By its pricing list, Perplexity flash-v1.2 is the cheapest general option at $0.01 per 1M input tokens.
    Learn it15 min · 4 steps

    Key ideas

    Decision model
    A model that returns a label, a score or a yes or no probability instead of free text.
    Vendor reported benchmark
    A score measured by the company selling the model, often on its own test set, so scores are hard to compare.
    Labeled evaluation set
    Your own examples with known correct answers, used to measure accuracy on your real task.

    Steps

    1. Read the MarkTechPost roundup first, focusing on its notes about self reported scores.
    2. Read the TechCrunch piece for context on how quickly Jev was adopted on Vercel.
    3. Pick three entries from the roundup and note price, license and whether weights are open.
    4. Self check: why can a 0.93 score on one suite and 0.90 on another tell you little about your own classification task?
    Try it30 min · 5 steps
    You need: Python 3, a spreadsheet or CSV of your own data, access to two models you already use or can run locally. API keys only if you choose hosted models.

    Steps

    1. Collect 50 examples from your own data, such as support tickets, and label each with the correct category by hand.
    2. Write a short prompt that asks for exactly one label from a fixed list.
    3. Run the examples through two models from the roundup, or one roundup model and a general model you already use, saving each answer to a CSV.
    4. With a short Python script, compute accuracy for each model and list the examples each got wrong.
    5. Check the wrong answers for valid looking but incorrect labels, the failure the roundup warns about.

    Small angles to try

    • Add a confidence threshold and measure how accuracy changes when low scores go to a human.
    • Compare cost per 1,000 examples using each provider's listed input price.
  10. #10AI in the world

    Anthropic data: junior share of technical hires fell from 27% to 9%

    Anthropic researchers published a technical report on Oct 16 using internal data on how work changed as coding agents spread inside the company. The junior share of technical departments fell from 21% to 14% since early 2025, and the junior share of technical hires fell faster, from 27% to 9%. By August, interactive agent hours directed by employees were six times human hours, and commits per engineer were five times their level six months earlier, a descriptive trend rather than a causal estimate.

    Heat · HN on Oct 18 with 115 points and 196 comments.
    What people foundThe report finds human attention is the bottleneck: about 80% of interactive Claude session time is spent waiting for human input, and meta work such as building agent tools and writing agent specs rose from 10% to 22% of sessions between fall 2025 and spring 2026. One engineer described the job as running "an army of Claudes", each one asking for attention.
    Learn it15 min · 5 steps

    Key ideas

    Descriptive versus causal
    A descriptive trend shows what changed over time, while a causal estimate tries to show what caused the change.
    Fixed effects
    A statistical method that compares each person with themselves over time to remove stable differences between people.
    Meta work
    Work spent building, configuring and supervising agents instead of doing the task directly.

    Steps

    1. Read the Anthropic report on employment at Anthropic first.
    2. Note how agent hours and human hours are defined, including the 40 hour week assumption and the cutoff for long waits.
    3. Read the causal section comparing 192 adopters with 74 non adopters and the caveat that adoption was not random.
    4. Read the HN discussion for outside reactions.
    5. Self check: why does a 5x rise in commits per engineer not prove agents caused it?
    Try it30 min · 5 steps
    You need: git and a repository you own or have rights to analyze. No API key needed.

    Steps

    1. Pick a repository you work on and choose two six month windows, one before and one after you began using coding agents.
    2. Count your commits in each window with git log --author=<your name> --since=<date> --until=<date> --oneline, piping to wc -l.
    3. Write down other changes in the same period, such as team size or project phase, that could explain any difference.
    4. Estimate how much of a typical agent session you spend waiting versus reviewing, and compare it with the report's 80% idle figure.
    5. Write two sentences separating what your numbers show from what they cannot prove.

    Small angles to try

    • Count reverted commits in each window to mirror the report's code quality check.
    • Track for one week how many agent sessions wait on you at the same time.
  11. #11Models & launches

    Elorian's Glimpse reasons over images by cropping and running code

    Palo Alto startup Elorian, led by former Google DeepMind researcher Andrew Dai, released Glimpse on 16 October 2026 as a research preview with an API and a chat interface. Instead of reading an image once, the model can go back mid reasoning to crop regions, pull video frames or run code to measure content, which Elorian calls a "visual scratch space". On Elorian's own evaluations it beats GPT-6 Astra on four benchmarks including CharXiv-R, 92.90 vs 92.10, ties on ERQA, and trails on the rest, including Video-MME v2 and CountQA.

    Heat · TechCrunch feature on 16 October 2026; TechCrunch reports a $55M seed round at a $300M valuation with Nvidia and Jeff Dean participating. No HN traction seen.
    What people foundPrice is $0.60 per million input tokens and $3 per million output tokens, which Elorian says is 94% below GPT-6 Astra on both. TechCrunch notes it sits above lightweight models like Haiku but below mid tier ones like Sonnet, and that a small team trained it on a few hundred GPUs. All benchmark numbers are self reported.
    Learn it15 min · 4 steps

    Key ideas

    Visual scratch space
    The model treats the image as something it can revisit during reasoning, zooming into or measuring parts of it instead of describing it once.
    Tool use on images
    Actions like cropping, frame extraction or running code are tools the model calls mid answer, the same way text agents call search or a calculator.
    Self reported benchmarks
    Scores published by the model's maker on a chosen set of tests, useful as a hint but not a substitute for checking on your own data.

    Steps

    1. Read Elorian's announcement post "Introducing Glimpse" first and note which benchmarks Glimpse wins and which it loses.
    2. Read the TechCrunch article for context on the team, funding and target markets such as robotics, labs and media.
    3. Compare the pricing with the multimodal model your team uses today, per million input and output tokens.
    4. Self check: why might a model that can crop and re read an image do better on dense scientific charts but worse on long video question answering?
    Try it30 min · 5 steps
    You need: A browser and a free Elorian account at platform.elorian.ai; Python with matplotlib to make test images; an Elorian API key only if you want to script calls. The announcement does not list a model id or SDK format, so check the platform after signing in.

    Steps

    1. Generate three charts from your own made up data with matplotlib: a dense line chart with small labels, a bar chart with 20 bars, and a scatter plot with a hidden outlier.
    2. Write down the correct answers before testing, for example the exact value of bar 14 and the outlier's coordinates.
    3. Sign in to the Elorian platform, open the chat interface and ask Glimpse each question with the matching chart attached.
    4. Ask the same questions to the multimodal model you already use and record both answers side by side.
    5. Score exact matches and note whether either model shows it zoomed in or measured anything before answering.

    Small angles to try

    • Use a photo of a page of your own handwritten notes and ask for a count of specific symbols.
    • Shrink the chart resolution step by step to see where each model starts guessing.
    • Record a short video on your phone and ask a question that depends on one brief frame.
  12. #12AI in the world

    China drafts export controls on large AI model weights

    On 16 October 2026 China's commerce and science ministries proposed adding 40 items to the export control list, 23 of them AI technologies, alongside 12 solar and 5 biomedicine items. For large models the controls would cover weights, source code and other core components, applying, per Bloomberg as cited by TNW, to models with at least 2 trillion parameters or those ranked in the world's top 10 on tests such as performance and safety. Public comments close on 15 November.

    Heat · Techmeme lead cluster with Bloomberg, Nikkei Asia, AP, FT, The Information and others.
    What people foundAccording to TNW, open source technology and code plus published research are exempt, and overseas users can still reach covered models through apps, websites and APIs. Analyst Dean W. Ball, quoted on Techmeme, read it not as a shutdown of open weight releases but as giving Beijing the option to stop future ones, mirroring the US approach to model weight controls.
    Learn it15 min · 4 steps

    Key ideas

    Export control list
    A government list of goods and technologies that need a licence before they can be transferred abroad.
    Model weights
    The trained numbers that make up a model; releasing them lets anyone run the model on their own hardware.
    Parameter threshold
    A rule that applies only to models above a certain size, here reported as 2 trillion parameters.

    Steps

    1. Read The Next Web article first for the scope, thresholds, exemptions and the comment deadline.
    2. Skim the Techmeme cluster to see how different analysts read the draft, from Dean W. Ball to Kristy Loke.
    3. Read the Rest of World piece for background on why Chinese open weight models matter to developers outside China.
    4. Self check: under the draft as reported, which of these would be affected: an already released open model, a new open source code repository, or a future flagship model above 2 trillion parameters?
    Try it30 min · 5 steps
    You need: A browser and a spreadsheet or Python. No API key needed.

    Steps

    1. List every open weight model your team or projects depend on, with its publisher and the exact version you pinned.
    2. For each one, open its model page on Hugging Face and record the parameter count and licence shown there.
    3. Mark which models are above 2 trillion parameters and which come from publishers that would fall under the draft as reported.
    4. Check that you keep a local or mirrored copy of every weight file you rely on, with its checksum and licence text saved next to it.
    5. Write a one paragraph fallback note naming a second model you could switch to if a future version shipped only as an API.

    Small angles to try

    • Do the same inventory for embedding and reranking models, which are often forgotten.
    • Compare how many of your dependencies would be affected by the reported 2 trillion threshold versus a hypothetical lower one.
    • Track the draft until the 15 November comment deadline and note any changes reported by the opened sources.
  13. #13Tools & open source

    Claude Code 2.1.302 turns on fork subagents by default in headless mode

    Claude Code v2.1.302, released 16 October, turns on fork subagents, requested as subagent type "fork", by default in claude -p, the Agent SDK, the desktop app and VS Code; they were already on in the terminal. A fork inherits the whole conversation so far, and only its final result returns to the main session. The release also adds CLAUDE_CODE_AUTO_MODE_MODEL for the client side auto mode classifier and makes the Read tool refuse image sources over 128 MB; v2.1.303 on 18 October lists only bug fixes.

    Heat · Official anthropics/claude-code GitHub releases: v2.1.302 on 16 October and v2.1.303 on 18 October, marked Latest.
    What people foundPipelines that relied on the old behavior can set CLAUDE_CODE_FORK_SUBAGENT=0, per the release notes. Also, claude -p and Agent SDK sessions with no permission mode now start in default mode on third party providers when telemetry is off or on a fresh install; pass --permission-mode auto to keep auto mode.
    Learn it15 min · 4 steps

    Key ideas

    Subagent
    A separate agent the main session hands a task to, which works in its own context and reports back a result.
    Fork subagent
    A subagent that starts with a copy of the full conversation, system prompt, tools and model, so it needs no re explanation.
    Headless mode
    Running Claude Code non interactively with claude -p, typical for scripts and CI.

    Steps

    1. Read the v2.1.302 entry on the anthropics/claude-code releases page first.
    2. Read the fork section of the Claude Code subagents documentation to see how forks differ from custom subagents defined in .claude/agents/.
    3. Check the CLI reference for --permission-mode and --output-format so you know which defaults your scripts rely on.
    4. Self check: if a CI script runs claude -p with no permission flag on a third party provider, which mode does it now start in, and how would you force auto mode?
    Try it30 min · 5 steps
    You need: Claude Code v2.1.302 or later on your own machine, a throwaway git repository, and a Claude account or API access. Runs only against your own files.

    Steps

    1. Run claude update, then claude -v to confirm the version.
    2. In a throwaway repository, run a headless task that invites delegation, for example claude -p --output-format stream-json --verbose "Summarize each file in src and then draft tests", and save the output.
    3. Search the saved stream for Agent tool calls and note whether any use the fork subagent type.
    4. Run the same prompt again as CLAUDE_CODE_FORK_SUBAGENT=0 claude -p --output-format stream-json --verbose "..." and compare the number of calls and total cost.
    5. If you use a third party provider, run once without --permission-mode and once with --permission-mode auto to confirm which mode each starts in.

    Small angles to try

    • Add --forward-subagent-text to the stream json run to reconstruct each subagent's transcript.
    • Define a small read only reviewer in .claude/agents/ and compare it with a fork on the same task.
    • Set --max-budget-usd on both runs to see how forks affect spend under a cap.
  14. #14AI in the world

    Leaked documents describe Amazon's Atlas tool scoring union risk

    openDemocracy reported on 16 October 2026 that internal Amazon documents, disclosed in a legal challenge by Canadian union Unifor and shared with Truthout, describe Atlas, an in house AI forecasting tool that estimates how likely warehouses in the US, Canada and UK are to see unionisation or "disruptive labour events". According to the documents, it draws on hundreds of data points, including Reddit posts and internal staff survey responses, gives each site a score from 100 to 900 and sorts sites into five tiers. The documents list 16 warehouses in Tier 1, meaning imminent activity, including two in the UK.

    Heat · HN: 173 points and 59 comments on 17 October 2026.
    What people foundAmazon told openDemocracy that Atlas works only at site or building level, does not track individual employees or personal data, and is not currently used in the UK; it did not answer whether a similar system runs there under another name. For engineers the case shows how a site level score built from public posts and survey data can feed staffing and resource decisions.
    Learn it15 min · 4 steps

    Key ideas

    Risk scoring model
    A model that turns many input signals into a single number used to rank cases for attention.
    Aggregation level
    Whether a model scores individuals, teams or whole sites, which changes both its privacy impact and how decisions use it.
    Proxy variable
    An input that is not the target itself but strongly correlates with it, so a model can learn sensitive patterns indirectly.

    Steps

    1. Read the openDemocracy article first, noting what the documents say and what Amazon says in response.
    2. Read the HN discussion to see how engineers reason about site level scoring and data sources.
    3. List the inputs the documents attribute to Atlas and, for each, write what it could act as a proxy for.
    4. Self check: why does a score that only rates sites still raise questions about the people who work there?
    Try it30 min · 5 steps
    You need: Python 3 with pandas, scikit-learn and fairlearn, installed with pip install fairlearn plus the other two. Fully synthetic data you generate yourself; no real people, workplaces or scraped posts. No API key needed.

    Steps

    1. Generate a synthetic table of 500 fictional sites with columns such as survey satisfaction, overtime hours, region and a made up "forum activity" count, plus a random binary outcome.
    2. Train a simple scikit-learn classifier on it and convert predicted probabilities into a 100 to 900 score and five tiers.
    3. Use fairlearn's MetricFrame with selection_rate and sensitive_features set to region to see how often each region lands in the top tier.
    4. Drop one input at a time, retrain, and record how the tier assignments change to find which features drive the ranking.
    5. Write a short audit note on what the score can and cannot justify, and which inputs act as proxies.

    Small angles to try

    • Inject a deliberate correlation between region and the forum feature and see whether the audit catches it.
    • Compare a site level model with one trained on synthetic individual records to see how aggregation changes the outputs.
    • Add random noise to the survey column and measure how stable the tiers are.
  15. #15AI in the world

    Francesco Maggi on Tao's blog: AI as golden or dark age for math

    In a guest post on Terence Tao's blog on 18 October 2026, mathematician Francesco Maggi argues that LLMs are now powerful research tools, but whether mathematics enters a golden or a dark age depends on human choices, and that the field needs more mathematicians, not fewer. He lists risks including unreadable machine generated Lean proofs, unclear authorship and credit, eroding signals of individual ability, confidentiality of unpublished work, and frontier models concentrated in a few private companies. He calls for universities, societies, funders and foundations to build publicly governed LLM infrastructure with standards for access, disclosure, reproducibility and confidentiality.

    Heat · HN: over 130 points and about 165 comments on 18 October 2026.
    What people foundMaggi's core point is that value in mathematics comes from human understanding, so the real darkness would be "knowledge becoming alien to human understanding". He still concludes that "the golden age scenario is achievable", and suggests cheap proofs could widen the work of turning new phenomena into mathematics.
    Learn it15 min · 4 steps

    Key ideas

    Formal proof
    A proof written in a language such as Lean that a computer checks step by step.
    Readable versus verified
    A proof can pass a checker and still be too opaque for a person to learn anything from it.
    Disclosure standard
    An agreed rule for stating how and where an AI tool contributed to a piece of work.

    Steps

    1. Read Maggi's guest post on Tao's blog in full first.
    2. Make a two column list of the risks he names and the proposals he makes, and match each proposal to a risk.
    3. Skim the HN discussion for responses from people who use AI in research or code.
    4. Self check: why does Maggi argue that more capable proof generators increase rather than reduce the need for mathematicians?
    Try it30 min · 5 steps
    You need: A browser for the Lean playground at live.lean-lang.org, or VS Code with the Lean 4 extension leanprover.lean4; optionally any chat model you already use. No API key needed for Lean itself.

    Steps

    1. Open the Lean playground and write a small statement you understand well, such as the sum of two even numbers being even.
    2. Prove it yourself, or with help from documentation, until Lean accepts it.
    3. Ask a chat model for a Lean proof of the same statement, paste it in and check whether Lean accepts it.
    4. Compare the two proofs for readability and write a one paragraph explanation of the machine version in plain words.
    5. Write a short disclosure note stating exactly which parts came from the model, as Maggi's proposal would require.

    Small angles to try

    • Repeat with an AI generated function in your own code base and write the same disclosure note for a pull request.
    • Ask the model for a natural language version of its proof and check whether it faithfully matches the Lean steps.
    • Try a slightly false statement and see how the model and Lean each respond.
  16. #16Models & launches

    Perplexity releases pplx-decider v1.2, open weight decision models

    Perplexity published pplx-decider-v1.2, a 26B parameter model built on Qwen3.8-27B, and pplx-decider-flash-v1.2, a 4.5B model built on Qwen3.5-4B, as Apache 2.0 open weights on Hugging Face. Instead of generating text, the models return calibrated decisions, and v1.2 reads the state plus all of a request's questions in one pass with one readout per question. On the card, Decision Index 0.3 rises from 62.30 to 68.09 and Vision Decision Index from 73.22 to 77.43 versus v1.1.

    Heat · Fresh release: the Hugging Face API showed 2 likes and 16 downloads for the 26B model and 3 likes and 4 downloads for the flash model when checked; the launch announcement was on X.
    What people foundPer the model card, the default fast path on one GB200 raises Decision Index throughput from 9.1 to 19.8 requests per second, with a 96 ms median single request, but plan for about 52 GiB of BF16 weights plus working memory. Joint requests help grouped question tasks such as SATA-Bench yet lose a few points on BFCL, BRIGHT and ToolRet, so test both request formats on your own workload.
    Learn it15 min · 5 steps

    Key ideas

    Decision model
    A model that reads an input and outputs probabilities over a fixed set of answers through a small readout head instead of writing free text.
    Joint request
    One forward pass that contains the shared state and several questions, each answered at its own marker token, so extra questions add little cost.
    Calibration temperature
    A single number used to rescale the model's scores so that a reported 0.8 confidence is right about 80 percent of the time; the card lists 1.382.

    Steps

    1. Read the pplx-decider-v1.2 model card on Hugging Face first, focusing on the joint format and the Decision Index table.
    2. Compare the joint and one per request columns to see which task types gain or lose from joint requests.
    3. Read the throughput and memory section to see what the fast path needs: CUDA, flash-linear-attention and torch 2.10 or newer.
    4. Look at the flash v1.2 card to compare its 4.5B size against the 26B model.
    5. Self check: why would a joint request be cheaper than sending each question separately, and on which kind of task did the card show it hurting?
    Try it30 min · 5 steps
    You need: Python 3.12 or newer, a CUDA GPU with more than 52 GiB free for the 26B model, the huggingface_hub package; the weights are public under Apache 2.0. No API key needed.

    Steps

    1. Create a fresh virtual environment with Python 3.12 or newer on your own GPU machine.
    2. Download the checkpoint with snapshot_download("perplexity-ai/pplx-decider-v1.2") from huggingface_hub.
    3. Install the bundled source package from the downloaded checkpoint as the model card describes, using pip install "./source[fast]" if you want the fast path.
    4. Load it with Decider.from_pretrained(checkpoint, device="cuda"), call decider.warmup(), then ask a few yes or no and multiple choice questions about your own text.
    5. Send the same questions once as a joint request and once one per request, and record probabilities and latency for each.

    Small angles to try

    • Swap in pplx-decider-flash-v1.2 on a smaller GPU and compare answers with the 26B model.
    • Use it to route your own support tickets into a handful of labels and measure accuracy against hand labels.
    • Compare its confidence scores to a prompted chat model asked to answer with a single label.
  17. #17Trends × tech

    Japan's actors' union sets voice AI rules: consent per use, yearly expiry

    On October 15, 2026 the Japan Actors Union, Nippairen, released guidelines on generative AI use of voices built on three pillars: prior notice and consent, data control, and separate compensation. Consent is needed for training, generation, publication and use, blanket consent is not allowed, and consent lasts at most one year in principle; on withdrawal the operator must delete voice data and prompts and stop providing the related model. The rules carry no legal force, and they follow a September 2026 Tokyo District Court ruling in the Kenjiro Tsuda case indicating that a voice can be protected by publicity rights.

    Heat · ITmedia AI+ feature on October 16, 2026, the day after a Nippairen press conference; it lands one month after the Tsuda ruling and two months after a Ministry of Justice statement that unauthorized voice use may infringe rights.
    What people foundNippairen vice chair Michihiro Ikemizu answered industry complaints that the rules are strict by saying things had been "too easy until now". For builders, the concrete asks are encryption, usage logs, records of any third party data sharing, real deletion on withdrawal, and pay separate from the normal appearance fee.
    Learn it15 min · 5 steps

    Key ideas

    Publicity rights
    A legal claim that lets a person control commercial use of identifying traits such as a face or name, and possibly a voice.
    Granular consent
    Permission given separately for each purpose and stage, such as training versus publication, rather than one blanket yes.
    Consent expiry
    A rule that a permission stops being valid after a set period, here one year in principle, so it must be renewed.

    Steps

    1. Read the ITmedia AI+ article of October 16 first for the three pillars and the reactions.
    2. Open the Nippairen guideline page and its PDF to see the rules on multilingual dubbing and deceased performers.
    3. List which rules turn into system requirements: per stage consent, expiry dates, logs, deletion of data and models.
    4. Read about the Tsuda ruling in the ITmedia piece to see why a court result and a ministry statement made the guideline timely.
    5. Self check: if a performer withdraws consent, what three things must a voice service do under the guideline?
    Try it30 min · 5 steps
    You need: Python 3 with the standard library sqlite3 module and your own made up sample data. No API key needed.

    Steps

    1. Design a small consent table in SQLite on your own machine with fields for performer, stage such as training or publication, purpose, granted date and expiry date.
    2. Write a function that refuses a generation request unless a matching, unexpired consent row exists for that exact stage and purpose.
    3. Add an append only usage log table and record every allowed or refused request.
    4. Write a withdrawal routine that deletes the performer's stored sample files and prompt records, marks related model files as retired, and logs the action.
    5. Run tests with fake records that cover expired consent, blanket consent attempts and withdrawal.

    Small angles to try

    • Add a rule that sharing data with a third party writes its own record, as the guideline asks.
    • Generate a monthly report from the usage log that could support usage based payment.
    • Compare this design with consent rules in a TTS service's published terms.
  18. #18Models & launches

    OpenMOSS releases MOSS-Image, 5B open text to image model with JSON layouts

    OpenMOSS released MOSS-Image-Base and MOSS-Image-SFT on October 16 with weights on Hugging Face and pipeline code on GitHub. The 5B parameter DiT model takes plain prompts up to 4K tokens or a JSON layout whose items carry a label, caption, bounding box and optional text to place on the canvas. The Hugging Face card states the weights and bundled inference code are Apache 2.0.

    Heat · Early numbers: the Hugging Face API showed 112 likes and 54 downloads for MOSS-Image-SFT, and the GitHub repo had 23 stars when checked.
    What people foundPer the model card, width and height must be positive multiples of 16, it needs Python 3.10 or newer, PyTorch 2.9 or newer and an NVIDIA CUDA GPU, and the defaults are 50 steps of flow matching Euler at CFG 3. Use the card's Quick Start code, because loading needs the custom pipeline and remote code flags.
    Learn it15 min · 5 steps

    Key ideas

    DiT
    A diffusion transformer, an image generator that uses transformer blocks instead of a convolutional U-Net to remove noise step by step.
    Layout conditioning
    Giving the model boxes with captions so it places each object or piece of text in a chosen region of the image.
    Classifier free guidance
    A sampling trick that pushes the output toward the prompt by comparing guided and unguided predictions; CFG 3 sets its strength.

    Steps

    1. Read the MOSS-Image GitHub README first, especially the JSON layout example and its coordinate rules.
    2. Read the MOSS-Image-SFT model card for requirements and sampler defaults.
    3. Note how bbox coordinates are centered on the canvas and in yxyx order.
    4. Compare the Base and SFT checkpoints to see which one the card suggests for direct use.
    5. Self check: what must match between a JSON layout and the requested output size?
    Try it30 min · 5 steps
    You need: Linux machine with an NVIDIA CUDA GPU, Python 3.10 or newer, PyTorch 2.9 or newer, diffusers and transformers; weights download from Hugging Face. No API key needed.

    Steps

    1. Clone the repo with git clone https://github.com/OpenMOSS/MOSS-Image.git, create a virtual environment and run pip install -r requirements.txt.
    2. Load the model with diffusers DiffusionPipeline.from_pretrained("OpenMOSS-Team/MOSS-Image-SFT", custom_pipeline="pipeline_moss_image", trust_remote_code=True) and move it to CUDA.
    3. Generate a 1024 by 1024 image from a plain prompt with num_inference_steps=50 and guidance_scale=3.0 and a fixed seed.
    4. Write a JSON layout with two boxes, one holding a short line of text, pass it as the prompt with json.dumps(layout, ensure_ascii=False), and check where text lands.
    5. Try the Gradio demo with pip install -e '.[ui]' and python gradio_app.py --model OpenMOSS-Team/MOSS-Image-Base.

    Small angles to try

    • Compare Base and SFT on the same seed and layout.
    • Lower the step count and see where quality drops.
    • Test text rendering in Japanese or Chinese inside a layout box.
  19. #19Tools & open source

    Show HN: STROT compiles LLM intent once, then decides each record on CPU

    STROT is an MIT licensed Python library that calls an LLM once at compile time to build a frozen decision program for routing, scoring or classifying records. Each record is then handled by a local model of about 144M parameters, SupersonicLabs/Julia-1 under Apache 2.0, which returns probabilities and abstains when confidence is low. Version 0.11.1 went to PyPI on October 18.

    Heat · Show HN on October 19 with about 21 points and 5 comments; the GitHub repo had 0 stars when checked, so this is very early.
    What people foundThe README reports 92.5 percent on 398 grounded routing records compiled versus 74.8 percent naive, about 60 ms per record and no LLM calls at runtime, all self reported. On HN, jMyles praised the infer once pattern, while wonnage argued you could just ask an LLM to write a program once and run that.
    Learn it15 min · 5 steps

    Key ideas

    Compile time LLM
    Using a large model once to produce labels, rules and handlers, then never calling it again for each record.
    Confidence gate
    A threshold that makes the system abstain and pass a record on instead of guessing when its probability is too low.
    Golden answers
    A small set of records with known correct outputs used to check the compiled program before it goes live.

    Steps

    1. Read the Project-STROT README first, focusing on the difference between run and decide.
    2. Read the benchmarks folder description to see how the compiled versus naive numbers were produced.
    3. Read the HN thread for the main objection, that a generated script could do the same job.
    4. Look up the Julia-1 decision model to understand what runs per record.
    5. Self check: what happens to a record whose confidence falls below the gate?
    Try it30 min · 5 steps
    You need: Python 3.9 or newer, the strot-ai package with the local extra for torch and transformers, CPU is enough at runtime; the compile step in the README example uses an Anthropic model, so an Anthropic API key is needed once.

    Steps

    1. Create a virtual environment and run pip install strot-ai[local] strot-ai[anthropic], and do not install the unrelated package named julia.
    2. Prepare 50 of your own sample tickets or log lines with hand labels as golden answers.
    3. Following the README quickstart, call strot.run() with your records, a plain language query and an action registry of two or three actions.
    4. Run the compiled program over the records offline and record accuracy, abstentions and time per record.
    5. Compare against simply prompting an LLM per record on the same set.

    Small angles to try

    • Use decide() with a boolean or score question instead of routing.
    • Change the confidence threshold and plot accuracy against abstention rate.
    • Ask an LLM to write a plain Python classifier once and compare it with STROT, testing the HN objection.
  20. #20Trends × tech

    Mel Kishida says AI images converge on a plausible look, sparking debate

    Illustrator Mel Kishida, @mellco, posted on the night of October 15 JST that years ago he expected AI image styles and realistic faces to diversify rapidly until they were hard to tell apart. Instead, he wrote, progress has been slower and output has converged on things that merely look right, and he wondered whether a breakthrough would come. Yahoo! Realtime Search turned the thread into a summary on October 16, where replies blamed model homogenization, users' prompting habits and companies' market strategies, and some saw the same averaging in advertising.

    Heat · Featured as a Yahoo! Realtime Search trending post summary on October 16, 2026, which gathered the reply themes.
    What people foundKishida's phrase "それっぽいものに集約", roughly converged on what looks plausible, describes from an artist's side what researchers call mode collapse, a loss of output diversity often linked to preference tuning and default prompts.
    Learn it15 min · 4 steps

    Key ideas

    Mode collapse
    When a generative model keeps producing a narrow set of similar outputs instead of covering the full range it was trained on.
    Preference tuning
    Training a model toward outputs that raters like, which can push results toward one popular average style.
    Embedding diversity
    A way to measure variety by turning each image into a vector and checking how spread out the vectors are.

    Steps

    1. Read the Yahoo! Realtime Search summary first for the post and the reply themes.
    2. Read an introduction to mode collapse in generative models to connect the idea to training.
    3. Think about which reply explanations, models, prompts or market strategy, could be tested and how.
    4. Self check: how would you tell whether sameness comes from the model or from users writing similar prompts?
    Try it30 min · 5 steps
    You need: A local open weight image model such as MOSS-Image on your own GPU, or any image tool you already use, plus a Python image embedding model. No API key needed with a local model.

    Steps

    1. Write 10 varied prompts about the same subject, such as a portrait, without naming any style.
    2. Generate 5 images per prompt with different seeds on your own machine and save them.
    3. Embed every image with an open image embedding model and compute the average pairwise cosine distance.
    4. Repeat with prompts that name distinct styles and compare the diversity scores.
    5. Write down whether naming styles widened the spread and by how much.

    Small angles to try

    • Compare a base checkpoint and its tuned version on the same prompts and seeds.
    • Raise and lower guidance strength to see its effect on diversity.
    • Score diversity of your own sketches or photos as a human baseline.

Get the Radar by email

One email each evening, Japan time, with that day's items. Opening soon: leave your email and we'll send a confirm link when it starts.