{"id":857,"date":"2026-09-01T12:55:45","date_gmt":"2026-09-01T10:55:45","guid":{"rendered":"https:\/\/productbooster.dk\/?p=857"},"modified":"2026-09-01T13:42:51","modified_gmt":"2026-09-01T11:42:51","slug":"ai-vs-rules-why-the-future-might-be-both","status":"publish","type":"post","link":"https:\/\/productbooster.dk\/?p=857","title":{"rendered":"AI vs. Rules: Why the Future Might Be Both"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">There is a tendency to frame AI as the successor to traditional software.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rules-based systems belong to the old world. AI belongs to the new.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I think that is the wrong way to look at it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">AI and traditional rule-based systems have fundamentally different strengths. And in many situations, especially where data processing needs to be reliable, auditable and compliant, the most powerful solution may be to combine them rather than choosing one over the other.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The old world: software that follows rules<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Traditional software is deterministic.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Give it the same input, and you get the same output.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This sounds almost boring compared with the magic of modern AI. But in many contexts, boring is exactly what you want.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A well-designed rules-based system gives you:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Determinism<\/strong>\u00a0\u2014 the same input produces the same result.<\/li>\n\n\n\n<li><strong>Predictability<\/strong>\u00a0\u2014 you can know in advance how the system will behave.<\/li>\n\n\n\n<li><strong>Auditability<\/strong>\u00a0\u2014 you can inspect which rules were applied and why.<\/li>\n\n\n\n<li><strong>Traceability<\/strong>\u00a0\u2014 you can trace an output back through the processing steps.<\/li>\n\n\n\n<li><strong>Explainability<\/strong>\u00a0\u2014 the logic can, at least in principle, be expressed and understood.<\/li>\n\n\n\n<li><strong>Reproducibility<\/strong>\u00a0\u2014 you can reproduce the same result later.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">These properties are extremely valuable when software is processing sensitive or regulated information.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Think about financial systems, insurance, healthcare, tax systems, compliance, government administration or other domains where you may eventually have to answer:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-style-default has-contrast-color has-base-background-color has-text-color has-background has-link-color wp-elements-1 is-layout-flow wp-container-core-quote-is-layout-c6aab7f7 wp-block-quote-is-layout-flow\">\n<p class=\"has-text-align-center has-contrast-color has-base-background-color has-text-color has-background has-link-color has-large-font-size wp-elements-2 wp-block-paragraph\">&#8220;Why did the system make this decision?&#8221;<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">In these situations, being able to point to a specific rule and say&nbsp;<em>&#8220;because condition A and condition B were true, rule C was applied&#8221;<\/em>&nbsp;is a powerful capability.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rules-based systems are also excellent when dealing with structured data that needs to be processed consistently according to clearly defined business logic.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But there is a catch.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Rules don&#8217;t scale gracefully<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Rules are easy when there are only a few of them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Something like:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote has-base-background-color has-background is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-text-align-center has-contrast-color has-base-background-color has-text-color has-background has-link-color has-large-font-size wp-elements-3 wp-block-paragraph\">If amount &gt; \u20ac10,000, require approval.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Easy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But real-world business logic rarely stays that simple.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Soon you have:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote has-base-background-color has-background is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-contrast-color has-base-background-color has-text-color has-background has-link-color has-large-font-size wp-elements-4 wp-block-paragraph\">If amount &gt; \u20ac10,000, require approval, unless the customer is in category X, except when the transaction is of type Y, in which case the threshold is \u20ac5,000, unless the customer has been approved within the last 12 months&#8230;<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">And then multiply that by hundreds or thousands of rules, dozens of parameters and countless exceptions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The result can become a&nbsp;<strong>rule spaghetti<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The problem isn&#8217;t that rules are bad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The problem is that humans are not particularly good at configuring and maintaining huge rule systems.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">The new world: AI<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">AI has almost the opposite characteristics.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Give an AI system a large amount of unstructured information and ask it to find patterns, extract information, classify things, summarize them or transform them, and it can do remarkable things.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It can work across:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>documents<\/li>\n\n\n\n<li>emails<\/li>\n\n\n\n<li>images<\/li>\n\n\n\n<li>PDFs<\/li>\n\n\n\n<li>natural language<\/li>\n\n\n\n<li>audio<\/li>\n\n\n\n<li>web pages<\/li>\n\n\n\n<li>historical cases<\/li>\n\n\n\n<li>and many other forms of unstructured data.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">And perhaps most importantly, you don&#8217;t necessarily have to explicitly encode every rule.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can provide examples.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Give an AI system thousands of documents and examples of how they should be interpreted, and it can infer patterns that would be extremely difficult to encode manually.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is where AI is genuinely transformational.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But there is a fundamental trade-off.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">AI is probabilistic<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ask an AI the same question twice and you may not get exactly the same answer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Even when the answer looks convincing, you cannot necessarily guarantee that it is correct.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That makes AI incredibly powerful for some problems and potentially problematic for others.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If an AI system is helping me brainstorm blog post ideas, some variation is perfectly fine.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If it is extracting information from a document for me to review, that&#8217;s often fine too.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But if it is making a regulated decision where I need to prove exactly why a particular outcome was produced, probabilistic behaviour becomes much more problematic.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is not necessarily an argument against AI.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is an argument for\u00a0<strong>using AI where its properties are an advantage and not where they are a liability.<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">What if we combine them?<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">This is where I think things get really interesting.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of asking:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>&#8220;Should we use AI or rules?&#8221;<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">we should sometimes ask:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>&#8220;Where should we use AI, and where should we use deterministic software?&#8221;<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Imagine a system where AI sits on top of a traditional rules engine.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The AI doesn&#8217;t necessarily make the final decision.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead, it helps humans&nbsp;<strong>configure, understand and interact with the deterministic system.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, imagine you have a complex regulatory processing system.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You could give the AI:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>thousands of historical input documents<\/li>\n\n\n\n<li>examples of correct outputs<\/li>\n\n\n\n<li>regulatory documentation<\/li>\n\n\n\n<li>definitions of data fields<\/li>\n\n\n\n<li>examples of exceptions<\/li>\n\n\n\n<li>existing business rules<\/li>\n\n\n\n<li>process descriptions<\/li>\n\n\n\n<li>and perhaps the current configuration of the rules engine.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">You could then ask:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote has-base-background-color has-background is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-text-align-center has-contrast-color has-base-background-color has-text-color has-background has-link-color has-large-font-size wp-elements-5 wp-block-paragraph\">&#8220;Configure the system so that documents like these are processed according to these requirements.&#8221;<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">The AI could propose the rules, transformations and configuration.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A human could review and approve them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And once approved, the actual production processing could still happen inside the deterministic rules engine.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>AI helps create the rules. Rules execute the rules.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That is a very different proposition from putting an LLM directly in the critical processing path.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">AI as the interface to complexity<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">There is another interesting application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Traditional rule-based systems can be extremely difficult to understand.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You may have hundreds of rules connected through complicated dependencies and processing steps.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of expecting users to understand the underlying configuration language, we can give them an AI interface.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">They could ask:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote has-base-background-color has-background is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-text-align-center has-contrast-color has-base-background-color has-text-color has-background has-link-color has-large-font-size wp-elements-6 wp-block-paragraph\">&#8220;Why was this application rejected?&#8221;<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">And the system could inspect the deterministic processing history and explain:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote has-text-align-center has-contrast-color has-base-background-color has-text-color has-background has-link-color wp-elements-7 is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-large-font-size wp-block-paragraph\">&#8220;The application was rejected because Rule 147 was triggered. The applicant&#8217;s income was below the threshold defined for this category.&#8221;<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Or:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote has-contrast-color has-base-background-color has-text-color has-background has-link-color wp-elements-8 is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-text-align-center has-large-font-size wp-block-paragraph\">&#8220;What would happen if we changed the income threshold from \u20ac40,000 to \u20ac45,000?&#8221;<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">The AI could analyse the rule configuration and explain the potential impact.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It could even generate visualisations of the processing flow:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-text-align-center alignwide wp-block-paragraph\" style=\"border-width:3px\"><strong>Input \u2192 Classification \u2192 Rules \u2192 Exceptions \u2192 Decision \u2192 Output<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Suddenly, the AI isn&#8217;t replacing the rule engine.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is making the rule engine&nbsp;<strong>accessible to humans.<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">The best of both worlds<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">This combination gives us something quite powerful.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-base-background-color has-background has-fixed-layout\"><thead><tr><th>Traditional rules<\/th><th>AI<\/th><\/tr><\/thead><tbody><tr><td>Deterministic<\/td><td>Probabilistic<\/td><\/tr><tr><td>Predictable<\/td><td>Adaptive<\/td><\/tr><tr><td>Auditable<\/td><td>Pattern-based<\/td><\/tr><tr><td>Traceable<\/td><td>Works with unstructured data<\/td><\/tr><tr><td>Reproducible<\/td><td>Learns from examples<\/td><\/tr><tr><td>Consistent<\/td><td>Flexible<\/td><\/tr><tr><td>Explicit logic<\/td><td>Implicit patterns<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Neither column is inherently better.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">They are optimized for different things.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And that suggests a useful architectural principle:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote has-contrast-color has-base-background-color has-text-color has-background has-link-color has-large-font-size wp-elements-9 is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-text-align-center wp-block-paragraph\">Use AI for interpretation, configuration and interaction. Use deterministic systems for critical execution.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Of course, this isn&#8217;t a universal rule. There are many applications where AI should absolutely be part of the execution itself.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But for sensitive, regulated or highly auditable processes, separating the&nbsp;<strong>probabilistic intelligence layer<\/strong>&nbsp;from the&nbsp;<strong>deterministic execution layer<\/strong>&nbsp;can provide an interesting way to get the benefits of both.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">The irony<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">There is something slightly ironic about this.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For decades, we have made software increasingly powerful by turning human knowledge into explicit rules.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now AI gives us a way of turning huge amounts of human-generated information into implicit knowledge.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The temptation is therefore to throw away the rules and let the AI figure everything out.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But perhaps the more interesting future is different.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Let AI deal with the messiness of the real world.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let it read the documents. Understand the regulations. Find patterns. Interpret examples. Suggest configurations. Explain complexity.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And then, where certainty matters, let traditional software do what it has always been exceptionally good at:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Follow the rules.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The future of intelligent systems may not be AI&nbsp;<em>instead of<\/em>&nbsp;traditional software.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It may be AI&nbsp;<strong>on top of<\/strong>&nbsp;traditional software.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There is a tendency to frame AI as the successor to traditional software. Rules-based systems belong to the old world. AI belongs to the new. I think that is the wrong way to look at it. AI and traditional rule-based systems have fundamentally different strengths. And in many situations, especially where data processing needs to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":859,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":11,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-857","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/productbooster.dk\/index.php?rest_route=\/wp\/v2\/posts\/857","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/productbooster.dk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/productbooster.dk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/productbooster.dk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/productbooster.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=857"}],"version-history":[{"count":2,"href":"https:\/\/productbooster.dk\/index.php?rest_route=\/wp\/v2\/posts\/857\/revisions"}],"predecessor-version":[{"id":862,"href":"https:\/\/productbooster.dk\/index.php?rest_route=\/wp\/v2\/posts\/857\/revisions\/862"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/productbooster.dk\/index.php?rest_route=\/wp\/v2\/media\/859"}],"wp:attachment":[{"href":"https:\/\/productbooster.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=857"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/productbooster.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=857"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/productbooster.dk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=857"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}