<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Arjun</title>
    <description>The latest articles on DEV Community by Arjun (@arjun_07).</description>
    <link>https://dev.to/arjun_07</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3915576%2F7a639700-3c5b-4443-af02-9e6825ce25f9.png</url>
      <title>DEV Community: Arjun</title>
      <link>https://dev.to/arjun_07</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/arjun_07"/>
    <language>en</language>
    <item>
      <title>You're Not Building an AI Agent. You're Building a Very Expensive Chatbot.</title>
      <dc:creator>Arjun</dc:creator>
      <pubDate>Wed, 13 May 2026 06:15:52 +0000</pubDate>
      <link>https://dev.to/arjun_07/youre-not-building-an-ai-agent-youre-building-a-very-expensive-chatbot-5f81</link>
      <guid>https://dev.to/arjun_07/youre-not-building-an-ai-agent-youre-building-a-very-expensive-chatbot-5f81</guid>
      <description>&lt;p&gt;&lt;em&gt;The architectural difference developers keep missing ,and why it's costing teams months of rework.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The ticket came in on a Friday: "We need an AI agent that handles customer onboarding end-to-end." By Tuesday, the team had a working demo. A polished chat interface. It asked the right questions. The stakeholders loved it.&lt;/p&gt;

&lt;p&gt;Six weeks later, it was in production doing approximately one thing: answering FAQ questions in a slightly fancier wrapper than the old help center.&lt;/p&gt;

&lt;p&gt;This pattern is everywhere right now. Teams ship what they call an "AI agent" and discover it is, functionally, a better-dressed chatbot. Not because the developers are cutting corners ,but because the distinction between the two architectures is still genuinely blurry in most sprint rooms, product briefs, and vendor pitches.&lt;/p&gt;

&lt;p&gt;It matters. Getting the architecture wrong at the start costs three to six months of rework. Here is what developers and technical decision-makers actually need to know.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Difference Is Architectural, Not a Marketing Label
&lt;/h2&gt;

&lt;p&gt;A chatbot responds. An AI agent acts.&lt;/p&gt;

&lt;p&gt;That sounds like a slogan, but the technical implication is significant. A chatbot ,even an LLM-powered one ,operates in a closed loop: user sends input, model generates output, conversation continues. It has no persistent state beyond the context window, no access to external systems unless explicitly hardwired, and no ability to decide whichtool to reach for based on the task at hand.&lt;/p&gt;

&lt;p&gt;The definition of an AI agent shifted significantly in 2025 ,from the academic framing of systems that "perceive, reason and act" to a more operational description: LLMs capable of using software tools and taking autonomous action, calling APIs, coordinating with other systems and completing tasks independently.&lt;/p&gt;

&lt;p&gt;The inflection point that made this practical was Anthropic's release of the Model Context Protocol in late 2024. MCP allowed developers to connect large language models to external tools in a standardized way, effectively giving models the ability to act beyond generating text. Before that, most "agentic" implementations were brittle custom wiring.&lt;/p&gt;

&lt;p&gt;The architectural checklist is blunt: does the system have persistent memory across sessions, access to real tools and APIs it selects dynamically, a planning loop that breaks goals into sub-tasks, and a feedback mechanism that evaluates its own output? If the answer to most of those is no, it is a chatbot. A useful one, possibly. But not an agent.&lt;/p&gt;

&lt;p&gt;GeekyAnts' engineering team describes this precisely in their breakdown of &lt;a href="https://geekyants.com/blog/revolutionizing-business-process-automation-with-ai-agents" rel="noopener noreferrer"&gt;building AI agents vs chatbots:&lt;/a&gt; "Chatbots follow scripted flows and handle basic queries. AI agents go beyond ,they understand context, access tools, trigger APIs, and make decisions across complex workflows."&lt;/p&gt;

&lt;h2&gt;
  
  
  Where Developers Actually Get Burned
&lt;/h2&gt;

&lt;p&gt;The wrong architecture causes two distinct failure modes, and they hit at different points in the development cycle.&lt;/p&gt;

&lt;p&gt;The first failure arrives at demo. The team builds something with LangChain, hooks it into a few APIs, and it works ,in the demo environment, with the happy path, with a human watching and course-correcting. Production looks different. Edge cases, ambiguous user inputs, and multi-step tasks that require the agent to recover from a failed tool call all expose the fact that the "reasoning" layer was mostly prompt engineering, not genuine planning. Agentic systems often trade latency and cost for better task performance, and teams should consider carefully when this tradeoff makes sense.&lt;/p&gt;

&lt;p&gt;The second failure arrives at scale. Teams that build chatbot architectures and call them agents hit a wall when the use case grows. Adding a new workflow means hardwiring new paths. Memory doesn't carry context across sessions. Observability is non-existent. Debugging a multi-tool failure chain in production without proper logging is ,to use a technical term ,a nightmare.&lt;/p&gt;

&lt;p&gt;Real-world enterprise deployments tell a different story from the demos: Majesco's AI copilot achieved 23% faster task completion and 84% daily adoption rates when the underlying architecture matched the use case. The underreported part of that stat is how many deployments didn't achieve it because the architecture was mismatched from the start.&lt;/p&gt;

&lt;p&gt;GeekyAnts' Aman Soni &lt;a href="https://geekyants.com/en-us/blog/automating-the-boring-stuff-how-i-use-ai-agents-to-simplify-workflows" rel="noopener noreferrer"&gt;documented a practical example of this&lt;/a&gt; ,building a multi-agent SQL workflow where each agent handled a specific responsibility (query generation, validation, testing, response synthesis). That separation of concerns only works if the system is genuinely agentic. A chatbot would have collapsed that into a single prompt and called it done.&lt;/p&gt;

&lt;h2&gt;
  
  
  Choosing the Right Tool Before Writing the First Line
&lt;/h2&gt;

&lt;p&gt;The honest decision framework is not "chatbot vs agent." It is: how much autonomous decision-making does the task actually require?&lt;/p&gt;

&lt;p&gt;Most internal tools, customer FAQs, support ticket triage, and document summarization workflows do not need an agent. They need a well-designed chatbot with good retrieval (RAG), clear fallback handling, and fast response times. Building an agent here adds latency, cost, and debugging complexity with no user-facing benefit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where agents become necessary:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The task requires multi-step execution across different systems that cannot be predetermined at build time. Order processing that touches inventory, payments, notifications, and CRM simultaneously ,that is an agent problem.&lt;/li&gt;
&lt;li&gt;The system must recover from failures mid-task without human intervention, re-plan based on new information, and maintain state across a session that spans days, not messages.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For multi-stage or multi-agent pipelines ,supply chain management, financial trading, complex support escalations ,orchestrated workflows offer better performance control. Agents are appropriate for tasks requiring flexibility and model-driven decision-making at scale. For simple, self-contained tasks, a well-structured chain is usually sufficient.&lt;/p&gt;

&lt;p&gt;GeekyAnts has published a useful comparison of&lt;a href="https://geekyants.com/blog/rag-vs-fine-tuning-vs-ai-agents-which-architecture-fits-your-use-case" rel="noopener noreferrer"&gt; RAG vs fine-tuning vs AI agents&lt;/a&gt; that maps use cases to architecture choices without defaulting to "always use the most complex option." It is worth reading before committing to a stack.&lt;/p&gt;

&lt;p&gt;The framework decision also has cost implications. Many applications are fully served by optimizing a single LLM call with retrieval and in-context examples. Reaching for agent architecture before validating that simpler approaches fail is a common and expensive mistake.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Part Nobody Puts in the Sprint Brief
&lt;/h2&gt;

&lt;p&gt;There is a conversation that happens in most teams after a chatbot-marketed-as-agent ships and underperforms. Someone says the model needs to be smarter. Someone else says the prompts need work. The actual answer, usually, is that the architecture was wrong before the first commit landed.&lt;/p&gt;

&lt;p&gt;The distinction between a chatbot and an AI agent is not a vocabulary debate. It determines memory strategy, tool integration design, observability requirements, cost modeling, and how the system behaves when something goes wrong at 2am on a Sunday.&lt;/p&gt;

&lt;p&gt;Get the architecture decision right first. The frameworks ,LangChain, LangGraph, CrewAI, AutoGen, Google's ADK ,are all buildable once the decision is clear. GeekyAnts' &lt;a href="https://geekyants.com/en-us/blog/building-ai-agents-a-step-by-step-guide-to-designing-deploying-and-optimizing-your-intelligent-solutions" rel="noopener noreferrer"&gt;step-by-step guide to building and deploying AI agents&lt;/a&gt; covers the implementation path once the architecture decision is made.&lt;/p&gt;

&lt;p&gt;The demo worked. The question is whether the architecture behind it is built for what comes after the demo.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>llm</category>
      <category>agents</category>
    </item>
    <item>
      <title>Inside a Real-Time AI Fraud Detection Engine That Makes Decisions in Under 50ms</title>
      <dc:creator>Arjun</dc:creator>
      <pubDate>Wed, 06 May 2026 08:53:43 +0000</pubDate>
      <link>https://dev.to/arjun_07/inside-a-real-time-ai-fraud-detection-engine-that-makes-decisions-in-under-50ms-4n1j</link>
      <guid>https://dev.to/arjun_07/inside-a-real-time-ai-fraud-detection-engine-that-makes-decisions-in-under-50ms-4n1j</guid>
      <description>&lt;p&gt;Every time a payment is submitted, a system somewhere has a matter of milliseconds to decide whether it's legitimate. Not seconds. Milliseconds. By the time the loading spinner appears on your screen, the verdict has already been issued.&lt;/p&gt;

&lt;p&gt;That constraint ,act fast or be useless ,is what makes fraud detection one of the most interesting engineering challenges in fintech. This article breaks down how a production-grade, real-time fraud engine actually works: the architecture, the tradeoffs, and the decisions that make sub-50ms possible.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Real Problem With Fraud Systems Today
&lt;/h2&gt;

&lt;p&gt;The naive version of fraud detection is simple: write rules. Block transactions over a certain amount. Flag new devices. Reject international transfers from accounts that have never made them.&lt;/p&gt;

&lt;p&gt;That works until it doesn't.&lt;/p&gt;

&lt;p&gt;Modern financial platforms process tens of thousands of transactions per minute. Fraudsters adapt quickly. Static rules age out. And the collateral damage ,legitimate transactions blocked because they look unusual ,quietly destroys user trust. A customer whose payment gets declined at a restaurant doesn't file a complaint. They just switch banks&lt;br&gt;
.&lt;br&gt;
Four compounding problems define the current state of fraud systems:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Volume at scale&lt;/strong&gt;. No human review queue can keep up. The system must make autonomous decisions, every time, without a queue.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Legacy latency&lt;/strong&gt;. Many fraud systems were built when a two-second check was acceptable. Today, a two-second delay is noticeable. Users expect payments to feel instant.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;False positive rates&lt;/strong&gt;. Overly aggressive models block real customers. Under-tuned models miss actual fraud. Both outcomes cost money.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Explainability gaps&lt;/strong&gt;. Regulators increasingly require that automated financial decisions come with a reason. "The model said no" isn't a compliant answer.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a Modern Fraud Engine Actually Looks Like
&lt;/h2&gt;

&lt;p&gt;The solution isn't a single smarter model. It's a system made of specialized components that work in coordination.&lt;/p&gt;

&lt;h2&gt;
  
  
  Machine Learning for Behavioral Anomalies
&lt;/h2&gt;

&lt;p&gt;An ML model trained on transaction history can detect patterns that no human would think to write a rule for. A user who always pays for groceries in one neighborhood, then suddenly makes a high-value purchase from a device in another country ,that's a behavioral drift the model picks up on, even if no explicit rule covers it.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Rules Engine for Known Attack Patterns
&lt;/h2&gt;

&lt;p&gt;Purely learned models have a weakness: they need examples. If a new fraud vector appears that the model has never seen, it won't catch it. Rules handle the known universe: velocity limits, block lists, device fingerprint anomalies, card testing patterns. Rules are fast, auditable, and precise.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI Reasoning for Explanation
&lt;/h2&gt;

&lt;p&gt;This is the layer that often gets skipped in engineering discussions, but it's increasingly non-negotiable. An LLM layer (or a structured reasoning module) generates a human-readable explanation for why a transaction was flagged. This serves compliance, powers customer support, and makes the system debuggable by the engineers maintaining it.&lt;/p&gt;

&lt;p&gt;No single one of these layers is sufficient on its own. The fraud engine is the combination.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the Pipeline Works, Step by Step
&lt;/h2&gt;

&lt;p&gt;Here's the end-to-end flow of a transaction moving through a production fraud engine:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Signal Collection&lt;/strong&gt;&lt;br&gt;
When a transaction arrives, the system immediately gathers context: device fingerprint, IP geolocation, session behavior (how fast the user is typing, whether they copied and pasted fields), and historical patterns for that user. This signal package is assembled in parallel ,not sequentially ,to minimize latency.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Fraud Categorization&lt;/strong&gt;&lt;br&gt;
Before scoring, the system classifies the type of risk being evaluated. Is this potentially account takeover? Card-not-present fraud? Synthetic identity? The category determines which downstream models and rules are most relevant.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Risk Scoring&lt;/strong&gt;&lt;br&gt;
The ML model runs against the collected signals and returns a probability score. The rules engine runs simultaneously, checking the transaction against known patterns. Both outputs feed into an aggregation layer that produces a single composite risk score.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Decision&lt;/strong&gt;&lt;br&gt;
The composite score maps to one of three outcomes: approve, challenge (step-up authentication like OTP), or block. Thresholds are tunable per merchant, per transaction type, and per user segment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Explanation Generation&lt;/strong&gt;&lt;br&gt;
For any flagged transaction, the reasoning layer generates a structured explanation. Something like: "Transaction flagged due to device mismatch combined with velocity anomaly ,three transactions in 90 seconds from two different countries." This gets logged, surfaced to compliance tools, and used in customer communication if the user disputes.&lt;/p&gt;

&lt;p&gt;The Key Insight: Separate Your Fast Path from Your Deep Path&lt;/p&gt;

&lt;p&gt;This is the architectural decision that makes sub-50ms realistic.&lt;/p&gt;

&lt;p&gt;Not every decision needs the same depth of analysis. A transaction that matches a known fraud fingerprint exactly can be blocked in under 15ms via the rules engine alone. A transaction with ambiguous signals needs deeper analysis ,but that deeper analysis doesn't have to block the primary response.&lt;/p&gt;

&lt;p&gt;The pattern that works in production:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fast path (5–15ms):&lt;/strong&gt; Rules engine + cached ML inference on pre-computed user features. Returns a decision immediately. Handles the majority of clear-cut cases.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deep path (~200ms, asynchronous)&lt;/strong&gt;: Full ML inference, behavioral sequence modeling, cross-account graph analysis. Runs in the background. If the deep path disagrees with the fast path decision, it can trigger a follow-up action ,not reverse the initial decision, but queue a secondary review or increase monitoring on the account.&lt;/p&gt;

&lt;p&gt;Separating these paths means the user experience never waits on the heavy computation. The system feels instant. The sophisticated analysis still happens; it just doesn't block the response.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Hybrid Systems Win
&lt;/h2&gt;

&lt;p&gt;It's tempting to frame this as "ML vs. rules" and pick a side. In practice, the two approaches have complementary failure modes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rules&lt;/strong&gt; are interpretable, fast, and excellent at catching known attack patterns. They degrade when fraud evolves in ways the rule authors didn't anticipate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ML models&lt;/strong&gt; generalize across unseen patterns and adapt to behavioral drift. They're opaque, require training data for each new fraud type, and can drift silently if monitoring isn't tight.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LLM-based reasoning&lt;/strong&gt; adds the explainability layer that neither rules nor ML models natively provide. It's the component that makes the system auditable.&lt;/p&gt;

&lt;p&gt;Together, the three layers cover each other's weaknesses. Rules handle the known. ML handles the novel. Reasoning handles the explainability requirement. Some engineering teams are already shipping this in production ,&lt;strong&gt;GeekyAnts&lt;/strong&gt; published a &lt;a href="https://geekyants.com/blog/a-real-time-ai-fraud-decision-engine-under-50ms" rel="noopener noreferrer"&gt;detailed breakdown of how they built exactly this kind of multi-agent fraud pipeline&lt;/a&gt; if you want a concrete reference point.&lt;/p&gt;

&lt;p&gt;Real-World Takeaways for Engineers&lt;/p&gt;

&lt;p&gt;If you're building or evaluating a fraud system ,or any real-time decision system ,these are the things worth internalizing:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Latency is a product requirement, not just an engineering metric.&lt;/strong&gt; The 50ms target isn't arbitrary. It's derived from what users perceive as "instant." Build your SLAs from that constraint backward.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Explainability is a first-class concern.&lt;/strong&gt; Compliance requirements are tightening globally. If your system can't generate a structured, human-readable rationale for a decision, you're accumulating regulatory debt. Build the explanation layer early, not as an afterthought.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Observability is different in distributed pipelines&lt;/strong&gt;. When your decision engine spans a rules service, an ML inference endpoint, and a reasoning module, a single slow component can cascade. Instrument every layer independently. Track p95 and p99 latency per stage, not just end-to-end.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A single model is a single point of failure&lt;/strong&gt;. The model that catches 95% of fraud today will miss a new attack vector tomorrow. Hybrid architecture gives you fallback depth. When one layer fails to catch something, another layer might.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cache aggressively, but carefully&lt;/strong&gt;. Pre-computed user feature vectors dramatically reduce inference latency. But stale features can introduce subtle bugs ,a user's "normal" location from 12 hours ago might not reflect their current context. Build cache invalidation logic that's aware of the feature's temporal sensitivity.&lt;/p&gt;

&lt;p&gt;Building systems like this is a balance of product thinking and systems engineering. The fraud problem is ultimately a latency problem, a data problem, and a trust problem at the same time. The teams that treat all three seriously are the ones shipping fraud engines that actually work in production.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>automation</category>
    </item>
  </channel>
</rss>
