{"id":1717,"date":"2026-04-22T15:47:15","date_gmt":"2026-04-22T22:47:15","guid":{"rendered":"https:\/\/www.ghosh.com\/blog\/?p=1717"},"modified":"2026-04-22T16:23:09","modified_gmt":"2026-04-22T23:23:09","slug":"llm-is-not-an-agent","status":"publish","type":"post","link":"https:\/\/www.ghosh.com\/blog\/llm-is-not-an-agent\/","title":{"rendered":"An LLM Is Not an Agent"},"content":{"rendered":"<p><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container hundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-color:#e5e7eb;--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:70px;--awb-padding-bottom:55px;--awb-background-color:#f7f9fc;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-blend:overlay;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-1\"><p style=\"text-transform: uppercase; letter-spacing: .08em; color: #2563eb; font-weight: 700;\">AI Architecture<\/p>\n<\/div><div class=\"fusion-title title fusion-title-1 fusion-sep-none fusion-title-text fusion-title-size-one\" style=\"--awb-text-color:#111827;--awb-margin-bottom:18px;--awb-margin-top-small:0px;--awb-margin-right-small:0px;--awb-margin-bottom-small:20px;--awb-margin-left-small:0px;\"><h1 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;\">What Is an AI Agent, Really?<\/h1><\/div><div class=\"fusion-text fusion-text-2\"><p style=\"font-size: 22px; line-height: 1.5; color: #4b5563; max-width: 760px;\">And what is the difference between an LLM, an agent, and an agent harness?<\/p>\n<\/div><div class=\"fusion-alert alert custom alert-custom fusion-alert-left awb-alert-native-link-color\" style=\"--awb-background-color:#eff6ff;--awb-accent-color:#2563eb;--awb-border-top-left-radius:0px;--awb-border-top-right-radius:0px;--awb-border-bottom-left-radius:0px;--awb-border-bottom-right-radius:0px;--awb-margin-top:25px;--awb-margin-bottom:0px;\" role=\"alert\"><div class=\"fusion-alert-content-wrapper\"><span class=\"fusion-alert-content\"><strong>Simple version:<\/strong> an LLM is the brain.  An agent is the brain plus the ability to act.  A harness is the system that makes the agent reliable enough to use in the real world.<\/span><\/div><\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:55px;--awb-padding-bottom:25px;--awb-background-color:#ffffff;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-blend:overlay;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-3\"><p>There is a lot of sloppy language floating around AI right now.<\/p>\n<p>People say \u201cagent\u201d when they mean \u201cLLM.\u201d  They say \u201cagent system\u201d when they mean \u201csome code that calls GPT.\u201d  And \u201cagent harness\u201d sounds like something you would buy at Home Depot.<\/p>\n<p>Let\u2019s clean it up.<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-3 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-color:#e5e7eb;--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:35px;--awb-padding-bottom:35px;--awb-background-color:#fafafa;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-blend:overlay;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-2 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:#111827;--awb-margin-bottom:20px;--awb-margin-top-small:0px;--awb-margin-right-small:0px;--awb-margin-bottom-small:20px;--awb-margin-left-small:0px;\"><h2 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;\">The Clean Mental Model<\/h2><\/div><div class=\"fusion-content-boxes content-boxes columns row fusion-columns-3 fusion-columns-total-3 fusion-content-boxes-1 content-boxes-clean-horizontal content-left content-boxes-icon-on-side\" style=\"--awb-border-radius-top-left:12px;--awb-border-radius-top-right:12px;--awb-border-radius-bottom-right:12px;--awb-border-radius-bottom-left:12px;--awb-body-color:#374151;--awb-margin-top:10px;--awb-margin-bottom:10px;--awb-hover-accent-color:#a0ce4e;--awb-circle-hover-accent-color:#a0ce4e;\" data-animationOffset=\"top-into-view\">\n<div style=\"--awb-backgroundcolor:#eff6ff;--awb-iconcolor:#2563eb;border-color:rgba(255,255,255,0);\" class=\"fusion-column content-box-column content-box-column content-box-column-1 col-lg-4 col-md-4 col-sm-4 fusion-content-box-hover content-box-column-first-in-row\"><div class=\"col content-box-wrapper content-wrapper-background link-area-link-icon icon-hover-animation-fade\" data-animationOffset=\"top-into-view\"><div class=\"heading icon-left\"><h3 class=\"content-box-heading\" style=\"--h3_typography-font-size:22px;line-height:27px;\">1. LLM<\/h3><\/div><div class=\"fusion-clearfix\"><\/div><div class=\"content-container\">\nThe model.  Text in, text out.<\/div><\/div><\/div>\n<div style=\"--awb-backgroundcolor:#ecfdf5;--awb-iconcolor:#047857;border-color:rgba(255,255,255,0);\" class=\"fusion-column content-box-column content-box-column content-box-column-2 col-lg-4 col-md-4 col-sm-4 fusion-content-box-hover \"><div class=\"col content-box-wrapper content-wrapper-background link-area-link-icon icon-hover-animation-fade\" data-animationOffset=\"top-into-view\"><div class=\"heading icon-left\"><h3 class=\"content-box-heading\" style=\"--h3_typography-font-size:22px;line-height:27px;\">2. Agent<\/h3><\/div><div class=\"fusion-clearfix\"><\/div><div class=\"content-container\">\nThe model plus a goal, loop, and tools.<\/div><\/div><\/div>\n<div style=\"--awb-backgroundcolor:#f5f3ff;--awb-iconcolor:#6d28d9;border-color:rgba(255,255,255,0);\" class=\"fusion-column content-box-column content-box-column content-box-column-3 col-lg-4 col-md-4 col-sm-4 fusion-content-box-hover content-box-column-last content-box-column-last-in-row\"><div class=\"col content-box-wrapper content-wrapper-background link-area-link-icon icon-hover-animation-fade\" data-animationOffset=\"top-into-view\"><div class=\"heading icon-left\"><h3 class=\"content-box-heading\" style=\"--h3_typography-font-size:22px;line-height:27px;\">3. Harness<\/h3><\/div><div class=\"fusion-clearfix\"><\/div><div class=\"content-container\">\nThe control plane that makes the agent safe, observable, and production-ready.<\/div><\/div><\/div>\n<div class=\"fusion-clearfix\"><\/div><\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-4 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:50px;--awb-padding-bottom:25px;--awb-background-color:#ffffff;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-3 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-blend:overlay;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-3 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:#111827;--awb-margin-top-small:0px;--awb-margin-right-small:0px;--awb-margin-bottom-small:20px;--awb-margin-left-small:0px;\"><h2 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;\">1. The LLM: Just the Brain<\/h2><\/div><div class=\"fusion-text fusion-text-4\"><p>An LLM by itself is not an agent.<\/p>\n<p>It is a model.  You give it input.  It gives you output.<\/p>\n<\/div><ul style=\"--awb-size:18px;--awb-iconcolor:#2563eb;--awb-line-height:30.6px;--awb-icon-width:30.6px;--awb-icon-height:30.6px;--awb-icon-margin:12.6px;--awb-content-margin:43.2px;--awb-circlecolor:#eff6ff;--awb-circle-yes-font-size:15.84px;\" class=\"fusion-checklist fusion-checklist-1 fusion-checklist-default type-icons\">\n<li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-yes\"><i class=\"fusion-li-icon fa-check fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">It does not have a goal.<\/div><\/li>\n<li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-yes\"><i class=\"fusion-li-icon fa-check fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">It does not decide what to do next.<\/div><\/li>\n<li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-yes\"><i class=\"fusion-li-icon fa-check fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">It does not call tools unless something outside the model lets it.<\/div><\/li>\n<li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-yes\"><i class=\"fusion-li-icon fa-check fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">It does not persist state unless an application gives it memory.<\/div><\/li>\n<\/ul><div class=\"fusion-text fusion-text-5\"><p>The model is powerful, but by itself it is mostly a very smart text transformation engine.<\/p>\n<\/div><div class=\"fusion-alert alert info alert-custom fusion-alert-center fusion-alert-capitalize awb-alert-native-link-color\" style=\"--awb-border-top-left-radius:0px;--awb-border-top-right-radius:0px;--awb-border-bottom-left-radius:0px;--awb-border-bottom-right-radius:0px;--awb-margin-top:20px;--awb-margin-bottom:25px;\" role=\"alert\"><div class=\"fusion-alert-content-wrapper\"><span class=\"fusion-alert-content\"><strong>Example:<\/strong> User asks a question \u2192 LLM generates an answer.<\/span><\/div><\/div><div class=\"fusion-text fusion-text-6\"><p>That is useful.  But it is not an agent yet.<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-5 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:35px;--awb-padding-bottom:25px;--awb-background-color:#ffffff;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-4 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-blend:overlay;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-4 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:#111827;--awb-margin-top-small:0px;--awb-margin-right-small:0px;--awb-margin-bottom-small:20px;--awb-margin-left-small:0px;\"><h2 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;\">2. The Agent: When the Model Starts Acting<\/h2><\/div><div class=\"fusion-text fusion-text-7\"><p>An agent starts when you wrap the LLM in behavior.<\/p>\n<p>The key difference is that the agent has some version of a goal, a loop, a policy, and tools.<\/p>\n<\/div><div class=\"fusion-content-boxes content-boxes columns row fusion-columns-2 fusion-columns-total-4 fusion-content-boxes-2 content-boxes-icon-on-side content-left\" style=\"--awb-body-color:#374151;--awb-margin-top:20px;--awb-margin-bottom:20px;--awb-hover-accent-color:#a0ce4e;--awb-circle-hover-accent-color:#a0ce4e;\" data-animationOffset=\"top-into-view\">\n<div style=\"--awb-backgroundcolor:rgba(255,255,255,0);--awb-iconcolor:#047857;--awb-content-padding-left:64px;\" class=\"fusion-column content-box-column content-box-column content-box-column-1 col-lg-6 col-md-6 col-sm-6 fusion-content-box-hover content-box-column-first-in-row\"><div class=\"col content-box-wrapper content-wrapper link-area-link-icon icon-hover-animation-fade\" data-animationOffset=\"top-into-view\"><div class=\"heading heading-with-icon icon-left\"><div class=\"icon\"><i style=\"border-color:#bbf7d0;border-width:1px;background-color:#ecfdf5;box-sizing:content-box;height:42px;width:42px;line-height:42px;border-radius:50%;font-size:21px;\" aria-hidden=\"true\" class=\"fontawesome-icon fa-bullseye fas circle-yes\"><\/i><\/div><h3 class=\"content-box-heading\" style=\"--h3_typography-font-size:20px;line-height:25px;padding-left:64px;\">Goal<\/h3><\/div><div class=\"fusion-clearfix\"><\/div><div class=\"content-container\">\nWhat the agent is trying to accomplish.<\/div><\/div><\/div>\n<div style=\"--awb-backgroundcolor:rgba(255,255,255,0);--awb-iconcolor:#047857;--awb-content-padding-left:64px;\" class=\"fusion-column content-box-column content-box-column content-box-column-2 col-lg-6 col-md-6 col-sm-6 fusion-content-box-hover content-box-column-last-in-row\"><div class=\"col content-box-wrapper content-wrapper link-area-link-icon icon-hover-animation-fade\" data-animationOffset=\"top-into-view\"><div class=\"heading heading-with-icon icon-left\"><div class=\"icon\"><i style=\"border-color:#bbf7d0;border-width:1px;background-color:#ecfdf5;box-sizing:content-box;height:42px;width:42px;line-height:42px;border-radius:50%;font-size:21px;\" aria-hidden=\"true\" class=\"fontawesome-icon fa-sync-alt fas circle-yes\"><\/i><\/div><h3 class=\"content-box-heading\" style=\"--h3_typography-font-size:20px;line-height:25px;padding-left:64px;\">Loop<\/h3><\/div><div class=\"fusion-clearfix\"><\/div><div class=\"content-container\">\nDecide, act, observe, repeat.<\/div><\/div><\/div>\n<div style=\"--awb-backgroundcolor:rgba(255,255,255,0);--awb-iconcolor:#047857;--awb-content-padding-left:64px;\" class=\"fusion-column content-box-column content-box-column content-box-column-3 col-lg-6 col-md-6 col-sm-6 fusion-content-box-hover content-box-column-first-in-row\"><div class=\"col content-box-wrapper content-wrapper link-area-link-icon icon-hover-animation-fade\" data-animationOffset=\"top-into-view\"><div class=\"heading heading-with-icon icon-left\"><div class=\"icon\"><i style=\"border-color:#bbf7d0;border-width:1px;background-color:#ecfdf5;box-sizing:content-box;height:42px;width:42px;line-height:42px;border-radius:50%;font-size:21px;\" aria-hidden=\"true\" class=\"fontawesome-icon fa-clipboard-list fas circle-yes\"><\/i><\/div><h3 class=\"content-box-heading\" style=\"--h3_typography-font-size:20px;line-height:25px;padding-left:64px;\">Policy<\/h3><\/div><div class=\"fusion-clearfix\"><\/div><div class=\"content-container\">\nInstructions for how it should make decisions.<\/div><\/div><\/div>\n<div style=\"--awb-backgroundcolor:rgba(255,255,255,0);--awb-iconcolor:#047857;--awb-content-padding-left:64px;\" class=\"fusion-column content-box-column content-box-column content-box-column-4 col-lg-6 col-md-6 col-sm-6 fusion-content-box-hover content-box-column-last content-box-column-last-in-row\"><div class=\"col content-box-wrapper content-wrapper link-area-link-icon icon-hover-animation-fade\" data-animationOffset=\"top-into-view\"><div class=\"heading heading-with-icon icon-left\"><div class=\"icon\"><i style=\"border-color:#bbf7d0;border-width:1px;background-color:#ecfdf5;box-sizing:content-box;height:42px;width:42px;line-height:42px;border-radius:50%;font-size:21px;\" aria-hidden=\"true\" class=\"fontawesome-icon fa-tools fas circle-yes\"><\/i><\/div><h3 class=\"content-box-heading\" style=\"--h3_typography-font-size:20px;line-height:25px;padding-left:64px;\">Tools<\/h3><\/div><div class=\"fusion-clearfix\"><\/div><div class=\"content-container\">\nAPIs, databases, code execution, search, or business systems.<\/div><\/div><\/div>\n<div class=\"fusion-clearfix\"><\/div><\/div><div class=\"fusion-alert alert custom alert-custom fusion-alert-center fusion-alert-capitalize awb-alert-native-link-color\" style=\"--awb-background-color:#ecfdf5;--awb-accent-color:#047857;--awb-border-top-left-radius:0px;--awb-border-top-right-radius:0px;--awb-border-bottom-left-radius:0px;--awb-border-bottom-right-radius:0px;\" role=\"alert\"><div class=\"fusion-alert-content-wrapper\"><span class=\"fusion-alert-content\"><strong>A minimal agent loop:<\/strong> receive a task \u2192 ask the LLM what to do next \u2192 call a tool if needed \u2192 feed the result back \u2192 repeat until done.<\/span><\/div><\/div><div class=\"fusion-text fusion-text-8\"><p>This can be very simple.  It is often just Python or TypeScript, a prompt, an API call, and a loop.<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-6 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:35px;--awb-padding-bottom:35px;--awb-background-color:#f9fafb;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-5 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-blend:overlay;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-5 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:#111827;--awb-margin-top-small:0px;--awb-margin-right-small:0px;--awb-margin-bottom-small:20px;--awb-margin-left-small:0px;\"><h2 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;\">What Agents Are Usually Built On<\/h2><\/div><div class=\"fusion-text fusion-text-9\"><p>Most agents are not magic.  They are software.<\/p>\n<\/div>\n<table>\n<thead>\n<tr>\n<th>Piece<\/th>\n<th>What it does<\/th>\n<th>Commonly built with<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>LLM<\/td>\n<td>Reasoning, planning, language generation<\/td>\n<td>OpenAI, Anthropic, Gemini, Llama, Mistral<\/td>\n<\/tr>\n<tr>\n<td>Agent loop<\/td>\n<td>Decide, act, observe, repeat<\/td>\n<td>Python, TypeScript, LangChain, AutoGen, CrewAI<\/td>\n<\/tr>\n<tr>\n<td>Tools<\/td>\n<td>Let the agent take action<\/td>\n<td>APIs, databases, code execution, web search<\/td>\n<\/tr>\n<tr>\n<td>Memory<\/td>\n<td>Stores context and prior information<\/td>\n<td>Redis, Postgres, vector databases<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"fusion-text fusion-text-10\"><p>You can build this from scratch.  Or you can use agent frameworks.  The frameworks help with the shape of the system, but they do not remove the need to understand what is happening.<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-7 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:50px;--awb-padding-bottom:25px;--awb-background-color:#ffffff;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-6 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-blend:overlay;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-6 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:#111827;--awb-margin-top-small:0px;--awb-margin-right-small:0px;--awb-margin-bottom-small:20px;--awb-margin-left-small:0px;\"><h2 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;\">3. The Harness: The Part That Makes It Real<\/h2><\/div><div class=\"fusion-text fusion-text-11\"><p>Most agent demos look impressive because the happy path works.<\/p>\n<p>Production is not the happy path.<\/p>\n<p>The harness is the layer around the agent that handles reliability, safety, monitoring, testing, and operations.<\/p>\n<\/div><div class=\"fusion-alert alert custom alert-custom fusion-alert-center fusion-alert-capitalize awb-alert-native-link-color\" style=\"--awb-background-color:#f5f3ff;--awb-accent-color:#6d28d9;--awb-border-top-left-radius:0px;--awb-border-top-right-radius:0px;--awb-border-bottom-left-radius:0px;--awb-border-bottom-right-radius:0px;--awb-margin-top:20px;--awb-margin-bottom:25px;\" role=\"alert\"><div class=\"fusion-alert-content-wrapper\"><span class=\"fusion-alert-content\"><strong>The harness answers the uncomfortable questions:<\/strong> What happens when a tool fails?  Who approves sensitive actions?  How do we know what the agent did?  How do we test whether the new version is better?  How do we prevent mistakes at scale?<\/span><\/div><\/div><div class=\"fusion-text fusion-text-12\"><p>This is where the work gets serious.<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-8 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:35px;--awb-padding-bottom:35px;--awb-background-color:#ffffff;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-7 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-blend:overlay;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-7 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:#111827;--awb-margin-top-small:0px;--awb-margin-right-small:0px;--awb-margin-bottom-small:20px;--awb-margin-left-small:0px;\"><h2 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;\">What Lives in the Harness?<\/h2><\/div><div class=\"fusion-content-boxes content-boxes columns row fusion-columns-2 fusion-columns-total-4 fusion-content-boxes-3 content-boxes-clean-horizontal content-left content-boxes-icon-on-side\" style=\"--awb-body-color:#374151;--awb-margin-top:20px;--awb-margin-bottom:20px;--awb-hover-accent-color:#a0ce4e;--awb-circle-hover-accent-color:#a0ce4e;\" data-animationOffset=\"top-into-view\">\n<div style=\"--awb-backgroundcolor:rgba(255,255,255,0);--awb-iconcolor:#6d28d9;--awb-content-padding-left:64px;border-color:rgba(255,255,255,0);\" class=\"fusion-column content-box-column content-box-column content-box-column-1 col-lg-6 col-md-6 col-sm-6 fusion-content-box-hover content-box-column-first-in-row\"><div class=\"col content-box-wrapper content-wrapper link-area-link-icon icon-hover-animation-fade\" data-animationOffset=\"top-into-view\"><div class=\"heading heading-with-icon icon-left\"><div class=\"icon\"><i style=\"border-color:#ddd6fe;border-width:1px;background-color:#f5f3ff;box-sizing:content-box;height:42px;width:42px;line-height:42px;border-radius:50%;font-size:21px;\" aria-hidden=\"true\" class=\"fontawesome-icon fa-cogs fas circle-yes\"><\/i><\/div><h3 class=\"content-box-heading\" style=\"--h3_typography-font-size:20px;line-height:25px;padding-left:64px;\">Execution control<\/h3><\/div><div class=\"fusion-clearfix\"><\/div><div class=\"content-container\">\nRetries, timeouts, rate limits, and error handling.<\/div><\/div><\/div>\n<div style=\"--awb-backgroundcolor:rgba(255,255,255,0);--awb-iconcolor:#6d28d9;--awb-content-padding-left:64px;border-color:rgba(255,255,255,0);\" class=\"fusion-column content-box-column content-box-column content-box-column-2 col-lg-6 col-md-6 col-sm-6 fusion-content-box-hover content-box-column-last-in-row\"><div class=\"col content-box-wrapper content-wrapper link-area-link-icon icon-hover-animation-fade\" data-animationOffset=\"top-into-view\"><div class=\"heading heading-with-icon icon-left\"><div class=\"icon\"><i style=\"border-color:#ddd6fe;border-width:1px;background-color:#f5f3ff;box-sizing:content-box;height:42px;width:42px;line-height:42px;border-radius:50%;font-size:21px;\" aria-hidden=\"true\" class=\"fontawesome-icon fa-shield-alt fas circle-yes\"><\/i><\/div><h3 class=\"content-box-heading\" style=\"--h3_typography-font-size:20px;line-height:25px;padding-left:64px;\">Guardrails<\/h3><\/div><div class=\"fusion-clearfix\"><\/div><div class=\"content-container\">\nPermissions, policy checks, output validation, and approval flows.<\/div><\/div><\/div>\n<div style=\"--awb-backgroundcolor:rgba(255,255,255,0);--awb-iconcolor:#6d28d9;--awb-content-padding-left:64px;border-color:rgba(255,255,255,0);\" class=\"fusion-column content-box-column content-box-column content-box-column-3 col-lg-6 col-md-6 col-sm-6 fusion-content-box-hover content-box-column-first-in-row\"><div class=\"col content-box-wrapper content-wrapper link-area-link-icon icon-hover-animation-fade\" data-animationOffset=\"top-into-view\"><div class=\"heading heading-with-icon icon-left\"><div class=\"icon\"><i style=\"border-color:#ddd6fe;border-width:1px;background-color:#f5f3ff;box-sizing:content-box;height:42px;width:42px;line-height:42px;border-radius:50%;font-size:21px;\" aria-hidden=\"true\" class=\"fontawesome-icon fa-chart-line fas circle-yes\"><\/i><\/div><h3 class=\"content-box-heading\" style=\"--h3_typography-font-size:20px;line-height:25px;padding-left:64px;\">Observability<\/h3><\/div><div class=\"fusion-clearfix\"><\/div><div class=\"content-container\">\nLogs, traces, metrics, cost tracking, and debugging tools.<\/div><\/div><\/div>\n<div style=\"--awb-backgroundcolor:rgba(255,255,255,0);--awb-iconcolor:#6d28d9;--awb-content-padding-left:64px;border-color:rgba(255,255,255,0);\" class=\"fusion-column content-box-column content-box-column content-box-column-4 col-lg-6 col-md-6 col-sm-6 fusion-content-box-hover content-box-column-last content-box-column-last-in-row\"><div class=\"col content-box-wrapper content-wrapper link-area-link-icon icon-hover-animation-fade\" data-animationOffset=\"top-into-view\"><div class=\"heading heading-with-icon icon-left\"><div class=\"icon\"><i style=\"border-color:#ddd6fe;border-width:1px;background-color:#f5f3ff;box-sizing:content-box;height:42px;width:42px;line-height:42px;border-radius:50%;font-size:21px;\" aria-hidden=\"true\" class=\"fontawesome-icon fa-vial fas circle-yes\"><\/i><\/div><h3 class=\"content-box-heading\" style=\"--h3_typography-font-size:20px;line-height:25px;padding-left:64px;\">Evaluation<\/h3><\/div><div class=\"fusion-clearfix\"><\/div><div class=\"content-container\">\nTest sets, benchmarks, scoring, and regression checks.<\/div><\/div><\/div>\n<div class=\"fusion-clearfix\"><\/div><\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-9 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:35px;--awb-padding-bottom:35px;--awb-background-color:#f9fafb;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-8 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-blend:overlay;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-8 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:#111827;--awb-margin-top-small:0px;--awb-margin-right-small:0px;--awb-margin-bottom-small:20px;--awb-margin-left-small:0px;\"><h2 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;\">What the Harness Is Built With<\/h2><\/div><ul style=\"--awb-size:18px;--awb-iconcolor:#6d28d9;--awb-line-height:30.6px;--awb-icon-width:30.6px;--awb-icon-height:30.6px;--awb-icon-margin:12.6px;--awb-content-margin:43.2px;--awb-circlecolor:#f5f3ff;--awb-circle-yes-font-size:15.84px;\" class=\"fusion-checklist fusion-checklist-2 fusion-checklist-default type-icons\">\n<li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-yes\"><i class=\"fusion-li-icon fa-check fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">State and storage: Postgres, MongoDB, Redis<\/div><\/li>\n<li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-yes\"><i class=\"fusion-li-icon fa-check fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">Vector memory: Pinecone, Weaviate, Chroma, pgvector<\/div><\/li>\n<li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-yes\"><i class=\"fusion-li-icon fa-check fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">Logging and tracing: LangSmith, Helicone, Arize, Weights &#038; Biases<\/div><\/li>\n<li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-yes\"><i class=\"fusion-li-icon fa-check fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">Monitoring: Prometheus, Grafana, Sentry<\/div><\/li>\n<li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-yes\"><i class=\"fusion-li-icon fa-check fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">Cloud infrastructure: AWS, GCP, Azure<\/div><\/li>\n<li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-yes\"><i class=\"fusion-li-icon fa-check fas\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">Custom policies: usually your own code<\/div><\/li>\n<\/ul><div class=\"fusion-text fusion-text-13\"><p>So no, the harness is usually not one magical library.  It is a combination of libraries, services, and custom rules that match your business.<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-10 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:45px;--awb-padding-bottom:45px;--awb-background-color:#ffffff;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-9 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-blend:overlay;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-9 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:#111827;--awb-margin-top-small:0px;--awb-margin-right-small:0px;--awb-margin-bottom-small:20px;--awb-margin-left-small:0px;\"><h2 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;\">Build vs. Buy<\/h2><\/div><div class=\"fusion-text fusion-text-14\"><p>The practical answer is: buy what is generic, build what is specific.<\/p>\n<\/div>\n<table>\n<thead>\n<tr>\n<th>Layer<\/th>\n<th>Usually buy\/use<\/th>\n<th>Usually custom-build<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>LLM<\/td>\n<td>Model API or open model<\/td>\n<td>Prompting and model selection logic<\/td>\n<\/tr>\n<tr>\n<td>Agent<\/td>\n<td>Frameworks and tool abstractions<\/td>\n<td>Workflow, goals, permissions, business logic<\/td>\n<\/tr>\n<tr>\n<td>Harness<\/td>\n<td>Logging, tracing, eval, monitoring tools<\/td>\n<td>Risk controls, approval flows, success criteria<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-11 fusion-flex-container hundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:55px;--awb-padding-bottom:55px;--awb-background-color:#111827;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-10 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-blend:overlay;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-10 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:#ffffff;--awb-margin-top-small:0px;--awb-margin-right-small:0px;--awb-margin-bottom-small:20px;--awb-margin-left-small:0px;\"><h2 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;\">The Common Failure Mode<\/h2><\/div><div class=\"fusion-text fusion-text-15\"><p style=\"color: #ffffff;\">A team builds a cool demo.  The demo works.  Everyone gets excited.  Then it goes into production and starts breaking in boring, predictable ways.<\/p>\n<p style=\"color: #ffffff;\">Why?<\/p>\n<p style=\"color: #ffffff; font-size: 22px;\"><strong>Because they built the LLM call and maybe the agent.  They did not build the harness.<\/strong><\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-12 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:50px;--awb-padding-bottom:35px;--awb-background-color:#ffffff;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-11 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-blend:overlay;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-11 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:#111827;--awb-margin-top-small:0px;--awb-margin-right-small:0px;--awb-margin-bottom-small:20px;--awb-margin-left-small:0px;\"><h2 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;\">Clean Definitions<\/h2><\/div><div class=\"accordian fusion-accordian\" style=\"--awb-border-size:1px;--awb-icon-size:13px;--awb-content-font-size:26px;--awb-icon-alignment:left;--awb-hover-color:#f9f9f9;--awb-border-color:#e5e7eb;--awb-background-color:#ffffff;--awb-divider-color:#e0dede;--awb-divider-hover-color:#e0dede;--awb-icon-color:#ffffff;--awb-title-color:#49629b;--awb-content-color:#555c6e;--awb-icon-box-color:#333333;--awb-toggle-hover-accent-color:#90b5ee;--awb-title-font-family:&quot;Montserrat&quot;;--awb-title-font-weight:400;--awb-title-font-style:normal;--awb-title-font-size:13px;--awb-content-font-family:&quot;Source Sans Pro&quot;;--awb-content-font-style:normal;--awb-content-font-weight:400;\"><div class=\"panel-group fusion-toggle-icon-boxed\" id=\"accordion-1717-1\">\n<div class=\"fusion-panel panel-default panel-81474bc9cfb227fd1 fusion-toggle-no-divider fusion-toggle-boxed-mode\"><div class=\"panel-heading\"><h4 class=\"panel-title toggle\" id=\"toggle_81474bc9cfb227fd1\"><a class=\"active\" aria-expanded=\"true\" aria-controls=\"81474bc9cfb227fd1\" role=\"button\" data-toggle=\"collapse\" data-target=\"#81474bc9cfb227fd1\" href=\"#81474bc9cfb227fd1\"><span class=\"fusion-toggle-icon-wrapper\" aria-hidden=\"true\"><i class=\"fa-fusion-box active-icon awb-icon-minus\" aria-hidden=\"true\"><\/i><i class=\"fa-fusion-box inactive-icon awb-icon-plus\" aria-hidden=\"true\"><\/i><\/span><span class=\"fusion-toggle-heading\">LLM<\/span><\/a><\/h4><\/div><div id=\"81474bc9cfb227fd1\" class=\"panel-collapse collapse in\" aria-labelledby=\"toggle_81474bc9cfb227fd1\"><div class=\"panel-body toggle-content fusion-clearfix\">\nA model that generates language.  It is the brain, not the whole system.<\/div><\/div><\/div>\n<div class=\"fusion-panel panel-default panel-0b5826c2fee3eab58 fusion-toggle-no-divider fusion-toggle-boxed-mode\"><div class=\"panel-heading\"><h4 class=\"panel-title toggle\" id=\"toggle_0b5826c2fee3eab58\"><a aria-expanded=\"false\" aria-controls=\"0b5826c2fee3eab58\" role=\"button\" data-toggle=\"collapse\" data-target=\"#0b5826c2fee3eab58\" href=\"#0b5826c2fee3eab58\"><span class=\"fusion-toggle-icon-wrapper\" aria-hidden=\"true\"><i class=\"fa-fusion-box active-icon awb-icon-minus\" aria-hidden=\"true\"><\/i><i class=\"fa-fusion-box inactive-icon awb-icon-plus\" aria-hidden=\"true\"><\/i><\/span><span class=\"fusion-toggle-heading\">Agent<\/span><\/a><\/h4><\/div><div id=\"0b5826c2fee3eab58\" class=\"panel-collapse collapse \" aria-labelledby=\"toggle_0b5826c2fee3eab58\"><div class=\"panel-body toggle-content fusion-clearfix\">\nAn LLM wrapped in a loop that can pursue a goal, make decisions, and take actions using tools.<\/div><\/div><\/div>\n<div class=\"fusion-panel panel-default panel-38275cd6f576cb4f5 fusion-toggle-no-divider fusion-toggle-boxed-mode\"><div class=\"panel-heading\"><h4 class=\"panel-title toggle\" id=\"toggle_38275cd6f576cb4f5\"><a aria-expanded=\"false\" aria-controls=\"38275cd6f576cb4f5\" role=\"button\" data-toggle=\"collapse\" data-target=\"#38275cd6f576cb4f5\" href=\"#38275cd6f576cb4f5\"><span class=\"fusion-toggle-icon-wrapper\" aria-hidden=\"true\"><i class=\"fa-fusion-box active-icon awb-icon-minus\" aria-hidden=\"true\"><\/i><i class=\"fa-fusion-box inactive-icon awb-icon-plus\" aria-hidden=\"true\"><\/i><\/span><span class=\"fusion-toggle-heading\">Agent harness<\/span><\/a><\/h4><\/div><div id=\"38275cd6f576cb4f5\" class=\"panel-collapse collapse \" aria-labelledby=\"toggle_38275cd6f576cb4f5\"><div class=\"panel-body toggle-content fusion-clearfix\">\nThe control layer that makes the agent reliable, observable, safe, testable, and production-ready.<\/div><\/div><\/div>\n<\/div><\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-13 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:35px;--awb-padding-bottom:70px;--awb-background-color:#ffffff;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1248px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-12 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-blend:overlay;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-12 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-text-color:#111827;--awb-margin-top-small:0px;--awb-margin-right-small:0px;--awb-margin-bottom-small:20px;--awb-margin-left-small:0px;\"><h2 class=\"fusion-title-heading title-heading-left\" style=\"margin:0;\">Final Takeaway<\/h2><\/div><div class=\"fusion-text fusion-text-16\"><p>The LLM is not the agent.  The agent is not the whole product.  The harness is not optional once you care about reliability.<\/p>\n<\/div><div class=\"fusion-alert alert custom alert-custom fusion-alert-center fusion-alert-capitalize awb-alert-native-link-color\" style=\"--awb-background-color:#f9fafb;--awb-accent-color:#111827;--awb-border-top-left-radius:0px;--awb-border-top-right-radius:0px;--awb-border-bottom-left-radius:0px;--awb-border-bottom-right-radius:0px;\" role=\"alert\"><div class=\"fusion-alert-content-wrapper\"><span class=\"fusion-alert-content\"><strong style=\"font-size: 24px;\">LLM \u2192 Agent \u2192 Agent + Harness<\/strong><\/p>\n<p>Brain \u2192 Brain that can act \u2192 Brain that can act reliably.<\/span><\/div><\/div><div class=\"fusion-text fusion-text-17\"><p>That last part is where most of the actual engineering lives.<\/p>\n<\/div><div style=\"text-align:left;\"><a class=\"fusion-button button-flat button-large button-blue fusion-button-blue button-1 fusion-button-default-span fusion-button-default-type\" style=\"--awb-margin-top:20px;\" target=\"_self\" href=\"#\"><span class=\"fusion-button-text awb-button__text awb-button__text--default\">Build the model.  Build the agent.  Do not skip the harness.<\/span><\/a><\/div><\/div><\/div><\/div><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":1720,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[41,1],"tags":[],"class_list":["post-1717","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-artificial-intelligence","category-general"],"_links":{"self":[{"href":"https:\/\/www.ghosh.com\/blog\/wp-json\/wp\/v2\/posts\/1717","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ghosh.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ghosh.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ghosh.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ghosh.com\/blog\/wp-json\/wp\/v2\/comments?post=1717"}],"version-history":[{"count":4,"href":"https:\/\/www.ghosh.com\/blog\/wp-json\/wp\/v2\/posts\/1717\/revisions"}],"predecessor-version":[{"id":1722,"href":"https:\/\/www.ghosh.com\/blog\/wp-json\/wp\/v2\/posts\/1717\/revisions\/1722"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ghosh.com\/blog\/wp-json\/wp\/v2\/media\/1720"}],"wp:attachment":[{"href":"https:\/\/www.ghosh.com\/blog\/wp-json\/wp\/v2\/media?parent=1717"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ghosh.com\/blog\/wp-json\/wp\/v2\/categories?post=1717"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ghosh.com\/blog\/wp-json\/wp\/v2\/tags?post=1717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}