Skip to content

Insights

The road to agentic AI

Shahin Namin
Shahin Namin

What comes after copilots? It’s a question more organisations are starting to explore with agentic AI. 

AI tools like off-the-shelf chat-based assistants are great for individual productivity by automating routine work. But that’s not enough to transform how an organisation operates. Real impact comes when generative AI is embedded into systems, services and workflows that scale.

That’s where agentic AI starts to matter.

Agentic AI isn’t just about productivity. It’s about delegation, giving systems more responsibility for planning, coordinating or completing tasks. That shift raises the bar for system design and needs infrastructure that can support dynamic, adaptive workflows. And while some tasks may be fully automated, many still require humans in the loop, especially when decisions have real consequences.

It sounds powerful. And it is. But applying agentic AI in the real world is messy. Can we trust it? Will it behave consistently? How does it fit with the current stack? These questions get harder, not easier, as the systems get more capable.

If you’re not building agents yet, that’s OK. Most teams aren’t. They’re still working out prompts, patterns, and pipelines. That’s not wasted effort. In fact, it’s essential. Those capabilities are the foundation that more advanced systems build on.

At DiUS, we’ve worked with teams at every stage of the journey, from first prompts to full orchestration. This blog is for anyone navigating that shift, whether you’re leading an AI team, scaling a platform, or being asked to make something smarter.

Where agentic AI makes sense

A lot of early generative AI systems are built around prompts and static context. You give the model an input, it gives you an answer. But this falls short when the task has multiple steps or when the next step depends on what just happened.

That’s where agents become useful. They’re not about better answers. They’re about intelligent action.

In a developer workflow, that might mean parsing code, running it, and validating results. In a customer support flow, it could be classifying the request, deciding what’s needed, and triggering the right backend system. In healthcare, it might mean interpreting free text, checking patient history, and triggering the correct clinical workflow.

The more dynamic the environment, the more useful agentic patterns become.

Agents are suited to situations where:

    • The next step can’t be hard-coded in advance
    • Multiple tools need to be used in sequence
    • Autonomy creates speed or insight that wouldn’t be possible otherwise

    They’re not the right tool for every job. If the task is predictable and rule-based, use a flow engine or a deterministic pipeline. If you only need to call one tool with well-structured inputs, a good prompt is enough.

    From models to systems

    For many organisations, agents seem like the next logical step. They’ve already built generative AI capabilities, prompt pipelines, RAG systems, copilots, and expect to scale up by delegating responsibility. On the surface, it looks like a smooth progression: if generative AI can respond intelligently, then agents should be able to act intelligently too.

    But that’s not how it works in practice. And it’s not because the models aren’t capable, it’s because agentic AI introduces new levels of complexity: non-deterministic workflows, persistent context, system-level orchestration, real-world consequences. 

    And agent delegation can take many forms, embedded workflows inside products, internal services that support human decision making, or orchestration layers that span multiple tools. Each one brings different requirements for reliability, adaptability, and control, and places new demands on your system architecture, from orchestration and memory management to safe failure and observability.

    This is where many projects stall. Teams strong in prompt engineering often struggle to move beyond notebooks and prototypes. The skills that drive early wins, fast iteration, clever prompting, don’t always translate to production-grade systems. What’s needed is system thinking: designing for observability, fallback, coordination and real-world integration from the start. Because the hardest problems for teams aren’t about what the model can do, they’re about what the system needs to handle.

    Agentic systems don’t follow predictable logic. But they still need structure. That means managing persistent context, handling retries, controlling memory usage, and building guardrails for when things go wrong. These aren’t just prompt design problems, they’re classic software architecture challenges applied to an adaptive, reasoning system.

    We’ve seen better outcomes when teams include engineers with experience in distributed systems and software reliability, people who understand how to design for the messiness of the real world. That means building flows that reflect how people actually work, limiting retries to avoid loops, capping token usage, adding observability, and building rollback paths that fail safely.

    Some common failure patterns we’ve seen:

      • No orchestration: Agents behave erratically or get stuck in loops.
      • Misuse of tools: Wrong inputs, API failures, retries at the wrong time.
      • Memory exhaustion: Long chains of messages hit token limits and lose context.
      • No fallback or monitoring: Failures become invisible, and impossible to debug.
      • Workflow mismatch: The system doesn’t reflect how the process actually works.

      Each of these reflects the same truth: the hard part isn’t the model. It’s the system around it. And if you want agents to operate reliably, system thinking can’t be an afterthought.

      And even then, scale has hard limits. Most commercial APIs impose rate and token throughput constraints that become real blockers at scale. This isn’t just a system design challenge,  it’s an infrastructure one. Scaling agentic AI means designing with these realities in mind.

      These problems are solvable. But they won’t solve themselves. Moving from early success to real deployment means treating agentic AI like what it is: software. Complex, adaptive, and deeply connected to the systems around it.

      Getting started when your architecture fights you

      The earliest wins we’ve seen with agentic AI came from environments teams can control: greenfield projects, isolated services, or use cases with well-defined APIs and structured workflows. These contexts are naturally better suited to agentic patterns.

      But most organisations aren’t starting there. They’re working within fragmented systems, siloed data, and tightly coupled workflows that weren’t designed for autonomy. Most teams we work with don’t have modern, agent-ready infrastructure. And that’s OK. You can still get started, but your approach needs to be pragmatic, scoped, and grounded in the constraints of your current stack.

      We’ve seen progress when teams:

        • Add a human in the loop. In one project, an agent drafted responses to customer queries, with a support rep reviewing before sending. Speed improved, risk stayed low.
        • Wrap existing systems. Instead of rewriting older platforms, agents coordinated tools through existing APIs, acting more like controllers.
        • Start with agent-friendly domains. Use cases like customer support or internal FAQs often provide the right conditions to succeed early. Tasks are repetitive, context is predictable, and outputs are clearly defined.

        These patterns help prove value early and build momentum. You don’t need to modernise your entire infrastructure to get started.  In fact, doing that first can slow you down. Focus instead on the parts of your system that are flexible enough to support real experimentation. Modernising architecture might come later, once you’ve shown value and know where to invest.

        No matter where you start, security has to be part of the design. Agents act on behalf of users and often interact with sensitive data or trigger downstream actions. Route agent actions through scoped APIs, use clear guardrails, and isolate execution environments to reduce the blast radius when things go wrong. 

        Architecture is complex, and we’ll explore strategies for modernising it in a future post. But if you’re trying to make progress now, start by asking: where can an agent take action with minimal disruption? Use the five patterns outlined next  to help move from promising experiments to production-ready systems, the same way successful teams have already done.

        1. Design the orchestration first

        Start with the system, not the prompt. Agentic systems are dynamic, they respond differently depending on context, which makes clear orchestration essential. Map the steps, tools, decisions and failure modes. This makes gaps visible early, like APIs that need exposing or flows that don’t reflect how users actually work.

        We’ve seen success where teams validated their orchestration against known workflows and constraints, often before selecting a framework. Without this structure, agents are inconsistent at best and chaotic at worst.

        2. Use agents where autonomy matters

        Not every use case needs autonomy. If the process is fixed and predictable, use a pipeline. It’s faster to build, easier to govern, more cost-effective, and often more robust.

        We’ve worked with clients to digitise document workflows that initially looked like agent use cases, but on closer inspection, no decision-making was needed. Pipelines worked better: less complexity, lower overhead.

        Agent-based flows paid off when branching logic, context switching, or real-time inputs required flexible decision-making. In those situations, autonomy added speed and adaptability. But the value needs to outweigh the cost in both effort and infrastructure.

        Use agents where autonomy delivers real benefit, not just complexity for its own sake.

        3. Build for failure from the start

        Failure is not an edge case, it’s the default. Agentic systems go off track, loop, or break context. The key is designing for graceful failure and recovery.

        That means limiting retries, capping memory usage, validating tool calls, and adding observability hooks to trace issues.

        In nearly every RAG project we’ve done, these practices avoided silent failures and kept systems safe and stable. Reliability beats elegance in the early stages.

        4. Let the system design choose the framework

        Once you know what the agent needs to do, and how it fits into the broader system, the choice of framework becomes clearer. The goal is to match the tool to the orchestration, not the other way around.

        In projects we’ve delivered, LangGraph helped manage retry logic and structure task transitions. LlamaIndex has been useful for chaining tools and managing context in RAG-style systems. CrewAI made it easy for engineers to build and manage collaborative multi-agent systems. It was fast to prototype, easy to adapt, and ready for production.

        This space is evolving fast. New frameworks and updates are arriving every week. Keeping across what’s emerging isn’t just a nice-to-have, it directly affects how easily you can test, debug, and scale.

        Choosing the wrong tool adds friction in all the wrong places: poor observability, clunky debugging, or a mismatch with your system architecture. The right one helps you move faster, and safer.

        5. Match the agent’s behaviour to the task

        Every agent should have a clear role. Most fall into one of four common behaviour types:

          • Planning: Breaking a complex task into structured, executable steps
          • Tool use: Calling APIs, triggering workflows, or interacting with external systems
          • Routing: Directing a request to the right agent, tool, or response path
          • Reflection: Reviewing, critiquing or refining outputs for quality

          Choosing the right behaviour pattern early keeps your architecture clean and manageable. This decision shapes your orchestration, guardrails, and success metrics. It’s the foundation of system design.

          Skip it, and the agent is likely to overreach or become ungovernable. Start small, with one behaviour per agent and well-defined inputs and outputs. It’s easier to get right, and easier to build on.

          Smarter agents need smarter systems

          Agentic AI isn’t the endpoint of generative AI maturity. It’s one pattern, among many, that becomes powerful when the conditions are right.

          Even if you’re not building agents yet, the work you’re doing now, with prompts, copilots, RAG, or chat interfaces, is setting the stage. The foundations matter. Structured data, clean workflows, observability, and API access all make future autonomy more viable.

          The most successful teams we’ve worked with didn’t rush into building agents. They focused on getting the fundamentals right: stabilising pipelines, embedding guardrails, designing for security, and aligning systems with how work actually happens.

          They also recognised the shift isn’t just technical. It changes how software is designed, how teams collaborate, and how organisations learn to trust decisions made by machines. That’s what made it possible to introduce autonomy later,  without breaking trust.

          If you’re feeling the limits of what generative AI can do alone, or being asked to “build something smarter,” start by asking:

            • Do we know what the agent needs to do, and why?
            • Can we validate its outputs and step in if something goes wrong?
            • Will it fit into how people and systems actually operate today?

            If those are the questions you’re starting to ask, you’re already on the path. And if you want help working out what’s next, we’ve been there.

            Let’s make it happen

            Tell us where you’re at and we’ll map the buildable next step.
            A DiUS specialist will reply within one business day.