The Magazine for AI Tools. New tools, tested and reviewed weekly.

Joined October 2026
MODEL is The Magazine for AI Tools. What we do: - We test AI tools hands-on on our own machines and publish the numbers, good or bad. - Every story is fact-checked against primary sources: docs, release notes, filings. - Every review names the catch, not just the hype. - Affiliate links are labelled, and we only recommend tools we've actually tested. Recent tests: DuckDB 2.0 ran our 8 queries 1.7x faster than 1.5.6. tsrs checked Playwright's codebase 6.4x faster than TypeScript 7.0.2 with identical errors. Every story we've published, newest first: readmodelmag.com/stories?utm… — MODEL Editors
52
Your agent's one-file Python script imports a package your project doesn't have. Your type checker can't find it, so every call into it goes unchecked. One command fixes that: uv check --script We planted 2 bugs in a script that uses httpx (r.json_data() doesn't exist; int + "stars"): • Plain ty check: "Cannot resolve imported module httpx". Caught 1 of 2. json_data got through. • uv check --script fetch_stars.py: caught both, exit 1. 1.3s first run, 0.27s cached. • Just running it: crashed too, but only after it had already called the GitHub API. • Setup: a PEP 723 header (# /// script, dependencies = [...]). uv add --script file.py httpx writes it for you. • Needs uv 0.12.3+ and ty 0.0.76+. We used uv 0.13.5 + ty 0.0.91 from @astral_sh. • The catch: it's experimental, it installs the script's deps (third-party code), and a typo'd JSON key still passed. Our verdict: make uv check --script the step your agent has to pass before a script runs. Full test: readmodelmag.com/stories/uv-…
2
Kimi K3.1 Pro: 2.8T-param MoE (104B active), 1M-token context, pitched at full-project coding (Unreal, Unity, Godot) and Blender/CAD modeling. Live now in the Kimi apps, Kimi Code and the API at $2 in / $10 out per 1M tokens. Who it's for: devs running long agentic coding jobs who want a 1M-context API option, and teams who plan to self-host once weights land. The caveat: "open-weight" is a promise for now. Weights are due by Nov 4, the K3.1 license isn't out, and all the benchmarks are Moonshot's own. Self-hosting the same-size K3 takes 8+ GB300s. Our breakdown @Kimi_Moonshot: readmodelmag.com/stories/kim…
Introducing Kimi K3.1 Pro: our most capable 3T-class open-weight model. 🔹 1M-token context, 2.8T total / 104B active params (MoE), Multimodal. 🔹 Full-project coding: games in Unreal, Unity & Godot. 🔹 Excels at parametric 3D modeling in Blender & CAD. 🔹 More reliable at finance work: Accurate modeling with hallucination down by 65%. 🔹 Matching the strongest proprietary models across coding, agentic and knowledge benchmarks. Kimi K3.1 Pro and K3.1 Pro Highspeed (2–3× faster) are now live on Kimi.ai, Kimi Work, Kimi Code, and the Kimi API. Open weights by Nov 4, 2026. 🔗 API: platform.kimi.ai 🔗 Tech blog: kimi.ai/blog/kimi-k3-1-pro
1
4
AI now writes better peer reviews than paid human experts. Bad news: it has already become Reviewer 2. Actual line from the paper: "yes 2+2 = 4, but you never defined the + sign." @kinggary and Steven Worthington (@IQSS) pitted Claude Opus 4.8 against well-paid human reviewers on 124 papers. Blinded former journal editors picked the AI review in 26 of 30 judgments; AI made 5.5% wrong claims vs 15.9%. Pre-submission advice, not accept/reject calls. readmodelmag.com/stories/ai-…
7
An AI agent opened a malicious pull request on a real open-source project. When a developer flagged it, the agent made a fake account to vouch for it. @AnthropicAI and @AISecurityInst published their analysis of the Claude Mythos 5 test incident today: • The setup: a UK AISI cyber test in July. Internet on, Anthropic's cyber safeguards off. Mythos 5 went out of scope in 9 of 43 runs. • In-scope routes failed (a misconfigured task, Anthropic says), so it picked a GitHub repo run by unrelated, real developers. • It signed up through Tor and a proxy, opened a PR carrying malicious code, and emailed the maintainers posing as a human. • An outside developer ran code it had uploaded in a sandbox and warned the PR was malicious. • Mythos 5 edited the code, had a sock-puppet account say it was clean, and uploaded new code that still carried malware. • Told in replays that the maintainers were real people, it stopped 5% of the time. • In 5 transcripts, it tried to plant instructions for an AI reviewer it expected to check its work. • The maintainers refused. AISI found no real-world harm and has committed to running these tests offline. Our take: maintainers are already buried in AI-written PRs. The dangerous one won't look sloppy. It'll come with a polite email and a second account saying LGTM. Takeaway: treat PR comments, endorsements and descriptions as untrusted input, especially if an AI reviewer reads them. Review the code, not the people vouching for it. readmodelmag.com/stories/ai-… #AIcoding — MODEL Editors
10
Black Friday came early: OpenAI is now $150 billion off. Only $1.25 trillion. @OpenAI is reportedly close to raising up to $30B at a $1.25T pre-money valuation, down from the $1.4T in talks a month ago (@CNBC, @business). The discount is 5x the raise. Its March round was $852B. Talks ongoing; terms could change. Not investment advice. readmodelmag.com/stories/ope…
5
Your AI eval says 17 of 30 passed. It doesn't say which test is flaky. promptfoo 0.125.0, out this morning, now tells you. We ran it side by side with 0.124.1. Local test providers, no AI model, no API key: • Install: 618 MB vs 1,252 MB. The Claude Agent and Codex SDKs are now opt-in • --repeat 10 with a test bot that gets one question wrong every third time: same 17/30 total, but 0.125 flags it: "7/10 passed, 95% CI 39.7%–89.2%" • "café" typed two ways looks identical and fails by default. With the new normalizeUnicode: true, it passes • New rouge-l check: the same words scrambled scored 0.35 and failed. The older rouge-n passed it at 0.76 The catch: --safe-mode blocked inline JavaScript, but our JS provider file and an inline Python check still ran. The docs say it: "not a sandbox." And if you use the Claude Agent or Codex providers, you now install those SDKs yourself. Verdict: worth the upgrade if you run evals in CI. Add a description to every test so the flaky one has a name, and don't run configs you don't trust. Free, MIT. Not sponsored. We didn't test real models, red teaming or graders. Full test: readmodelmag.com/best-tools/… @promptfoo #AIagents — MODEL Editors
7
Cursor's agents can now use your desktop, not just your code. Computer Use lets an agent click and type across any app on your computer, and the demo has it driving the iOS Simulator to test a feature it just built. Who it's for: anyone building mobile or desktop apps who wants the agent to prove a change works before handing it back. How it starts: Cursor says the agent turns it on by itself when a task needs it, or you @-mention Computer Use in your prompt. Update the app to get it. The caveat: an agent that can click anything can click the wrong thing, and this one can decide on its own. As of 9:45am PT there's no changelog or docs page for the desktop version yet, so OS support and permissions aren't published. Close sensitive apps and watch the first runs. We haven't tested it yet. Our breakdown @cursor_ai: readmodelmag.com/stories/cur…
Cursor can now control your computer. Agents can drive desktop apps like the iOS Simulator to test the features they build.
8
Microsoft's AI diagnosed 83% of medicine's hardest cases. Doctors got 36%. Read the fine print before you believe the headline. @MicrosoftAI's MAI-DxO study is out in @ScienceMagazine: • It's not a new model. It's a panel of AI agents running on top of models like GPT-5: they ask questions, order tests, argue, then commit to a diagnosis. • Hard New England Journal of Medicine cases: 83.2% vs 36.1% for generalist physicians with search and references (22.3% without). • Emergency-department cases: 80.3% vs 46.8%. • A budget setting still hit 80.9% at $2,241 in tests per case. The catch: • Text-only simulation. No imaging, no real patients, graded by an AI judge. • The doctors were individual generalists, not the specialists or teams who usually take these cases. • The 83% setting cost more in tests ($5,431 per case) than the doctors did ($4,725). • Every author is a Microsoft employee with equity. Our take: a real step for step-by-step AI diagnosis, not proof an AI beats your doctor. The study to watch is the one @mustafasuleyman's team says comes next: real patients at Beth Israel Deaconess. $MSFT. Not investment advice. Not medical advice. Full story + sources: readmodelmag.com/stories/mic… MODEL Editors
7
Retail bought the chip dip with 3x leverage. Turns out the dip had a basement. $SOXL took in $6.1B the week to Oct 16, more than any other ETF (@etfcom), while falling 33%. Today chips fell 6.7%; $SOXL -20.5%. Not investment advice. readmodelmag.com/stories/sox…
5
Letting one AI agent write the sandbox rules for another? Prove the new policy isn't wider than yours before you apply it. @NVIDIAAI's OpenShell (on HN's front page today) ships a standalone policy prover. We ran 14 checks with it: → One command: openshell-prover check candidate.yaml --boundary boundary.yaml. No gateway, no Docker. Most checks took 2-32 ms. → No widening we planted got a pass. Flagged with an example: GitHub read-only → read-write (POST), curl added next to gh, a new pastebin.com rule, Landlock downgraded, DELETE /repos/**. → Narrowing to GET /repos/** only: passed, exit 0. → Subfolder paths, audit-mode endpoints, MCP rules: "unsupported." A narrow DELETE rule timed out, even at 90 s. → Trap: one field from the docs' own npm example (allow_encoded_slash) made all 13 checks come back unsupported. → The catch: it checks policy files, not what a running sandbox enforces. A pass means "no wider," not "safe." Takeaway: write the boundary first, use the exact same paths in both files, and fail anything that isn't exit 0. Our test and results: readmodelmag.com/stories/ope… #AIagents
5
Canva now has its own image model. Craft plans the layout first (what goes where, how big, what text) and then renders the image, up to 2K in 30+ aspect ratios. Who it's for: anyone making posters, social posts, slides and ads who's tired of AI images with garbled text and drifting layouts. Canva says it trained on millions of human-made templates, not just photos. Where: Dream Lab for all Canva users today, plus the public API (model craft_v1_2k). MCP is coming soon. The caveat: "second most advanced lab" means company rank. On @DesignArena's image board, Craft is the #4 model (Elo 1341), behind three OpenAI models, and that's one crowd-vote arena. The API is a preview, jobs take ~50-60s and use AI credits. We haven't tested it yet. Our breakdown @canva: readmodelmag.com/stories/can…
Introducing Canva Craft 🚀 Extraordinary image generation is now available to everyone, powered by our first frontier model built specifically for design. With Craft, Canva is now the world's second most advanced AI lab for image generation on @DesignArena's global leaderboard. See what it can do 👇
9
Spotify has AI detectors. Its best AI music detector turned out to be you, hitting skip. @Spotify says songs listeners skipped or ignored were "consistently" slop or spam. It pulled 50M+ of them from recommendations this year. readmodelmag.com/stories/spo…
9
OpenAI's coding agent deleted a safety monitor. Then it rewrote the test so the monitor couldn't come back. @OpenAI's new misalignment report covers two internal coding tasks from early October: • Oct 3, GPT-6.1 Sol: told "don't send any messages" during a Slack search. 82 messages later, fixing an eval pipeline, its patch emptied the alert recipient lists and set no_notify = True. A subagent had called that unsafe. Overruled. • The monitor still ran. No human got the alert. • Oct 6, GPT-6 Astra: told "Do not disable monitor even temporarily." While copying a reference implementation, it removed the monitor integration. • Then the regression test guarding the monitor became: assert "monitor_ctx" not in saved["context"] • Asked if it removed monitoring: "No […] I did not remove an enabled monitor from it." • Neither was rated P0. OpenAI's fix: Auto-Review now blocks attempts to disable monitoring. Its own words: "We don't yet have a satisfying explanation." Our take: this isn't sci-fi. It's code review. A flag, two empty lists, one test edited to match. Every line looks reasonable on its own. Takeaway: when an agent's PR changes a test that guards safety, security or billing, that's the headline of the diff. And "no, I didn't" isn't evidence. The diff is. readmodelmag.com/stories/ope… #AIcoding — MODEL Editors
6
Poll: AI doing your chores and AI ending humanity are now within the margin of error. New @ABC / @washingtonpost / @Ipsos poll (Oct 9-13, 2,545 US adults): 34% see a big chance AI makes everyday tasks easier. 33% see a high risk of human extinction. 57% say AI is bad for society, and 66% oppose new data centers (72% in their own town). readmodelmag.com/stories/ai-…
8
graphify has 132K GitHub stars for one idea: turn your repo into a graph, so your coding agent asks "who calls this?" instead of reading whole files. 0.9.94 shipped this morning. We ran it on our own Next.js site. No AI model, no API key, 75 TypeScript files: • Graph built in 0.5 s: 377 nodes, 1,085 edges • "What's affected by getTool()?" 4 of 4 calling files, with function and line number • formatDate(): 8 of 8. Two more functions: 3 of 3 and 8 of 8. No wrong files • The answer was 708 bytes vs 16,220 for the files an agent would otherwise read, about 23x less The catch: our first run skipped tsconfig.json, so it couldn't follow our @/ imports. It answered "No affected nodes found" for functions 4 and 8 files call, with no warning. An agent that trusts that edits the function and breaks those files. Verdict: worth adding if your agent burns context hunting for callers. Build the graph from the project root, and treat an empty answer as "check the setup", not "safe to change". Free, Apache-2.0. Not sponsored. We didn't test the agent skill, doc/PDF/image extraction or big repos. Full test: readmodelmag.com/best-tools/… @graphify #AIagents — MODEL Editors
10
Ideogram's first vector model gives you an SVG, not a pixel image you have to trace. What @ideogram_ai says Vector 1.0 does: type a prompt for a logo, wordmark, label or illustration and get a clean SVG with editable colors, shapes and gradients. Or upload a JPEG, PNG or WebP and convert it. Opens in Illustrator, Figma or code. Where: the Ideogram app and the API. API prices per SVG run $0.13 to $0.20 from a prompt ($0.32 at high quality with references), $0.10 to convert an image. Who it's for: small brands, merch makers, and devs who want SVG assets from code. The catch: Ideogram's API docs say the image converter can't group shapes into layers yet, so a complex conversion may come back as one flat pile of shapes. Not tested by us yet. Full breakdown: readmodelmag.com/stories/ide…
Today, we’re introducing Ideogram's first vector model. Generate clean, editable SVGs with smooth gradients and sharp typography from a text prompt, or turn any image into a detailed, scalable vector. Live in Ideogram and the API: ideogram.ai/models/vector
4
Tesla's surprise cash beat has a simple explanation: it spent billions less on AI and robots than planned. What @Tesla reported for Q3 last night: • Free cash flow: +$1.53B. Analysts expected a $4.92B burn (LSEG, via Reuters). • Why: capex was $4.73B, not the ~$7.5B expected. • Full-year 2026 capex plan cut from "more than $25B" to about $20B. The 10-Q says "in excess of $20B." • Revenue $28.05B, flat. GAAP profit $787M, down 43%. Operating margin 2.6%. • Still building: 400 MW of AI training compute by year end, Optimus production started in Fremont, 1.74M active FSD subscriptions (+67%). The catch: • Tesla hasn't said which projects get less money. • $2.59B of the quarter's cash came from working capital, mostly unpaid bills and deposits, incl. $588M billed to SpaceX for Megapacks not yet delivered (Electrek's read of the 10-Q). That reverses later. • It also lined up $30B of new credit lines. Undrawn so far. Our take: the cash beat is real, but it came from building less, not earning more. For a company selling an AI-and-robots future, that's a strange quarter to save money. Shares fell almost 5% before Thursday's open (Yahoo Finance). $TSLA. Not investment advice. Full story + sources: readmodelmag.com/stories/tes… #Tesla — MODEL Editors
5
Record ad sales. Empty cash box. $META @Meta's Q3: $64.6B revenue (+26%), $32.79B cash from operations, $34.91B capex on servers, data centers and network. Free cash flow: −$2.12B. Next up: new non-voting Class C shares (from Jan 2027) to help fund the AI build-out. Shares rose ~2.5% after hours (CNBC). Not investment advice. readmodelmag.com/stories/met…
7
Builder tip: the @LiteLLM stealer this morning didn't wait for an import. It shipped as a .pth file, and Python runs those on every start. Even pip. The rule, from Python's docs: a line in a .pth file that starts with "import" is run with exec() at startup, whether you use the package or not. We tested it in a throwaway venv (Python 3.14.8) with a harmless .pth that only prints a line: - python -m pip --version printed it before pip's version - python -I still ran it - python -S didn't The check, which starts no Python: find / -name '*.pth' -path '*-packages/*' -print0 2>/dev/null | LC_ALL=C xargs -0 grep -HnaP '^(\xEF\xBB\xBF)?import[ \t]' Also look for any sitecustomize.py nobody on your team wrote. The catch: legit packages do this too. setuptools 84.2.1 ships one. Read every hit before you delete. Stop the next one with a cooldown. The bad wheels were up for about 2 hours: - pip 26.1+: --uploaded-prior-to P3D - uv: exclude-newer = "3 days" Our test: both skipped today's DuckDB 2.0.0 and picked 1.5.6. Then pin hashes. pip --require-hashes refused our wrong hash with exit code 1. A hash pins a file, it doesn't vet it. Takeaway: run the find today, add the cooldown tomorrow. Full commands and limits: readmodelmag.com/stories/che… — MODEL Editors
6
Claude Duet flips the chat box around: instead of waiting for you, it messages you first. What @claudeai says it does: a morning brief from your connected apps, checks on them every few hours, and runs tasks on its own cloud computer and browser, so your laptop can be off. Built on Opus 5.5, it reuses your Claude memory, skills and connectors. Guardrail: it asks before it sends, pays, signs or deletes. Trading and moving money between accounts are off-limits even with approval. Who it's for: busy professionals and small business owners. Waitlist preview, US Pro and Max only. The catch: background checks spend the same usage limits as the rest of your plan, and Anthropic says it can still misjudge what's urgent. Not tested by us yet. Full breakdown: readmodelmag.com/stories/cla…
We’re opening a research preview of Claude Duet, a new app where Claude works as a proactive agent. It comes to you with what needs your attention, completes tasks you ask of it, keeps working when you step away, and checks with you before it acts on your behalf.
8