{"id":23329,"date":"2026-09-25T10:52:16","date_gmt":"2026-09-25T10:52:16","guid":{"rendered":"https:\/\/www.sphinx-solution.com\/blog\/?p=23329"},"modified":"2026-09-25T10:52:16","modified_gmt":"2026-09-25T10:52:16","slug":"how-to-build-ai-agents","status":"publish","type":"post","link":"https:\/\/www.sphinx-solution.com\/blog\/how-to-build-ai-agents\/","title":{"rendered":"How To Build AI Agents: A Step-by-Step Development Guide"},"content":{"rendered":"<div style=\"text-align: left; background-color: #ebf5ff; padding: 20px 25px; font-size: 16px; border-radius: 16px; border: 1px solid #b6dcff; width: 100%; box-sizing: border-box;\">\n<p style=\"font-size: 16px; margin: 0 0 15px 0;\"><strong>Key Takeaways<\/strong><\/p>\n<ul style=\"margin: 0; padding-left: 20px; line-height: 1.7;\">\n<li style=\"margin-bottom: 10px;\"><span class=\"TextRun SCXW232297441 BCX8\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW232297441 BCX8\">Begin with a practical use case: Define the users, task, goal, and constraints involved before you choose an agent type, model, or framework.<\/span><\/span><\/li>\n<li style=\"margin-bottom: 10px;\"><span class=\"TextRun SCXW107233546 BCX8\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW107233546 BCX8\">Develop the\u00a0<\/span><span class=\"NormalTextRun SCXW107233546 BCX8\">appropriate architecture<\/span><span class=\"NormalTextRun SCXW107233546 BCX8\">: A good AI agent is built with an LLM that is augmented with tools, data, memory, workflows, and explained decision-making.<\/span><\/span><\/li>\n<li style=\"margin-bottom: 10px;\"><span class=\"TextRun SCXW175670263 BCX8\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW175670263 BCX8\">Prioritise security and guardrails: Restrict tool capabilities, check inputs and outputs, encrypt confidential data, and require human approval for high-risk actions.\u00a0<\/span><\/span><\/li>\n<li style=\"margin-bottom: 10px;\"><span class=\"TextRun SCXW127907572 BCX8\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW127907572 BCX8\">Test before going live: Test the agent on real-world use cases, tool use, accuracy, cost, latency, failures, and safety-not only success cases.<\/span><\/span><\/li>\n<li><span class=\"TextRun SCXW33396916 BCX8\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW33396916 BCX8\">Monitor and improve continuously: Deployment is only the beginning. Use logs, evaluations, user feedback, and performance data to improve the agent continuously.<\/span><\/span><\/li>\n<\/ul>\n<\/div>\n<p><span data-contrast=\"none\">Think building a Chatbot was simple? Building an AI that understands goals, plans actions, employs tools, pulls information, performs actions, has recovery strategies, and has termination?\u00a0That&#8217;s\u00a0another level of engineering. Ever wonder how to build AI agents you can really trust? Begin by understanding that the model is only one piece of the puzzle, not the\u00a0whole system.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Thinking about how to implement your AI agent concept? From selecting the best architecture and arming your agent with tools and knowledge to building memory and the execution loop, to securing, testing, and deploying it to production, this book will take you through the entire process.<\/span><\/p>\n<h2 id=\"what-does-it-take-to-build-an-ai-agent\"><strong><span class=\"TextRun SCXW161951711 BCX8\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW161951711 BCX8\" data-ccp-parastyle=\"heading 2\">What Does It Take\u00a0<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW161951711 BCX8\" data-ccp-parastyle=\"heading 2\">To<\/span><span class=\"NormalTextRun SCXW161951711 BCX8\" data-ccp-parastyle=\"heading 2\">\u00a0Build an AI Agent?<\/span><\/span><span class=\"EOP Selected SCXW161951711 BCX8\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:360,&quot;335559739&quot;:120}\">\u00a0<\/span><\/strong><\/h2>\n<p><span data-contrast=\"none\">Every AI agent has the same foundational ingredients-at the very core, an LLM can be used for reasoning, along with a set of instructions (goals), tools it can use, sources of knowledge to access, and memory for context. Planning to\u00a0determine\u00a0which actions it should take, an execution loop, guardrails, evaluation, and observability.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">User goal \u2192 agent \u2192 reasoning\/decision \u2192 tool call \u2192 observation \u2192 agent \u2192 next action \u2192 result<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">The exact combination of these pieces varies by use case. A simple internal tool might skip long-term memory entirely. A customer-facing agent handling sensitive actions needs heavier guardrails than an internal research assistant. The architecture should follow the problem, not a template.<\/span><\/p>\n<h2 id=\"when-should-you-build-an-ai-agent\"><strong><span class=\"TextRun SCXW233241055 BCX8\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW233241055 BCX8\" data-ccp-parastyle=\"heading 2\">When Should You Build an AI Agent?<\/span><\/span><span class=\"EOP Selected SCXW233241055 BCX8\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:360,&quot;335559739&quot;:120}\">\u00a0<\/span><\/strong><\/h2>\n<p><span data-contrast=\"none\">Not every automation problem needs an autonomous agent, and\u00a0that&#8217;s\u00a0worth deciding before writing any code. If the workflow is fully deterministic, traditional automation is usually enough. If the system\u00a0mainly needs\u00a0to retrieve and summarise information, a RAG application often does the job without the added complexity of an execution loop.\u00a0<\/span><span data-ccp-props=\"{&quot;335551550&quot;:0,&quot;335551620&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Ever been so swamped with choices but\u00a0didn&#8217;t\u00a0want to take the lead?\u00a0That&#8217;s\u00a0when you need a copilot. Now, do you find yourself stuck deciding between two options?\u00a0That&#8217;s\u00a0when an agent is your best friend. You want it to make decisions in the face of multiple steps and have it change strategy as it gains\u00a0new information. Just one thing: agents can be overkill and are perfect for some problems.<\/span><\/p>\n<h2 id=\"step-by-step-process-on-how-to-build-ai-agents\"><strong><span class=\"TextRun SCXW222582296 BCX8\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW222582296 BCX8\" data-ccp-parastyle=\"heading 2\">Step-by-Step Process on How to Build AI Agents?<\/span><\/span><span class=\"EOP Selected SCXW222582296 BCX8\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:360,&quot;335559739&quot;:120}\">\u00a0<\/span><\/strong><\/h2>\n<p><img decoding=\"async\" class=\"alignnone wp-image-23335 size-full\" src=\"https:\/\/www.sphinx-solution.com\/blog\/wp-content\/uploads\/2026\/09\/Step-by-Step-Process-on-How-to-Build-AI-Agents_-1.webp\" alt=\"AI Agent Development Lifecycle diagram\" width=\"700\" height=\"379\" srcset=\"https:\/\/www.sphinx-solution.com\/blog\/wp-content\/uploads\/2026\/09\/Step-by-Step-Process-on-How-to-Build-AI-Agents_-1.webp 700w, https:\/\/www.sphinx-solution.com\/blog\/wp-content\/uploads\/2026\/09\/Step-by-Step-Process-on-How-to-Build-AI-Agents_-1-300x162.webp 300w, https:\/\/www.sphinx-solution.com\/blog\/wp-content\/uploads\/2026\/09\/Step-by-Step-Process-on-How-to-Build-AI-Agents_-1-390x211.webp 390w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><b><span data-contrast=\"none\">Step 1: Define the Agent&#8217;s Goal and Scope<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Start narrow. Ever considered working on an AI assistant for customer service? Did your idea look something like &#8220;Build an AI assistant&#8221;, and did the scope seem too enormous? Focus on the details. To make this happen, start with the details.\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">For instance, imagine creating an agent that automatically categorises support tickets, finds related product information, writes\u00a0responses\u00a0and escalates difficult tickets to a human support agent. Focus on your triggers, inputs, outputs, scope, and goals first.\u00a0Here&#8217;s\u00a0the catch: scope accurately first, and the rest of the project is doable.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">Step 2: Map the Workflow<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Document the operation of the process prior to the use of AI, which is parameters like: Time &amp; date of the\u00a0initial\u00a0trigger, Decision points, Actions performed, External systems engaged, Human approval triggers, Process breakdowns, and Process terminators. This workflow map becomes the blueprint for the agent&#8217;s tools and stopping conditions later.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">Step 3: Choose the AI Model<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">The\u00a0could be\u00a0taken into account\u00a0when choosing models are the reasoning ability, the callability of the model, the context window, the latency, price, output consistency, and privacy or deployment restrictions that the organisation might have. There is no one &#8220;best&#8221; model; the selection will depend on the workload. For high-throughput, low-complexity tasks, a less complex, cheaper, and faster model may be enough, while complex multi-step tasks may need a more capable model, even with high latency and cost.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">Step 4: Choose the Agent Architecture<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Common patterns include single-agent, tool-using agent, react-style reasoning loops, plan-and-execute, router-based delegation, supervisor architectures, and multi-agent systems. Start with the simplest architecture capable of solving the problem; a single well-scoped agent handles more use cases than teams initially assume. Multi-agent architecture is worth the added coordination overhead only when the task genuinely spans distinct specialities, a distinction covered in depth in our multi-agent systems guide.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">Step 5: Give the Agent Tools<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Tool or function calling is how the model turns a decision into an action. The process is such that: the model chooses the tool, the tool executes the specified function, the output is returned, and the agent continues from there.\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Tools may connect to APIs, databases, search engines, customer relationship management systems, enterprise resource planning systems, internal systems, calculators, code execution environments, file systems, email\u00a0systems\u00a0or scheduling systems.\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Each tool needs a clear description, structured inputs, validation, defined permission boundaries, error handling, and a timeout. A tool without those guardrails is a liability the moment the agent calls it incorrectly.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">Step 6: Connect Knowledge and Data<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Agents base their chain of thought on external sources using Retrieval-Augmented Generation (RAG) (vector databases, structured databases, APIs, enterprise knowledge bases, documents, search engines).\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">The reason to use retrieval is when there&#8217;s unstructured or semi-structured data that needs to be reasoned over, and to use direct access to APIs and databases when structured data is involved and specific questions are asked. In every case, the freshness and quality of the source matter for the trustworthiness of the output.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">Step 7: Design Memory and State<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Not all agents need that much long-term memory. What needs to be distinguished is context of conversation (relating to the immediate) as opposed to short term memory (state of the process at hand) as opposed to long term or persistent memory (context that persists across sessions).\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">To last, we need to figure out what to remember, how long, where, who will be able to access it, and when to\u00a0delete\u00a0\/ archive \/ update it.\u00a0Unsecurely\u00a0remembered data may become a matter of cost,\u00a0latency\u00a0and privacy over time.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">Step 8: Build the Agent Loop<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">This execution loop is the core of the system goal: decide, act,\u00a0observe, decide, act, stop. Every loop generates the next plan step, applies a tool, interprets the observation, updates the state, and checks if some stop condition has been met. Build in a maximum iteration limit and explicit error handling from the start, not after the first runaway loop in testing:<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">while not done and iterations &lt;\u00a0max_iterations:<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">\u00a0plan =\u00a0agent.decide(goal, context)<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">\u00a0result =\u00a0tools.execute(plan.tool,\u00a0plan.input)<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">\u00a0context =\u00a0agent.observe(result)<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">\u00a0done =\u00a0agent.check_stop_condition(context)<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">This is illustrative, not production code, but it captures the shape every real agent loop follows.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">Step 9: Add Guardrails and Security<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Within this section, generic instructions to each AI agent tend to be vague, and it is also the stage that can fail worst if not executed properly. However, it&#8217;s important to have enabled agent authentication and authorisation, least-privilege on every tool, input and output validation, prompt injection awareness, control over sensitive data, limits on tool abuse and over-permission, human approval gates for actions with high impact, rate limits, audit trails, and secrets management.\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">An agent\u00a0shouldn&#8217;t\u00a0get unrestricted access to a tool simply because\u00a0it&#8217;s\u00a0technically capable of calling it. For a deeper breakdown of these controls as architecture components, our enterprise AI agent architecture guide covers the security and governance layer in more depth.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">Step 10: Test and Evaluate the Agent<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Conventional software testing checks whether code runs correctly. Agent evaluation\u00a0has to\u00a0check whether the agent makes good decisions, which is a different question. Cover unit tests for individual tools, integration tests across the full loop, scenario-based tests against realistic tasks, an evaluation dataset, and regression tests before every change ships.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<table data-tablestyle=\"MsoNormalTable\" data-tablelook=\"1696\" aria-rowcount=\"7\" aria-colcount=\"2\">\n<tbody>\n<tr aria-rowindex=\"1\">\n<td data-celllook=\"69905\"><b><span data-contrast=\"none\">Metric<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"69905\"><b><span data-contrast=\"none\">What it measures<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<\/tr>\n<tr aria-rowindex=\"2\">\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Task success rate<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Whether the agent completes the intended task<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<\/tr>\n<tr aria-rowindex=\"3\">\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Tool-call accuracy<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Whether it selects and calls the right tool<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<\/tr>\n<tr aria-rowindex=\"4\">\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Groundedness<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Whether outputs are supported by retrieved information<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<\/tr>\n<tr aria-rowindex=\"5\">\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Latency<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">How quickly the task completes<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<\/tr>\n<tr aria-rowindex=\"6\">\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Cost per task<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Operational efficiency<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<\/tr>\n<tr aria-rowindex=\"7\">\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Escalation rate<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">How often human intervention is\u00a0required<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span data-contrast=\"none\">Establish a baseline based on your own tests, rather than assuming all users do things the same way.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">Step 11: Deploy the AI Agent<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">When hitting production, you need to add a service layer, use a container or managed runtime, pick a cloud provider, do secrets management, do authentication, do a scaling plan, do a queue for asynchronous needs, have a database for the state, log properly, monitor, apply rate limiting, apply cost control, and do versioning for prompts and tool settings. The right architecture depends heavily on your expected volume and the nature of the producer&#8217;s infrastructure; there is no &#8220;correct&#8221; configuration.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">Step 12: Monitor, Improve, and Maintain the Agent<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Deployment is not the end. Log every decision, every call, every data point you used; follow failures and user feedback, continually evaluate, and\u00a0monitor\u00a0for drift when the model or prompts change.\u00a0The improvement loop is continuous:\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">observe \u2192 evaluate \u2192\u00a0identify\u00a0failure \u2192 improve \u2192 test \u2192 deploy.\u00a0<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Agents that work well at launch can degrade quietly as usage patterns shift or upstream APIs change behaviour.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<h2 id=\"what-is-the-ai-agent-development-tech-stack\"><strong><span class=\"TextRun SCXW4299981 BCX8\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW4299981 BCX8\" data-ccp-parastyle=\"heading 2\">What is the AI Agent Development Tech Stack?<\/span><\/span><span class=\"EOP Selected SCXW4299981 BCX8\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:360,&quot;335559739&quot;:120}\">\u00a0<\/span><\/strong><\/h2>\n<table data-tablestyle=\"MsoNormalTable\" data-tablelook=\"1696\" aria-rowcount=\"9\" aria-colcount=\"3\">\n<tbody>\n<tr aria-rowindex=\"1\">\n<td data-celllook=\"69905\"><b><span data-contrast=\"none\">Layer<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"69905\"><b><span data-contrast=\"none\">Purpose<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"69905\"><b><span data-contrast=\"none\">Example technology categories<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<\/tr>\n<tr aria-rowindex=\"2\">\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Foundation model<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Reasoning and generation<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">LLM providers (evaluated per workload)<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<\/tr>\n<tr aria-rowindex=\"3\">\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Agent runtime<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Orchestration and execution<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Agent frameworks and SDKs<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<\/tr>\n<tr aria-rowindex=\"4\">\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Tools<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">External actions<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">APIs, functions, internal systems<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<\/tr>\n<tr aria-rowindex=\"5\">\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Knowledge<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Grounding<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">RAG, vector databases, structured data<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<\/tr>\n<tr aria-rowindex=\"6\">\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Memory<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">State and context<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Databases, memory stores<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<\/tr>\n<tr aria-rowindex=\"7\">\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Observability<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Monitoring<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Tracing and evaluation platforms<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<\/tr>\n<tr aria-rowindex=\"8\">\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Deployment<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Production runtime<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Cloud, containers, serverless<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<\/tr>\n<tr aria-rowindex=\"9\">\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Security<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">Access control<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<td data-celllook=\"4369\"><span data-contrast=\"none\">IAM, authentication, secrets management<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span class=\"TextRun SCXW138472819 BCX8\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW138472819 BCX8\">Don&#8217;t<\/span><span class=\"NormalTextRun SCXW138472819 BCX8\">\u00a0lock down the architecture to a single vendor at each layer &#8211; most enterprise builds will combine providers based on their cost, latency, and particular requirements.<\/span><\/span><span class=\"EOP Selected SCXW138472819 BCX8\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<h2 id=\"what-are-the-popular-frameworks-for-building-ai-agents\"><strong><span class=\"TextRun SCXW121677831 BCX8\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW121677831 BCX8\" data-ccp-parastyle=\"heading 2\">What are the Popular Frameworks for Building AI Agents?<\/span><\/span><span class=\"EOP Selected SCXW121677831 BCX8\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:360,&quot;335559739&quot;:120}\">\u00a0<\/span><\/strong><\/h2>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"7\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"none\">LangGraph\u00a0provides an explicit graph of states and transitions that\u00a0represents\u00a0the agent loop. This helps with understanding and debugging workflows that branch more easily than a prompt-driven loop.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"8\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"none\">LangChain\u00a0offers a lot of tools for chaining LLM calls, retrieval, and tool use. These tools work best when the team needs flexibility in the range of integrations they build.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"9\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"none\">The OpenAI Agents SDK provides a focused and streamlined way to build agents that call tools directly from OpenAI models.\u00a0\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"10\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"none\">CrewAI\u00a0focuses specifically on multi-agent collaboration with defined roles, a good fit once a workflow has already outgrown a single agent.\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"11\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"none\">LlamaIndex\u00a0specialises in data indexing and retrieval, making it a strong choice when knowledge grounding is the hardest part of the problem.\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"12\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"none\">Semantic Kernel targets teams building agent capabilities inside a .NET or enterprise Microsoft stack.\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"none\">The framework decision should be driven by the architecture decision made in Step 4 and not the other way round.\u00a0With all options, capabilities are changing fast; check the latest documentation for the most up-to-date information.<\/span><\/p>\n<h2 id=\"how-much-does-it-cost-to-build-an-ai-agent\"><strong><span class=\"TextRun SCXW88859202 BCX8\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW88859202 BCX8\" data-ccp-parastyle=\"heading 2\">How Much Does It Cost to Build an AI Agent?<\/span><\/span><span class=\"EOP Selected SCXW88859202 BCX8\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:360,&quot;335559739&quot;:120}\">\u00a0<\/span><\/strong><\/h2>\n<p><span data-contrast=\"none\">The cost is not one static number; there is a list of components that are part of the overall cost. Model and API use increases with volume and complexity of the task; development hours depend on the number of tools and integrations being built; the costs of infrastructure and vector database scale as use scales, and there are costs of observability, security tooling, maintenance and human review time.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">The cost of a working prototype can seem low because there are no guardrails, inspection, evaluation, or a production setup. The cost of production includes this. A rough estimate should be made to assess cost according to the workload rather than a general guess. The range of difference between the prototype and the production cost can be more than most teams expect.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<h2 id=\"what-are-the-common-mistakes-when-building-ai-agents\"><strong><span class=\"TextRun SCXW210455500 BCX8\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW210455500 BCX8\" data-ccp-parastyle=\"heading 2\">What are the Common Mistakes When Building AI Agents?<\/span><\/span><span class=\"EOP Selected SCXW210455500 BCX8\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:360,&quot;335559739&quot;:120}\">\u00a0<\/span><\/strong><\/h2>\n<p><span data-contrast=\"none\">Three of the most common early mistakes are: beginning with too broad a use case, having the model selected before the workflow is sketched out, and giving the agent too many tools than it needs to\u00a0accomplish\u00a0the task.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Close behind: granting tools excessive permissions, adding memory without a defined purpose, reaching for multi-agent architecture before a single agent has\u00a0actually been\u00a0tried, and skipping failure-state handling so the first tool timeout takes down the entire task.\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Missing stopping conditions lead to runaway loops. Testing only happy-path scenarios, skipping observability, and treating the prompt as the entire system are three separate ways teams discover their agent\u00a0isn&#8217;t\u00a0actually reliable, usually in production rather than in testing.\u00a0<\/span><span data-contrast=\"none\">First, we have deployed without assessment, neglecting cost and latency until they become issues, and forgetting to include human escalation for dangerous actions.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<h2 id=\"how-to-build-an-ai-agent-a-practical-checklist\"><strong><span class=\"TextRun SCXW13359067 BCX8\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW13359067 BCX8\" data-ccp-parastyle=\"heading 2\">How to Build an AI Agent: A Practical Checklist<\/span><\/span><span class=\"EOP Selected SCXW13359067 BCX8\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:360,&quot;335559739&quot;:120}\">\u00a0<\/span><\/strong><\/h2>\n<p><img decoding=\"async\" class=\"alignnone wp-image-23336 size-full\" src=\"https:\/\/www.sphinx-solution.com\/blog\/wp-content\/uploads\/2026\/09\/How-to-Build-an-AI-Agent-A-Practical-Checklist.webp\" alt=\"How to Build an AI Agent A Practical Checklist\" width=\"700\" height=\"359\" srcset=\"https:\/\/www.sphinx-solution.com\/blog\/wp-content\/uploads\/2026\/09\/How-to-Build-an-AI-Agent-A-Practical-Checklist.webp 700w, https:\/\/www.sphinx-solution.com\/blog\/wp-content\/uploads\/2026\/09\/How-to-Build-an-AI-Agent-A-Practical-Checklist-300x154.webp 300w, https:\/\/www.sphinx-solution.com\/blog\/wp-content\/uploads\/2026\/09\/How-to-Build-an-AI-Agent-A-Practical-Checklist-390x200.webp 390w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/p>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"13\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"none\">Planning:<\/span><\/b><span data-contrast=\"none\">\u00a0Business\u00a0purpose well-defined; users specified; criteria for success\u00a0established; scope and limitations\u00a0identified.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"14\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"none\">Architecture:<\/span><\/b><span data-contrast=\"none\">\u00a0agent pattern selected, model selected and justified, tools mapped to specific actions, data sources\u00a0identified, memory requirements defined.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"15\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"none\">Security<\/span><\/b><span data-contrast=\"none\">: authentication and authorisation in place, least-privilege access enforced per tool, input and output validation built in, sensitive data controls defined, human approval points\u00a0identified\u00a0for high-impact actions.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"16\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"none\">Testing<\/span><\/b><span data-contrast=\"none\">: evaluation dataset built, failure scenarios tested, tool-call accuracy tested, regression testing in place, success metrics tracked against a baseline.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"17\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><b><span data-contrast=\"none\">Production<\/span><\/b><span data-contrast=\"none\">: monitoring and logging active, cost tracking in place, error handling covers realistic failure modes, versioning covers prompts and tool configs, a maintenance process is defined.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/li>\n<\/ul>\n<h2 id=\"conclusion\"><strong><span class=\"TextRun SCXW118251479 BCX8\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW118251479 BCX8\" data-ccp-parastyle=\"heading 2\">Conclusion<\/span><\/span><span class=\"EOP Selected SCXW118251479 BCX8\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:360,&quot;335559739&quot;:120}\">\u00a0<\/span><\/strong><\/h2>\n<p><span data-contrast=\"none\">Designing a productive AI agent is frankly a systems-engineering problem, not a prompting problem. All the steps in this doc, whether\u00a0it&#8217;s\u00a0scoping the target, designing the guardrails, or designing the evaluation, are\u00a0required\u00a0since skipping any will often lead to a production failure, not a planning mistake.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Start small; opt for the simplest architecture that can solve the problem. Think about security and testing not as something that should be added on just before shipping but as something to be considered during the development process.\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">If you need help designing and building an AI agent for your business, Sphinx Solutions is here to guide you through use-case discovery and architecture all the way to development, integration,\u00a0testing\u00a0and deployment.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<h2 id=\"faqs\"><strong><span class=\"TextRun SCXW211292648 BCX8\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"none\"><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW211292648 BCX8\" data-ccp-parastyle=\"heading 2\">FAQ\u2019s<\/span><span class=\"NormalTextRun SCXW211292648 BCX8\" data-ccp-parastyle=\"heading 2\">:<\/span><\/span><span class=\"EOP Selected SCXW211292648 BCX8\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:360,&quot;335559739&quot;:120}\">\u00a0<\/span><\/strong><\/h2>\n<p><b><span data-contrast=\"none\">How do you build an AI agent?\u00a0<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Define a narrow goal and scope, map the workflow, choose a model and architecture, give the agent tools and knowledge, design memory, build the execution loop, add guardrails, test against realistic scenarios, then deploy and\u00a0monitor\u00a0continuously.<\/span><span data-ccp-props=\"{&quot;335551550&quot;:0,&quot;335551620&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">What are the main components of an AI agent?\u00a0<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">The core components are a reasoning model, tools, knowledge sources, memory, a planning or orchestration layer, an execution loop, guardrails, evaluation, and observability, working together rather than any one piece carrying the\u00a0whole system.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">Can I build an AI agent without coding?\u00a0<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Some no-code and low-code platforms let you assemble simple agents through configuration, but production-grade agents with custom tools, guardrails, and enterprise integrations\u00a0generally require\u00a0development work.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">What programming language is best for AI agent development?<\/span><\/b><span data-contrast=\"none\">\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Python is the most common choice given its ecosystem of agent frameworks and LLM SDKs, though JavaScript\/TypeScript and .NET are also\u00a0viable\u00a0depending on your existing stack and which framework you choose.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">Which framework is best for building AI agents?\u00a0<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">There&#8217;s\u00a0no single best framework;\u00a0LangGraph\u00a0suits complex branching workflows,\u00a0CrewAI\u00a0suits multi-agent collaboration,\u00a0LlamaIndex\u00a0suits retrieval-heavy tasks, and the right choice follows your architecture decision rather than the reverse.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">How long does it take to build an AI agent?\u00a0<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">A narrow, single-agent prototype can take a few weeks; a production-grade agent with proper guardrails, evaluation, and enterprise integrations typically takes\u00a0considerably longer, depending on the number of tools and systems involved.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">How much does it cost to build an AI agent?\u00a0<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Cost depends on model usage, development effort, infrastructure, and ongoing evaluation and maintenance; a simple prototype costs far less than a production system with full guardrails and monitoring in place.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">What&#8217;s\u00a0the difference between an AI agent and a chatbot?\u00a0<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">A chatbot responds to what\u00a0it&#8217;s\u00a0asked. An AI agent can be given a goal, plan multiple steps, call tools, and\u00a0take action\u00a0across systems\u00a0largely on\u00a0its own, within defined boundaries.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">How do AI agents use APIs and external tools?\u00a0<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Through function or tool calling: the model decides which tool a task requires, the tool executes with validated inputs, and the result returns to the agent to inform its next decision.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"none\">How do you test an AI agent before deployment?<\/span><\/b><span data-contrast=\"none\">\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">By combining conventional software testing with agent-specific evaluation: tool-call accuracy, task success rate\u00a0and\u00a0escalation rate, tested against realistic scenarios and failure cases,\u00a0not\u00a0just happy\u00a0paths.<\/span><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"Key Takeaways Begin with a practical use case: Define the users, task, goal, and constraints involved before you choose an agent type, model, or framework. Develop the\u00a0appropriate architecture: A good&hellip;\n","protected":false},"author":21,"featured_media":23333,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"ub_ctt_via":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-23329","post","type-post","status-publish","format-standard","has-post-thumbnail","category-technology"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"Learn how to build AI agents step by step with their architecture, tools, memory, guardrails, testing, and deployment, with a practical checklist included.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Shaili Gupta\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.sphinx-solution.com\/blog\/how-to-build-ai-agents\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Software Development, AI &amp; Technology Blog | Sphinx Solutions -\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"How To Build AI Agents: A Step-by-Step Development Guide\" \/>\n\t\t<meta property=\"og:description\" content=\"Learn how to build AI agents step by step with their architecture, tools, memory, guardrails, testing, and deployment, with a practical checklist included.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.sphinx-solution.com\/blog\/how-to-build-ai-agents\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-09-25T10:52:16+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-09-25T10:52:16+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"How To Build AI Agents: A Step-by-Step Development Guide\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Learn how to build AI agents step by step with their architecture, tools, memory, guardrails, testing, and deployment, with a practical checklist included.\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/how-to-build-ai-agents\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/how-to-build-ai-agents\\\/#listItem\",\"name\":\"How To Build AI Agents: A Step-by-Step Development Guide\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/how-to-build-ai-agents\\\/#listItem\",\"position\":3,\"name\":\"How To Build AI Agents: A Step-by-Step Development Guide\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/#organization\",\"name\":\"Software Development, AI & Technology Blog | Sphinx Solutions\",\"url\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/author\\\/shaili-gupta\\\/#author\",\"url\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/author\\\/shaili-gupta\\\/\",\"name\":\"Shaili Gupta\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/how-to-build-ai-agents\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d6fe8286f8710717dc303435461506c38eef8d6f74be7af7ce1171dd17db1443?s=96&r=g\",\"width\":96,\"height\":96,\"caption\":\"Shaili Gupta\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/how-to-build-ai-agents\\\/#webpage\",\"url\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/how-to-build-ai-agents\\\/\",\"name\":\"How To Build AI Agents: A Step-by-Step Development Guide\",\"description\":\"Learn how to build AI agents step by step with their architecture, tools, memory, guardrails, testing, and deployment, with a practical checklist included.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/how-to-build-ai-agents\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/author\\\/shaili-gupta\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/author\\\/shaili-gupta\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/How-To-Build-AI-Agents_-A-Step-by-Step-Development-Guide_.webp\",\"@id\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/how-to-build-ai-agents\\\/#mainImage\",\"width\":750,\"height\":421,\"caption\":\"How To Build AI Agents\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/how-to-build-ai-agents\\\/#mainImage\"},\"datePublished\":\"2026-09-25T10:52:16+00:00\",\"dateModified\":\"2026-09-25T10:52:16+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/\",\"name\":\"Software Development, AI & Technology Blog | Sphinx Solutions\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.sphinx-solution.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"How To Build AI Agents: A Step-by-Step Development Guide","description":"Learn how to build AI agents step by step with their architecture, tools, memory, guardrails, testing, and deployment, with a practical checklist included.","canonical_url":"https:\/\/www.sphinx-solution.com\/blog\/how-to-build-ai-agents\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/www.sphinx-solution.com\/blog\/how-to-build-ai-agents\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.sphinx-solution.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.sphinx-solution.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.sphinx-solution.com\/blog\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/www.sphinx-solution.com\/blog\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/www.sphinx-solution.com\/blog\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.sphinx-solution.com\/blog\/how-to-build-ai-agents\/#listItem","name":"How To Build AI Agents: A Step-by-Step Development Guide"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.sphinx-solution.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.sphinx-solution.com\/blog\/how-to-build-ai-agents\/#listItem","position":3,"name":"How To Build AI Agents: A Step-by-Step Development Guide","previousItem":{"@type":"ListItem","@id":"https:\/\/www.sphinx-solution.com\/blog\/category\/technology\/#listItem","name":"Technology"}}]},{"@type":"Organization","@id":"https:\/\/www.sphinx-solution.com\/blog\/#organization","name":"Software Development, AI & Technology Blog | Sphinx Solutions","url":"https:\/\/www.sphinx-solution.com\/blog\/"},{"@type":"Person","@id":"https:\/\/www.sphinx-solution.com\/blog\/author\/shaili-gupta\/#author","url":"https:\/\/www.sphinx-solution.com\/blog\/author\/shaili-gupta\/","name":"Shaili Gupta","image":{"@type":"ImageObject","@id":"https:\/\/www.sphinx-solution.com\/blog\/how-to-build-ai-agents\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/d6fe8286f8710717dc303435461506c38eef8d6f74be7af7ce1171dd17db1443?s=96&r=g","width":96,"height":96,"caption":"Shaili Gupta"}},{"@type":"WebPage","@id":"https:\/\/www.sphinx-solution.com\/blog\/how-to-build-ai-agents\/#webpage","url":"https:\/\/www.sphinx-solution.com\/blog\/how-to-build-ai-agents\/","name":"How To Build AI Agents: A Step-by-Step Development Guide","description":"Learn how to build AI agents step by step with their architecture, tools, memory, guardrails, testing, and deployment, with a practical checklist included.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.sphinx-solution.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.sphinx-solution.com\/blog\/how-to-build-ai-agents\/#breadcrumblist"},"author":{"@id":"https:\/\/www.sphinx-solution.com\/blog\/author\/shaili-gupta\/#author"},"creator":{"@id":"https:\/\/www.sphinx-solution.com\/blog\/author\/shaili-gupta\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.sphinx-solution.com\/blog\/wp-content\/uploads\/2026\/09\/How-To-Build-AI-Agents_-A-Step-by-Step-Development-Guide_.webp","@id":"https:\/\/www.sphinx-solution.com\/blog\/how-to-build-ai-agents\/#mainImage","width":750,"height":421,"caption":"How To Build AI Agents"},"primaryImageOfPage":{"@id":"https:\/\/www.sphinx-solution.com\/blog\/how-to-build-ai-agents\/#mainImage"},"datePublished":"2026-09-25T10:52:16+00:00","dateModified":"2026-09-25T10:52:16+00:00"},{"@type":"WebSite","@id":"https:\/\/www.sphinx-solution.com\/blog\/#website","url":"https:\/\/www.sphinx-solution.com\/blog\/","name":"Software Development, AI & Technology Blog | Sphinx Solutions","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.sphinx-solution.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Software Development, AI &amp; Technology Blog | Sphinx Solutions -","og:type":"article","og:title":"How To Build AI Agents: A Step-by-Step Development Guide","og:description":"Learn how to build AI agents step by step with their architecture, tools, memory, guardrails, testing, and deployment, with a practical checklist included.","og:url":"https:\/\/www.sphinx-solution.com\/blog\/how-to-build-ai-agents\/","article:published_time":"2026-09-25T10:52:16+00:00","article:modified_time":"2026-09-25T10:52:16+00:00","twitter:card":"summary_large_image","twitter:title":"How To Build AI Agents: A Step-by-Step Development Guide","twitter:description":"Learn how to build AI agents step by step with their architecture, tools, memory, guardrails, testing, and deployment, with a practical checklist included."},"aioseo_meta_data":{"post_id":"23329","title":"How To Build AI Agents: A Step-by-Step Development Guide","description":"Learn how to build AI agents step by step with their architecture, tools, memory, guardrails, testing, and deployment, with a practical checklist included.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"limit_modified_date":false,"created":"2026-09-24 04:09:56","updated":"2026-09-25 12:27:49","ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.sphinx-solution.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.sphinx-solution.com\/blog\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tHow To Build AI Agents: A Step-by-Step Development Guide\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.sphinx-solution.com\/blog"},{"label":"Technology","link":"https:\/\/www.sphinx-solution.com\/blog\/category\/technology\/"},{"label":"How To Build AI Agents: A Step-by-Step Development Guide","link":"https:\/\/www.sphinx-solution.com\/blog\/how-to-build-ai-agents\/"}],"featured_image_src":"https:\/\/www.sphinx-solution.com\/blog\/wp-content\/uploads\/2026\/09\/How-To-Build-AI-Agents_-A-Step-by-Step-Development-Guide_.webp","author_info":{"display_name":"Shaili Gupta","author_link":"https:\/\/www.sphinx-solution.com\/blog\/author\/shaili-gupta\/"},"_links":{"self":[{"href":"https:\/\/www.sphinx-solution.com\/blog\/wp-json\/wp\/v2\/posts\/23329","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sphinx-solution.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sphinx-solution.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sphinx-solution.com\/blog\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sphinx-solution.com\/blog\/wp-json\/wp\/v2\/comments?post=23329"}],"version-history":[{"count":4,"href":"https:\/\/www.sphinx-solution.com\/blog\/wp-json\/wp\/v2\/posts\/23329\/revisions"}],"predecessor-version":[{"id":23338,"href":"https:\/\/www.sphinx-solution.com\/blog\/wp-json\/wp\/v2\/posts\/23329\/revisions\/23338"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sphinx-solution.com\/blog\/wp-json\/wp\/v2\/media\/23333"}],"wp:attachment":[{"href":"https:\/\/www.sphinx-solution.com\/blog\/wp-json\/wp\/v2\/media?parent=23329"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sphinx-solution.com\/blog\/wp-json\/wp\/v2\/categories?post=23329"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sphinx-solution.com\/blog\/wp-json\/wp\/v2\/tags?post=23329"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}