Articles by simonw
11

Useful patterns for building HTML tools (simonwillison.net)

8

The Resonant Computing Manifesto (resonantcomputing.org)

4

Claude 4.5 Opus Soul Document, which has now been confirmed by Anthropic (gist.github.com)

49

Reverse engineering Codex CLI to get GPT-5-Codex-Mini to draw me a pelican (simonwillison.net)

1

Code research projects with async coding agents like Claude Code and Codex (simonwillison.net)

29

New prompt injection papers: Agents rule of two and the attacker moves second (simonwillison.net)

2

Agents Rule of Two: A Practical Approach to AI Agent Security (meta.com)

70

Code like a surgeon (geoffreylitt.com)

3

Use AI to code like a surgeon (twitter.com/geoffreylitt)

1

Use AI to code like a surgeon (twitter.geoffreylitt)

34

Getting DeepSeek-OCR working on an Nvidia Spark via brute force with Claude Code (simonwillison.net)

3

Jesse Vincent: How I'm using coding agents in September, 2025 (fsck.com)

4

Embracing the parallel coding agent lifestyle (simonwillison.net)

76

Designing agentic loops (simonwillison.net)

2

Cross-Agent Privilege Escalation: When Agents Free Each Other (embracethered.com)

2

Fine-grained HTTP filtering for Claude Code (ammar.io)

2

I think "agent" may have a widely enough agreed upon useful definition (simonwillison.net)

2

Recreating the Apollo AI adoption rate chart with GPT-5, Python and Pyodide (simonwillison.net)

84

GPT-5 Thinking in ChatGPT (a.k.a. Research Goblin) is good at search (simonwillison.net)

4

Nothing to see here (it was Cloudflare crawler hints) (simonwillison.net)

256

Vibe code is legacy code (val.town)

4

The best available open weight LLMs now come from China (simonwillison.net)

280

My 2.5 year old laptop can write Space Invaders in JavaScript now (GLM-4.5 Air) (simonwillison.net)

3

Using GitHub Spark to Reverse Engineer GitHub Spark (simonwillison.net)

8

Vibe scraping and vibe coding a schedule webapp for a conference on my phone (simonwillison.net)

263

Grok: Searching X for "From:Elonmusk (Israel or Palestine or Hamas or Gaza)" (simonwillison.net)

3

AI agent lethal trifecta: private data, untrusted content, exfiltration vectors (simonwillison.net)

46

Design Patterns for Securing LLM Agents Against Prompt Injections (simonwillison.net)

3

The last six months in LLMs, illustrated by pelicans on bicycles (simonwillison.net)

137

Show HN: My LLM CLI tool can run tools now, from Python code or plugins (simonwillison.net)

281

Watching o3 guess a photo's location is surreal, dystopian and entertaining (simonwillison.net)

77

AI assisted search-based research works now (simonwillison.net)

1

Image segmentation using Gemini 2.5 (simonwillison.net)

1

CaMeL offers a promising new direction for mitigating prompt injection attacks (simonwillison.net)

6

Model Context Protocol has prompt injection security problems (simonwillison.net)

1

Long context support in LLM 0.24 using fragments and template plugins (simonwillison.net)

16

Here's how I use LLMs to help me write code (simonwillison.net)

1

Structured data extraction from unstructured content using LLM schemas (simonwillison.net)

2

Claude 3.7 Sonnet, extended thinking and long output (simonwillison.net)

2

Run LLMs on macOS using LLM-mlx and Apple's MLX framework (simonwillison.net)

2

Ask HN: Is your company running any "agents", Jan 2025 edition

87

Qwen2.5-7B-Instruct-1M and Qwen2.5-14B-Instruct-1M (simonwillison.net)

2

Anthropic's New Citations API (simonwillison.net)

2

Generative AI – The Power and the Glory (bnef.com)

2

Agents – Adapted from the AI Engineering Chapter by Chip Huyen (huyenchip.com)

306

Things we learned about LLMs in 2024 (simonwillison.net)

2

My Approach to Building Large Technical Projects (2023) (mitchellh.com)

68

Trying out QvQ – Qwen's new visual reasoning model (simonwillison.net)

1

Building Python tools with a one-shot prompt using uv run and Claude Projects (simonwillison.net)

33

Clio: A system for privacy-preserving insights into real-world AI use (anthropic.com)

1

Gemini 2.0 Flash: An outstanding multi-modal LLM with a sci-fi streaming mode (simonwillison.net)

43

I can now run a GPT-4 class model on my laptop (simonwillison.net)

4

First impressions of the new Amazon Nova LLMs (via a new LLM-bedrock plugin) (simonwillison.net)

4

Qwen2.5-Coder-32B is an LLM that can code well that runs on my Mac (simonwillison.net)

2

You can now run prompts against images, audio, video in your terminal using LLM (simonwillison.net)

2

Everything I built with Claude Artifacts this week (simonwillison.net)

2

Experimenting with audio input and output for the OpenAI Chat Completion API (simonwillison.net)

37

Video scraping: extracting JSON from a 35s screen capture for 1/10th of a cent (simonwillison.net)

289

NotebookLM's automatically generated podcasts are surprisingly effective (simonwillison.net)

2

A tool showing how Gemini Pro can return bounding boxes for objects in images (simonwillison.net)

2

How to Win at CORS (2021) (jakearchibald.com)

111

Claude's API now supports CORS requests, enabling client-side applications (simonwillison.net)

1

Share Claude conversations by converting their JSON to Markdown (simonwillison.net)

4

macOS 15.1 Beta 1: Apple Intelligence Back End Prompts (reddit.com)

6

Show HN: Hacker News homepage with links to comments ordered by most recent (observablehq.com)

82

Give people something to link to (simonwillison.net)

3

Early Apple bloggers shocked to find their name and work have been AI-zombified (theverge.com)

1

Open Challenges for AI Engineering (simonwillison.net)

3

Sheet Music Scanning by Soundslice (soundslice.com)

2

Ask HN: What makes a good equity-based startup advisor?

2

Generative AI Is Not Going to Build Your Engineering Team for You (stackoverflow.blog)

54

Claude's Character (anthropic.com)

14

Accidental prompt injection against RAG applications (simonwillison.net)

1

GPT-2 five years later (importai.substack.com)

1

My Last Five Years of Work (palladiummag.com)

74

Training is not the same as chatting: LLMs don’t remember everything you say (simonwillison.net)

105

How do you accidentally run for President of Iceland? (uxdesign.cc)

4

Options for accessing Llama 3 from the terminal using LLM (simonwillison.net)

1

AI for Data Journalism: demonstrating what we can do with this stuff (simonwillison.net)

2

Building and testing C extensions for SQLite with ChatGPT Code Interpreter (simonwillison.net)

78

Running OCR against PDFs and images directly in the browser (simonwillison.net)

1

Building and testing C Extensions for SQLite with ChatGPT Code Interpreter (simonwillison.net)

3

Claude and ChatGPT for ad-hoc tasks (simonwillison.net)

60

Four new models that are benchmarking near or above GPT-4 (simonwillison.net)

23

Prompt injection and jailbreaking are not the same thing (simonwillison.net)

76

Interesting ideas in Observable Framework (simonwillison.net)

355

The killer app of Gemini Pro 1.5 is using video as an input (simonwillison.net)

1

Exploring ColBERT with RAGatouille (simonwillison.net)

6

It's OK to call it Artificial Intelligence (simonwillison.net)

4

Tom Scott, and the formidable power of escalating streaks (simonwillison.net)

61

Stuff we figured out about AI in 2023 (simonwillison.net)

60

Many options for running Mistral models in your terminal using LLM (simonwillison.net)

220

The AI Trust Crisis (simonwillison.net)

40

GPT-4-turbo produces shorter completions when it "thinks" its December vs. May (twitter.com/roblynch99)

1

Datasette Enrichments: a new plugin framework for augmenting your data (simonwillison.net)

3

Deciphering clues in a news article to understand how it was reported (simonwillison.net)

146

Exploring GPTs: ChatGPT in a trench coat? (simonwillison.net)

25

Summing columns in remote Parquet files using DuckDB (simonwillison.net)

1

Ask HN: What does the term "AI agents" mean to you?

80

Now add a walrus: Prompt engineering in DALL-E 3 (simonwillison.net)