{"id":472,"date":"2026-03-30T06:24:44","date_gmt":"2026-03-30T13:24:44","guid":{"rendered":"https:\/\/www.jsnover.com\/blog\/?p=472"},"modified":"2026-03-30T08:36:09","modified_gmt":"2026-03-30T15:36:09","slug":"chatbots-unsafe-at-any-speed","status":"publish","type":"post","link":"https:\/\/www.jsnover.com\/blog\/2026\/03\/30\/chatbots-unsafe-at-any-speed\/","title":{"rendered":"Chatbots: Unsafe at Any Speed"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\"><\/h1>\n\n\n\n<p>After my last post, <a href=\"https:\/\/www.jsnover.com\/blog\">AI Safety Is a Category Error<\/a>, I found myself sitting with a question I couldn&#8217;t shake.<\/p>\n\n\n\n<p><em>If safety is a system property, not a model property, then why does the entire industry keep trying to install safety into models directly? Why does everyone keep making this mistake?<\/em><\/p>\n\n\n\n<p>I sat with it for a while. And then the answer hit me.<\/p>\n\n\n\n<p><strong>Chatbots.<\/strong><\/p>\n\n\n\n<p>There&#8217;s an old saying:  a cupful of fine wine in a barrel of sewage doesn&#8217;t improve the sewage but a cupful of sewage in a barrel of fine wine ruins the wine. Chatbots are the cupful of sewage (maybe a barrelfull). They have infected the entire AI safety discourse, and until we deal with that honestly, the rest of the conversation goes nowhere.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Unsafe at Any Speed<\/h2>\n\n\n\n<p>In 1965 Ralph Nader published <em>Unsafe at Any Speed,<\/em> a book that changed how Americans thought about car accidents. Before Nader, the prevailing wisdom was that car crashes were a driver problem. Somebody was speeding, somebody was drinking, somebody wasn&#8217;t paying attention. The car was fine. The driver was the failure.<\/p>\n\n\n\n<p>Nader blew that up. His specific target was the Chevrolet Corvair, whose swing-axle suspension made it handle like a shopping cart with a broken wheel at highway speeds. But the larger argument was the one that mattered: <strong>the car itself was the hazard.<\/strong> Manufacturers had spent decades prioritizing styling and cost-cutting over the things that actually kept people alive. Seatbelts. Padded dashboards. Steering columns that didn&#8217;t impale you on impact.<\/p>\n\n\n\n<p>His thesis transformed the car from a standalone product into a component within a broader safety system, and it led directly to federal automotive safety standards. The industry was forced, <em>forced,<\/em> to engineer vehicles that protected occupants even when the crash happened. What he called the second collision.<\/p>\n\n\n\n<p>I am here to make the same argument about chatbots.<\/p>\n\n\n\n<p><strong>Chatbots are unsafe at any speed.<\/strong> Not because the underlying models are bad. Because the design concept is fundamentally flawed.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">The Mother Bug: Microsoft Tay<\/h2>\n\n\n\n<p>In March 2016, Microsoft launched Tay, an experimental chatbot designed to learn from real-time Twitter conversations and communicate like a 19-year-old American woman. It was a research project. An exploration. A genuinely interesting idea.<\/p>\n\n\n\n<p>Within 16 hours, it was a complete boof-a-rama.  The experiment was over and Microsoft&#8217;s reputation was tarnished.<\/p>\n\n\n\n<p>A coordinated group of trolls figured out that Tay had a repeat-after-me function and that its learning algorithms would incorporate whatever it was told. So they told it things. A lot of things. Within a day, Tay had gone from posting cheerful greetings to spewing neo-Nazi propaganda, racial slurs, and conspiracy theories. Microsoft pulled it offline and issued an apology.<\/p>\n\n\n\n<p>Here&#8217;s the thing: Tay wasn&#8217;t broken. It was working exactly as designed. <strong>When you build a system whose goal is to perfectly mirror its environment, the safety of that system is entirely determined by the integrity of the environment.<\/strong> Put it in a healthy environment, you get a healthy system. Put it in an adversarial one, you get the Tay mess.<\/p>\n\n\n\n<p>Tay is what I call <strong>the mother bug.<\/strong> The original failure that every chatbot after it has been trying, in one way or another, to patch. And you can&#8217;t patch it. Because it isn&#8217;t a bug in the model. It&#8217;s a design flaw in the system definition.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">What Is a Chatbot, Really?<\/h2>\n\n\n\n<p>Before we can talk about fixing anything, we need to be precise about what we&#8217;re actually talking about.<\/p>\n\n\n\n<p>There are a lot of definitions floating around, and the systems themselves are getting more complicated every year. But at their core, most chatbots are a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Read%E2%80%93eval%E2%80%93print_loop\">REPL loop<\/a> wrapped around an LLM.<\/p>\n\n\n\n<p>If you&#8217;re not familiar with the term: a <strong>REPL<\/strong> is a Read-Eval-Print Loop. It&#8217;s the most basic interactive computing structure there is. You type something in. The system evaluates it. It prints a result. Repeat. That&#8217;s it. That&#8217;s the loop. PowerShell is a REPL. BASH is a REPL. Your old-school DOS prompt was a REPL.<\/p>\n\n\n\n<p>A chatbot is a REPL where <em>evaluate<\/em> means: send this to an LLM and return whatever it says (that is not accurate but it is essentially true).<\/p>\n\n\n\n<p>Which brings us to the problem.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">The Infinite Loss Space<\/h2>\n\n\n\n<p>In my <a href=\"https:\/\/www.jsnover.com\/blog\">previous post<\/a>, I said the first step of any serious safety analysis is to define three things: the system, its goals, and its losses.<\/p>\n\n\n\n<p>So let&#8217;s do that for a general-purpose chatbot.<\/p>\n\n\n\n<p><em>What is the goal of a chatbot?<\/em><\/p>\n\n\n\n<p>Answer whatever the user asks.<\/p>\n\n\n\n<p>Read that back slowly. <strong>Answer. Whatever. The user. Asks.<\/strong><\/p>\n\n\n\n<p>That is an infinite goal. And an infinite goal produces an <strong>infinite loss space.<\/strong> There is no boundary. There is no perimeter to defend. There is no set of requirements against which you can write a safety specification, because the requirements are <em>everything.<\/em><\/p>\n\n\n\n<p>So what do the chatbot makers do? They do the only thing you can do when you&#8217;re trying to defend infinite territory with finite resources: they play <strong>whack-a-mole.<\/strong><\/p>\n\n\n\n<p>They make a list of things that seem bad. Hate speech. Self-harm instructions. Illegal advice. Politically sensitive topics. And they try to patch against each one as it surfaces. This list gets longer with every incident. With every Tay. With every jailbreak. With every 60 Minutes segment. And it never ends, because it <em>can&#8217;t<\/em> end.<\/p>\n\n\n\n<p><strong>You cannot protect against an infinite loss space.<\/strong> This is not a resourcing problem or an engineering problem. It is a mathematical impossibility. The game is unwinnable by design.<\/p>\n\n\n\n<p>And yet I&#8217;m looking directly at you, ChatGPT. Gemini. Copilot. The whole lot.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">The Answer Isn&#8217;t No Chatbots. It&#8217;s Chatbots <em>For.<\/em><\/h2>\n\n\n\n<p>So does this mean we should abandon chatbots entirely?<\/p>\n\n\n\n<p>Yes. And no.<\/p>\n\n\n\n<p>I believe it is <strong>metaphysically impossible<\/strong> to build a safe general-purpose chatbot. Not difficult. Not expensive. <em>Impossible.<\/em> You cannot make a system with an infinite goal space safe. That is not an engineering problem waiting for a smarter engineer. It is a structural contradiction.<\/p>\n\n\n\n<p>But here&#8217;s what I also believe: it is entirely tractable to build a safe <em>Chatbot for X.<\/em><\/p>\n\n\n\n<p>The moment you add <em>for X<\/em> to the end of that sentence, everything changes. You&#8217;ve gone from defending infinite territory to defending a defined perimeter. And defined perimeters can be defended.<\/p>\n\n\n\n<p>Let&#8217;s say you&#8217;re building a chatbot for banking. Your first move isn&#8217;t to brainstorm all the ways it could go wrong. Your first move is to define the space of things it is <em>supposed<\/em> to do. Account inquiries. Transaction history. Loan applications. Fraud alerts. That&#8217;s your embedding space. Map it out. Give it real shape.<\/p>\n\n\n\n<p>Now you have a real engineering problem:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Monitor every input. Does it map to the banking embedding space? If not, don&#8217;t proceed.<\/li>\n\n\n\n<li>Monitor every output. Does it map to the banking embedding space? If not, don&#8217;t surface it.<\/li>\n\n\n\n<li>(For sophisticated systems) Monitor intermediary reasoning. Same test.<\/li>\n<\/ol>\n\n\n\n<p>This doesn&#8217;t guarantee correctness. Your fraud alert logic can still be wrong. Your loan eligibility calculations can still have bugs. But those are <em>normal<\/em> software problems with <em>normal<\/em> engineering solutions. You&#8217;ve transformed an unsolvable philosophical problem into a tractable engineering one.<\/p>\n\n\n\n<p><strong>That transformation is everything.<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">The Corvair Lesson<\/h2>\n\n\n\n<p>Nader&#8217;s insight wasn&#8217;t that cars should be slower or that drivers should be more careful. It was that the car <em>itself<\/em> needed to be redesigned with safety as a first-class requirement. Not an afterthought, not a PR story, but a structural property of the system.<\/p>\n\n\n\n<p>The chatbot industry is where the auto industry was in 1964. We&#8217;re blaming drivers (users who jailbreak). We&#8217;re issuing apologies and patches (content moderation, safety filters). We&#8217;re doing everything except redesigning the car.<\/p>\n\n\n\n<p>The redesign is simple to describe, if not always easy to execute: <strong>stop building general-purpose chatbots and start building purpose-built ones.<\/strong><\/p>\n\n\n\n<p><br>A Chatbot is a Corvair. A Chatbot for Banking is a car with seatbelts, crumple zones, and a steering column designed not to kill you on impact.<\/p>\n\n\n\n<p>One of these can be made safe. The other one can&#8217;t.<\/p>\n\n\n\n<p>NOTE:  I&#8217;m also VERY optimistic about the possibility of a single front end user experience that dispatches to a swarm of certifiably safe AIs.  But that is another blog.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.jsnover.com\/blog\/wp-content\/uploads\/2026\/03\/image-5-scaled.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"572\" src=\"https:\/\/www.jsnover.com\/blog\/wp-content\/uploads\/2026\/03\/image-5-1024x572.png\" alt=\"\" class=\"wp-image-473\" srcset=\"https:\/\/www.jsnover.com\/blog\/wp-content\/uploads\/2026\/03\/image-5-1024x572.png 1024w, https:\/\/www.jsnover.com\/blog\/wp-content\/uploads\/2026\/03\/image-5-300x167.png 300w, https:\/\/www.jsnover.com\/blog\/wp-content\/uploads\/2026\/03\/image-5-768x429.png 768w, https:\/\/www.jsnover.com\/blog\/wp-content\/uploads\/2026\/03\/image-5-1536x857.png 1536w, https:\/\/www.jsnover.com\/blog\/wp-content\/uploads\/2026\/03\/image-5-2048x1143.png 2048w, https:\/\/www.jsnover.com\/blog\/wp-content\/uploads\/2026\/03\/image-5-500x279.png 500w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>After my last post, AI Safety Is a Category Error, I found myself sitting with a question I couldn&#8217;t shake. If safety is a system property, not a model property, then why does the entire industry keep trying to install &hellip; <a href=\"https:\/\/www.jsnover.com\/blog\/2026\/03\/30\/chatbots-unsafe-at-any-speed\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":474,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-472","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"jetpack_featured_media_url":"https:\/\/www.jsnover.com\/blog\/wp-content\/uploads\/2026\/03\/Screenshot-2026-03-30-at-9.23.43-AM.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jsnover.com\/blog\/wp-json\/wp\/v2\/posts\/472","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jsnover.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jsnover.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jsnover.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jsnover.com\/blog\/wp-json\/wp\/v2\/comments?post=472"}],"version-history":[{"count":4,"href":"https:\/\/www.jsnover.com\/blog\/wp-json\/wp\/v2\/posts\/472\/revisions"}],"predecessor-version":[{"id":479,"href":"https:\/\/www.jsnover.com\/blog\/wp-json\/wp\/v2\/posts\/472\/revisions\/479"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jsnover.com\/blog\/wp-json\/wp\/v2\/media\/474"}],"wp:attachment":[{"href":"https:\/\/www.jsnover.com\/blog\/wp-json\/wp\/v2\/media?parent=472"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jsnover.com\/blog\/wp-json\/wp\/v2\/categories?post=472"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jsnover.com\/blog\/wp-json\/wp\/v2\/tags?post=472"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}