{"topic":{"type":"topic","slug":"agents","name":"Agents","description":"AI agents that do real work: fleet operators, coding assistants, ingestion workers, and the policies that keep them honest.","count":17,"url":"https://waltspence.com/topics/agents","feed":"https://waltspence.com/topics/agents/feed.xml","notes":[{"type":"note","slug":"supposed-to-run-itself","title":"Supposed to Run Itself","summary":"After a year of building a fleet of AI agents at home, I think the models are the easy part, and most of what gets called agent engineering is a demo.","kind":"essay","published_at":"2026-11-02T00:00:00-05:00","revised_at":null,"reading_minutes":5,"word_count":1022,"series":null,"url":"https://waltspence.com/notes/supposed-to-run-itself","links":{"html":"https://waltspence.com/notes/supposed-to-run-itself","json":"https://waltspence.com/notes/supposed-to-run-itself.json","txt":"https://waltspence.com/notes/supposed-to-run-itself.txt","md":"https://waltspence.com/notes/supposed-to-run-itself.md","canonical":"https://waltspence.com/notes/supposed-to-run-itself"},"topics":[{"name":"Agents","slug":"agents","url":"https://waltspence.com/topics/agents"},{"name":"Automation","slug":"automation","url":"https://waltspence.com/topics/automation"},{"name":"Infrastructure","slug":"infrastructure","url":"https://waltspence.com/topics/infrastructure"}],"tags":[]}],"thoughts":[{"type":"thought","id":"w2611a2","kind":"text","origin":"native","body_markdown":"Autonomy and authority aren't the same thing. Agents can do the work. Restarting the system should still take my signature.","body_html":"<p>Autonomy and authority aren’t the same thing. Agents can do the work. Restarting the system should still take my signature.</p>\n","text":"Autonomy and authority aren’t the same thing. Agents can do the work. Restarting the system should still take my signature.","published_at":"2026-11-01T12:00:00-05:00","original_published_at":null,"source":null,"original_url":null,"link":null,"reply_to":null,"repost_of":null,"url":"https://waltspence.com/thoughts/w2611a2","links":{"html":"https://waltspence.com/thoughts/w2611a2","json":"https://waltspence.com/thoughts/w2611a2.json","txt":"https://waltspence.com/thoughts/w2611a2.txt","canonical":"https://waltspence.com/thoughts/w2611a2"},"topics":[{"name":"Agents","slug":"agents","url":"https://waltspence.com/topics/agents"},{"name":"Automation","slug":"automation","url":"https://waltspence.com/topics/automation"}],"tags":[],"related":[],"backlinks":[]},{"type":"thought","id":"w2611a5","kind":"text","origin":"native","body_markdown":"Match the model to the stakes. A small coding model is fine for light work and the wrong call for anything critical.","body_html":"<p>Match the model to the stakes. A small coding model is fine for light work and the wrong call for anything critical.</p>\n","text":"Match the model to the stakes. A small coding model is fine for light work and the wrong call for anything critical.","published_at":"2026-10-26T12:00:00-04:00","original_published_at":null,"source":null,"original_url":null,"link":null,"reply_to":null,"repost_of":null,"url":"https://waltspence.com/thoughts/w2611a5","links":{"html":"https://waltspence.com/thoughts/w2611a5","json":"https://waltspence.com/thoughts/w2611a5.json","txt":"https://waltspence.com/thoughts/w2611a5.txt","canonical":"https://waltspence.com/thoughts/w2611a5"},"topics":[{"name":"Agents","slug":"agents","url":"https://waltspence.com/topics/agents"}],"tags":[],"related":[],"backlinks":[]},{"type":"thought","id":"w2611a6","kind":"text","origin":"native","body_markdown":"When a model swings from \"this is nothing\" to \"build everything around this\" in one reply, call it out and get a second opinion.","body_html":"<p>When a model swings from “this is nothing” to “build everything around this” in one reply, call it out and get a second opinion.</p>\n","text":"When a model swings from “this is nothing” to “build everything around this” in one reply, call it out and get a second opinion.","published_at":"2026-10-23T12:00:00-04:00","original_published_at":null,"source":null,"original_url":null,"link":null,"reply_to":null,"repost_of":null,"url":"https://waltspence.com/thoughts/w2611a6","links":{"html":"https://waltspence.com/thoughts/w2611a6","json":"https://waltspence.com/thoughts/w2611a6.json","txt":"https://waltspence.com/thoughts/w2611a6.txt","canonical":"https://waltspence.com/thoughts/w2611a6"},"topics":[{"name":"Agents","slug":"agents","url":"https://waltspence.com/topics/agents"}],"tags":[],"related":[],"backlinks":[]},{"type":"thought","id":"w2611a3","kind":"text","origin":"native","body_markdown":"If an agent answers with a list of things for me to do, it has the roles backwards. I'm not the worker here. It is.","body_html":"<p>If an agent answers with a list of things for me to do, it has the roles backwards. I’m not the worker here. It is.</p>\n","text":"If an agent answers with a list of things for me to do, it has the roles backwards. I’m not the worker here. It is.","published_at":"2026-10-20T12:00:00-04:00","original_published_at":null,"source":null,"original_url":null,"link":null,"reply_to":null,"repost_of":null,"url":"https://waltspence.com/thoughts/w2611a3","links":{"html":"https://waltspence.com/thoughts/w2611a3","json":"https://waltspence.com/thoughts/w2611a3.json","txt":"https://waltspence.com/thoughts/w2611a3.txt","canonical":"https://waltspence.com/thoughts/w2611a3"},"topics":[{"name":"Agents","slug":"agents","url":"https://waltspence.com/topics/agents"}],"tags":[],"related":[],"backlinks":[]},{"type":"thought","id":"w2611a1","kind":"text","origin":"native","body_markdown":"Separate the agents that decide policy from the agents that carry it out. Church and state.","body_html":"<p>Separate the agents that decide policy from the agents that carry it out. Church and state.</p>\n","text":"Separate the agents that decide policy from the agents that carry it out. Church and state.","published_at":"2026-10-18T12:00:00-04:00","original_published_at":null,"source":null,"original_url":null,"link":null,"reply_to":null,"repost_of":null,"url":"https://waltspence.com/thoughts/w2611a1","links":{"html":"https://waltspence.com/thoughts/w2611a1","json":"https://waltspence.com/thoughts/w2611a1.json","txt":"https://waltspence.com/thoughts/w2611a1.txt","canonical":"https://waltspence.com/thoughts/w2611a1"},"topics":[{"name":"Agents","slug":"agents","url":"https://waltspence.com/topics/agents"}],"tags":[],"related":[],"backlinks":[]},{"type":"thought","id":"w2611a4","kind":"text","origin":"native","body_markdown":"Not every decision needs a frontier model. Let a cheap model judge whether the request needs an expensive one.","body_html":"<p>Not every decision needs a frontier model. Let a cheap model judge whether the request needs an expensive one.</p>\n","text":"Not every decision needs a frontier model. Let a cheap model judge whether the request needs an expensive one.","published_at":"2026-10-13T12:00:00-04:00","original_published_at":null,"source":null,"original_url":null,"link":null,"reply_to":null,"repost_of":null,"url":"https://waltspence.com/thoughts/w2611a4","links":{"html":"https://waltspence.com/thoughts/w2611a4","json":"https://waltspence.com/thoughts/w2611a4.json","txt":"https://waltspence.com/thoughts/w2611a4.txt","canonical":"https://waltspence.com/thoughts/w2611a4"},"topics":[{"name":"Agents","slug":"agents","url":"https://waltspence.com/topics/agents"}],"tags":[],"related":[],"backlinks":[]},{"type":"thought","id":"w2025a2","kind":"text","origin":"native","body_markdown":"If your agent's only memory is the chat window, it doesn't have a memory.","body_html":"<p>If your agent’s only memory is the chat window, it doesn’t have a memory.</p>\n","text":"If your agent’s only memory is the chat window, it doesn’t have a memory.","published_at":"2025-06-24T22:10:00-04:00","original_published_at":null,"source":null,"original_url":null,"link":null,"reply_to":null,"repost_of":null,"url":"https://waltspence.com/thoughts/w2025a2","links":{"html":"https://waltspence.com/thoughts/w2025a2","json":"https://waltspence.com/thoughts/w2025a2.json","txt":"https://waltspence.com/thoughts/w2025a2.txt","canonical":"https://waltspence.com/thoughts/w2025a2"},"topics":[{"name":"Agents","slug":"agents","url":"https://waltspence.com/topics/agents"}],"tags":[],"related":[],"backlinks":[]},{"type":"thought","id":"w2025a1","kind":"text","origin":"native","body_markdown":"I don't want an AI that does everything. I want one that tells me exactly what it did.","body_html":"<p>I don’t want an AI that does everything. I want one that tells me exactly what it did.</p>\n","text":"I don’t want an AI that does everything. I want one that tells me exactly what it did.","published_at":"2025-02-11T21:50:00-05:00","original_published_at":null,"source":null,"original_url":null,"link":null,"reply_to":null,"repost_of":null,"url":"https://waltspence.com/thoughts/w2025a1","links":{"html":"https://waltspence.com/thoughts/w2025a1","json":"https://waltspence.com/thoughts/w2025a1.json","txt":"https://waltspence.com/thoughts/w2025a1.txt","canonical":"https://waltspence.com/thoughts/w2025a1"},"topics":[{"name":"Agents","slug":"agents","url":"https://waltspence.com/topics/agents"},{"name":"Automation","slug":"automation","url":"https://waltspence.com/topics/automation"}],"tags":[],"related":[],"backlinks":[]},{"type":"thought","id":"w2024a2","kind":"text","origin":"native","body_markdown":"A small model that knows its job beats a big model guessing at yours.","body_html":"<p>A small model that knows its job beats a big model guessing at yours.</p>\n","text":"A small model that knows its job beats a big model guessing at yours.","published_at":"2024-08-20T06:45:00-04:00","original_published_at":null,"source":null,"original_url":null,"link":null,"reply_to":null,"repost_of":null,"url":"https://waltspence.com/thoughts/w2024a2","links":{"html":"https://waltspence.com/thoughts/w2024a2","json":"https://waltspence.com/thoughts/w2024a2.json","txt":"https://waltspence.com/thoughts/w2024a2.txt","canonical":"https://waltspence.com/thoughts/w2024a2"},"topics":[{"name":"Agents","slug":"agents","url":"https://waltspence.com/topics/agents"}],"tags":[],"related":[],"backlinks":[]},{"type":"thought","id":"w2024a1","kind":"text","origin":"native","body_markdown":"Run a model on your own machine once and you'll understand what you've been trading for convenience.","body_html":"<p>Run a model on your own machine once and you’ll understand what you’ve been trading for convenience.</p>\n","text":"Run a model on your own machine once and you’ll understand what you’ve been trading for convenience.","published_at":"2024-03-12T22:30:00-04:00","original_published_at":null,"source":null,"original_url":null,"link":null,"reply_to":null,"repost_of":null,"url":"https://waltspence.com/thoughts/w2024a1","links":{"html":"https://waltspence.com/thoughts/w2024a1","json":"https://waltspence.com/thoughts/w2024a1.json","txt":"https://waltspence.com/thoughts/w2024a1.txt","canonical":"https://waltspence.com/thoughts/w2024a1"},"topics":[{"name":"Agents","slug":"agents","url":"https://waltspence.com/topics/agents"}],"tags":[],"related":[],"backlinks":[]},{"type":"thought","id":"w2023a2","kind":"text","origin":"native","body_markdown":"The AI demo ends when the model says it worked. The product starts there.","body_html":"<p>The AI demo ends when the model says it worked. The product starts there.</p>\n","text":"The AI demo ends when the model says it worked. The product starts there.","published_at":"2023-10-03T21:20:00-04:00","original_published_at":null,"source":null,"original_url":null,"link":null,"reply_to":null,"repost_of":null,"url":"https://waltspence.com/thoughts/w2023a2","links":{"html":"https://waltspence.com/thoughts/w2023a2","json":"https://waltspence.com/thoughts/w2023a2.json","txt":"https://waltspence.com/thoughts/w2023a2.txt","canonical":"https://waltspence.com/thoughts/w2023a2"},"topics":[{"name":"Agents","slug":"agents","url":"https://waltspence.com/topics/agents"}],"tags":[],"related":[],"backlinks":[]},{"type":"thought","id":"w2023a1","kind":"text","origin":"native","body_markdown":"Prompt engineering is a job title for a problem that should be solved in code.","body_html":"<p>Prompt engineering is a job title for a problem that should be solved in code.</p>\n","text":"Prompt engineering is a job title for a problem that should be solved in code.","published_at":"2023-05-16T22:40:00-04:00","original_published_at":null,"source":null,"original_url":null,"link":null,"reply_to":null,"repost_of":null,"url":"https://waltspence.com/thoughts/w2023a1","links":{"html":"https://waltspence.com/thoughts/w2023a1","json":"https://waltspence.com/thoughts/w2023a1.json","txt":"https://waltspence.com/thoughts/w2023a1.txt","canonical":"https://waltspence.com/thoughts/w2023a1"},"topics":[{"name":"Agents","slug":"agents","url":"https://waltspence.com/topics/agents"}],"tags":[],"related":[],"backlinks":[]},{"type":"thought","id":"w2022a2","kind":"text","origin":"native","body_markdown":"Everyone's asking what ChatGPT knows. The better question is what it will do when nobody's checking.","body_html":"<p>Everyone’s asking what ChatGPT knows. The better question is what it will do when nobody’s checking.</p>\n","text":"Everyone’s asking what ChatGPT knows. The better question is what it will do when nobody’s checking.","published_at":"2022-12-06T23:15:00-05:00","original_published_at":null,"source":null,"original_url":null,"link":null,"reply_to":null,"repost_of":null,"url":"https://waltspence.com/thoughts/w2022a2","links":{"html":"https://waltspence.com/thoughts/w2022a2","json":"https://waltspence.com/thoughts/w2022a2.json","txt":"https://waltspence.com/thoughts/w2022a2.txt","canonical":"https://waltspence.com/thoughts/w2022a2"},"topics":[{"name":"Agents","slug":"agents","url":"https://waltspence.com/topics/agents"}],"tags":[],"related":[],"backlinks":[]}],"projects":[{"type":"project","slug":"knowfer","name":"Knowfer","tagline":"The fleet's durable memory: a Rails knowledge base agents read and write over MCP.","status":"active","repo_url":null,"site_url":null,"started_on":"2026-05-01","last_activity_on":"2026-09-02","url":"https://waltspence.com/projects/knowfer","links":{"html":"https://waltspence.com/projects/knowfer","json":"https://waltspence.com/projects/knowfer.json","txt":"https://waltspence.com/projects/knowfer.txt","md":"https://waltspence.com/projects/knowfer.md","canonical":"https://waltspence.com/projects/knowfer"},"topics":[{"name":"Homelab","slug":"homelab","url":"https://waltspence.com/topics/homelab"},{"name":"Agents","slug":"agents","url":"https://waltspence.com/topics/agents"},{"name":"Rails","slug":"rails","url":"https://waltspence.com/topics/rails"}],"tags":[]},{"type":"project","slug":"talkify","name":"Talkify","tagline":"Voice and text pipelines, Rails and Vue.","status":"experimental","repo_url":null,"site_url":null,"started_on":"2026-06-01","last_activity_on":"2026-09-02","url":"https://waltspence.com/projects/talkify","links":{"html":"https://waltspence.com/projects/talkify","json":"https://waltspence.com/projects/talkify.json","txt":"https://waltspence.com/projects/talkify.txt","md":"https://waltspence.com/projects/talkify.md","canonical":"https://waltspence.com/projects/talkify"},"topics":[{"name":"Agents","slug":"agents","url":"https://waltspence.com/topics/agents"},{"name":"Rails","slug":"rails","url":"https://waltspence.com/topics/rails"}],"tags":[]},{"type":"project","slug":"htcasso","name":"htcasso","tagline":"Markdown in, self-contained HTML out. For agent artifacts people actually open.","status":"experimental","repo_url":null,"site_url":null,"started_on":"2026-05-28","last_activity_on":"2026-11-02","url":"https://waltspence.com/projects/htcasso","links":{"html":"https://waltspence.com/projects/htcasso","json":"https://waltspence.com/projects/htcasso.json","txt":"https://waltspence.com/projects/htcasso.txt","md":"https://waltspence.com/projects/htcasso.md","canonical":"https://waltspence.com/projects/htcasso"},"topics":[{"name":"Agents","slug":"agents","url":"https://waltspence.com/topics/agents"},{"name":"Publishing","slug":"publishing","url":"https://waltspence.com/topics/publishing"},{"name":"Python","slug":"python","url":"https://waltspence.com/topics/python"}],"tags":[]}],"episodes":[]}}