{"id":2796,"date":"2025-04-02T07:03:07","date_gmt":"2025-04-02T07:03:07","guid":{"rendered":"https:\/\/mailitics.com\/index.php\/2025\/04\/02\/agentic-ai-single-vs-multi-agent-systems\/"},"modified":"2025-04-02T07:03:07","modified_gmt":"2025-04-02T07:03:07","slug":"agentic-ai-single-vs-multi-agent-systems","status":"publish","type":"post","link":"https:\/\/mailitics.com\/index.php\/2025\/04\/02\/agentic-ai-single-vs-multi-agent-systems\/","title":{"rendered":"Agentic AI: Single vs Multi-Agent Systems"},"content":{"rendered":"<p>    Agentic AI: Single vs Multi-Agent Systems<br \/>\n \t<BR><br \/>\n<BR><\/BR><br \/>\n    <!-- no image --><br \/>\n \t<BR><br \/>\n<BR><\/BR><\/p>\n<div>\n<p class=\"wp-block-paragraph\"><mdspan datatext=\"el1743451266422\" class=\"mdspan-comment\">We\u2019ve seen this shift the last few years from building rigid programming systems to natural language-driven workflows, all made possible with more advanced large language models.<\/mdspan><\/p>\n<p class=\"wp-block-paragraph\">One of the interesting areas into these <a href=\"https:\/\/towardsdatascience.com\/tag\/agentic-ai\/\" title=\"Agentic Ai\">Agentic Ai<\/a> systems is the difference between building a single versus multi-agent workflow, or perhaps the difference between working with more flexible vs controlled systems. <\/p>\n<p class=\"wp-block-paragraph\">This article will help you understand what agentic AI is, how to build simple workflows with LangGraph, and the differences in results you can achieve with the different architectures. I\u2019ll demonstrate this by building a tech news agent with various data sources.<\/p>\n<p class=\"wp-block-paragraph\">As for the use case, I\u2019m a bit obsessed with getting automatic news updates, based on my preferences, without me drowning in information overload every day.<\/p>\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" height=\"483\" width=\"1024\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/contributor.insightmediagroup.io\/wp-content\/uploads\/2025\/04\/Skarmavbild-2025-04-01-kl.-14.16.09-1024x483.png?resize=1024%2C483&#038;ssl=1\" alt=\"\" class=\"wp-image-600920\"><figcaption class=\"wp-element-caption\">Having AI summarize for us instead of scouting info on our own | Image by author<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">Working with summarizing and gathering research is one of those areas that agentic AI can really shine. <\/p>\n<p class=\"wp-block-paragraph\">So follow along while I keep trying to make AI do the grunt work for me, and we\u2019ll see how single-agent compares to multi-agent setups.<\/p>\n<p class=\"wp-block-paragraph\"><em>I always keep my work jargon-free, so if you\u2019re new to agentic AI, this piece should help you understand what it is and how to work with it. If you\u2019re not new to it, you can scroll past some of the sections. <\/em><\/p>\n<h2 class=\"wp-block-heading\">Agentic AI (&amp; LLMs)<\/h2>\n<p class=\"wp-block-paragraph\">Agentic AI is about programming with natural language. Instead of using rigid, explicit code, you\u2019re instructing large language models (LLMs) to route data and perform actions through plain language in automating tasks.<\/p>\n<p class=\"wp-block-paragraph\">Using natural language in workflows isn\u2019t new, we\u2019ve used NLP for years to extract and process data. What\u2019s new is the amount of freedom we can now give language models, allowing them to handle ambiguity and make decisions dynamically.<\/p>\n<figure class=\"wp-block-image size-large\" datatext=\"\"><img data-recalc-dims=\"1\" height=\"297\" width=\"1024\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/contributor.insightmediagroup.io\/wp-content\/uploads\/2025\/04\/Skarmavbild-2025-04-01-kl.-14.14.49-1024x297.png?resize=1024%2C297&#038;ssl=1\" alt=\"\" class=\"wp-image-600919\"><figcaption class=\"wp-element-caption\">Traditional automation from programmatic to NLP to LLMs | Image by author<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">But just because LLMs can understand nuanced language doesn\u2019t mean they inherently validate facts or maintain data integrity. I see them primarily as a communication layer that sits on top of structured systems and existing data sources.<\/p>\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" height=\"493\" width=\"1024\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/contributor.insightmediagroup.io\/wp-content\/uploads\/2025\/04\/Skarmavbild-2025-04-01-kl.-14.23.58-1024x493.png?resize=1024%2C493&#038;ssl=1\" alt=\"\" class=\"wp-image-600922\"><figcaption class=\"wp-element-caption\">LLMs is a communication layer and not the system itself | Image by author<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">I usually explain it like this to non-technical people: they work a bit like we do. If we don\u2019t have access to clean, structured data, we start making things up. Same with LLMs. They generate responses based on patterns, not truth-checking.<\/p>\n<p class=\"wp-block-paragraph\">So just like us, they do their best with what they\u2019ve got. If we want better output, we need to build systems that give them reliable data to work with. So, with Agentic systems we integrate ways for them to interact with different data sources, tools and systems.<\/p>\n<p class=\"wp-block-paragraph\">Now, just because we <em>can<\/em> use these larger models in more places, doesn\u2019t mean we <em>should<\/em>. LLMs shine when interpreting nuanced natural language, think customer service, research, or human-in-the-loop collaboration.<\/p>\n<p class=\"wp-block-paragraph\">But for structured tasks \u2014 like extracting numbers and sending them somewhere \u2014 you need to use traditional approaches. LLMs aren\u2019t inherently better at math than a calculator. So, instead of having an LLM do calculations, you give an LLM access to a calculator.<\/p>\n<p class=\"wp-block-paragraph\">So whenever you <em>can<\/em> build parts of a workflow programmatically, that will still be the better option. <\/p>\n<p class=\"wp-block-paragraph\">Nevertheless, LLMs are great at adapting to messy real-world input and interpreting vague instructions so combining the two can be a great way to build systems. <\/p>\n<h2 class=\"wp-block-heading\">Agentic Frameworks<\/h2>\n<p class=\"wp-block-paragraph\">I know a lot of people jump straight to CrewAI or AutoGen here, but I\u2019d recommend checking out <a href=\"https:\/\/www.langchain.com\/langgraph\">LangGraph<\/a>, <a href=\"https:\/\/github.com\/agno-agi\/agno\">Agno<\/a>, <a href=\"https:\/\/github.com\/mastra-ai\/mastra\">Mastra<\/a>, and <a href=\"https:\/\/github.com\/huggingface\/smolagents\">Smolagents<\/a>. Based on my research, these frameworks have received some of the strongest feedback so far.<\/p>\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" height=\"437\" width=\"1024\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/contributor.insightmediagroup.io\/wp-content\/uploads\/2025\/04\/Skarmavbild-2025-04-01-kl.-14.45.34-1024x437.png?resize=1024%2C437&#038;ssl=1\" alt=\"\" class=\"wp-image-600923\"><figcaption class=\"wp-element-caption\">I collect resources in a Github repo <a href=\"https:\/\/github.com\/ilsilfverskiold\/Awesome-LLM-Resources-List\/tree\/main?tab=readme-ov-file#top-agentic-frameworks\">here<\/a> with the most popular frameworks | Image by author<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">LangGraph is more technical and can be complex, but it\u2019s the preferred choice for many developers. Agno is easier to get started with but less technical. Mastra is a solid option for JavaScript developers, and Smolagents shows a lot of promise as a lightweight alternative.<\/p>\n<p class=\"wp-block-paragraph\">In this case, I\u2019ve gone with LangGraph \u2014 built on top of LangChain \u2014 not because it\u2019s my favorite, but because it\u2019s becoming a go-to framework that more devs are adopting.<\/p>\n<p class=\"wp-block-paragraph\">So, it\u2019s worth being familiar with.<\/p>\n<p class=\"wp-block-paragraph\">It has a lot of abstractions though, where you may want to rebuild some of it just to be able to control and understand it better.<\/p>\n<p class=\"wp-block-paragraph\">I will not go into detail on LangGraph here, so I decided to build a quick <a href=\"https:\/\/howtouseai.substack.com\/p\/agentic-ai-frameworks-learning-langgraph\" data-type=\"link\" data-id=\"https:\/\/howtouseai.substack.com\/p\/agentic-ai-frameworks-learning-langgraph\">guide<\/a> for those that need to get a review.<\/p>\n<p class=\"wp-block-paragraph\">As for this use case, you\u2019ll be able to run the workflow without coding anything, but if you\u2019re here to learn you may also want to understand how it works. <\/p>\n<h2 class=\"wp-block-heading\">Choosing an LLM<\/h2>\n<p class=\"wp-block-paragraph\">Now, you might jump into this and wonder why I\u2019m choosing certain LLMs as the base for the agents.<\/p>\n<p class=\"wp-block-paragraph\">You can\u2019t just pick any model, especially when working within a framework. They need to be compatible. Key things to look for are tool calling support and the ability to generate structured outputs.<\/p>\n<p class=\"wp-block-paragraph\">I\u2019d recommend checking HuggingFace\u2019s Agent <a href=\"https:\/\/huggingface.co\/spaces\/galileo-ai\/agent-leaderboard\">Leaderboard<\/a> to see which models actually perform well in real-world agentic systems.<\/p>\n<p class=\"wp-block-paragraph\">For this workflow, you should be fine using models from Anthropic, OpenAI, or Google. If you\u2019re considering another one, just make sure it\u2019s compatible with LangChain.<\/p>\n<h2 class=\"wp-block-heading\">Single vs. Multi-Agent Systems<\/h2>\n<p class=\"wp-block-paragraph\">If you build a system around one LLM and give it a bunch of tools you want it to use, you\u2019re working with a single-agent workflow. It\u2019s fast, and if you\u2019re new to agentic AI, it might seem like the model should just figure things out on its own.<\/p>\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" height=\"418\" width=\"1024\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/contributor.insightmediagroup.io\/wp-content\/uploads\/2025\/04\/Skarmavbild-2025-04-01-kl.-14.51.22-1024x418.png?resize=1024%2C418&#038;ssl=1\" alt=\"\" class=\"wp-image-600924\"><figcaption class=\"wp-element-caption\">One agent has access to many tools | Image by author<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">But the thing is these workflows are just another form of system design. Like any software project, you need to plan the process, define the steps, structure the logic, and decide how each part should behave.<\/p>\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" height=\"549\" width=\"1024\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/contributor.insightmediagroup.io\/wp-content\/uploads\/2025\/04\/Skarmavbild-2025-04-01-kl.-14.56.21-1024x549.png?resize=1024%2C549&#038;ssl=1\" alt=\"\" class=\"wp-image-600925\"><figcaption class=\"wp-element-caption\">Think about how the logic should work for your use case | Image by author<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">This is where multi-agent workflows come in. <\/p>\n<p class=\"wp-block-paragraph\">Not all of them are hierarchical or linear though, some are collaborative. Collaborative workflows would then also fall into the more flexible approach that I find more difficult to work with, at least as it is now with the capabilities that exist. <\/p>\n<p class=\"wp-block-paragraph\">However, collaborative workflows do also break apart different functions into their own modules.<\/p>\n<p class=\"wp-block-paragraph\">Single-agent and collaborative workflows are great to start with when you\u2019re just playing around, but they don\u2019t always give you the precision needed for actual tasks. <\/p>\n<p class=\"wp-block-paragraph\">For the workflow I will build here, I already know how the APIs should be used \u2014 so it\u2019s my job to guide the system to use it the right way.<\/p>\n<p class=\"wp-block-paragraph\">We\u2019ll go through comparing a single-agent setup with a hierarchical multi-agent system, where a lead agent delegates tasks across a small team so you can see how they behave in practice.<\/p>\n<h2 class=\"wp-block-heading\">Building a Single Agent Workflow<\/h2>\n<p class=\"wp-block-paragraph\">With a single thread \u2014 i.e., one agent \u2014 we give an LLM access to several tools. It\u2019s up to the agent to decide which tool to use and when, based on the user\u2019s question.<\/p>\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" height=\"509\" width=\"1024\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/contributor.insightmediagroup.io\/wp-content\/uploads\/2025\/04\/Skarmavbild-2025-04-01-kl.-15.27.17-1024x509.png?resize=1024%2C509&#038;ssl=1\" alt=\"\" class=\"wp-image-600927\"><figcaption class=\"wp-element-caption\">One LLM\/Agent has access to many tool with many options | Image by author<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">The challenge with a single agent is control. <\/p>\n<p class=\"wp-block-paragraph\">No matter how detailed the system prompt is, the model may not follow our requests (this can happen in more controlled environments too). If we give it too many tools or options, there\u2019s a good chance it won\u2019t use all of them or even use the right ones.<\/p>\n<p class=\"wp-block-paragraph\">To illustrate this, we\u2019ll build a tech news agent that has access to several API endpoints with custom data with several options as parameters in the tools. It\u2019s up to the agent to decide how many to use and how to setup the final summary.<\/p>\n<p class=\"wp-block-paragraph\"><em>Remember, I build these workflows using LangGraph. I won\u2019t go into LangGraph in depth here, so if you want to learn the basics to be able to tweak the code, <a href=\"https:\/\/howtouseai.substack.com\/p\/agentic-ai-frameworks-learning-langgraph\">go here<\/a>.<\/em><\/p>\n<p class=\"wp-block-paragraph\">You can find the single-agent workflow <a href=\"https:\/\/github.com\/ilsilfverskiold\/Awesome-LLM-Resources-List\/tree\/main\/guides\/langgraph\/single-agent-workflow\">here<\/a>. To run it, you\u2019ll need LangGraph Studio and the latest version of Docker installed.<\/p>\n<p class=\"wp-block-paragraph\">Once you\u2019re set up, open the project folder on your computer, add your <code>GOOGLE_API_KEY<\/code> in a <code>.env<\/code> file, and save. You can get a key from Google <a href=\"https:\/\/aistudio.google.com\/app\/apikey\" data-type=\"link\" data-id=\"https:\/\/aistudio.google.com\/app\/apikey\">here.<\/a><\/p>\n<p class=\"wp-block-paragraph\"><em>Gemini Flash 2.0 has a generous free tier, so running this shouldn\u2019t cost anything (but you may run into errors if you use it too much).<\/em><\/p>\n<p class=\"wp-block-paragraph\">If you want to switch to another LLM or tools, you can tweak the code directly. But, again, remember the LLM needs to be compatible. <\/p>\n<p class=\"wp-block-paragraph\">After setup, launch LangGraph Studio and select the correct folder. <\/p>\n<p class=\"wp-block-paragraph\">This will boot up our workflow so we can test it.<\/p>\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" height=\"649\" width=\"1024\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/contributor.insightmediagroup.io\/wp-content\/uploads\/2025\/03\/317c6966-034b-4872-ad7c-6105e68f554c_2569x1629-1024x649.webp?resize=1024%2C649&#038;ssl=1\" alt=\"\" class=\"wp-image-600866\"><figcaption class=\"wp-element-caption\">Opening LangGraph Studio | Image by author<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">If you run into issues booting this up, double-check that you\u2019re using the latest version of Docker.<\/p>\n<p class=\"wp-block-paragraph\">Once it\u2019s loaded, you can test the workflow by entering a human message and hitting submit.<\/p>\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" height=\"656\" width=\"1024\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/contributor.insightmediagroup.io\/wp-content\/uploads\/2025\/03\/800e7d5c-459d-439b-badc-c32fbde1699a_2537x1626-1024x656.webp?resize=1024%2C656&#038;ssl=1\" alt=\"\" class=\"wp-image-600868\"><figcaption class=\"wp-element-caption\">LangGraph Studio opening the single agent workflow | Image by author<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">You can see me run the workflow below.<\/p>\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/contributor.insightmediagroup.io\/wp-content\/uploads\/2025\/03\/ezgif.com-video-to-gif-converter1.gif?ssl=1\" alt=\"\" class=\"wp-image-600871\"><figcaption class=\"wp-element-caption\">LangGraph Studio running the single agent workflow | Image by author<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">You can see the final response below.<\/p>\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" height=\"612\" width=\"1024\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/contributor.insightmediagroup.io\/wp-content\/uploads\/2025\/03\/result_single_agent-1024x612.png?resize=1024%2C612&#038;ssl=1\" alt=\"\" class=\"wp-image-600870\"><figcaption class=\"wp-element-caption\">LangGraph Studio finishing the single agent workflow | Image by author<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">For this prompt it decided that it would check weekly trending keywords filtered by the category \u2018companies\u2019 only, and then it fetched the sources of those keywords and summarized for us.<\/p>\n<p class=\"wp-block-paragraph\">It had some issues in giving us a unified summary, where it simply used the information it got last and failed to use all of the research.<\/p>\n<p class=\"wp-block-paragraph\">In reality we want it to fetch both trending and top keywords within several categories (not just companies), check sources, track specific keywords, and reason and summarize it all nicely before returning a response.<\/p>\n<p class=\"wp-block-paragraph\">We can of course probe it and keep asking it questions but as you can imagine if we need something more complex it would start to make shortcuts in the workflow.<\/p>\n<p class=\"wp-block-paragraph\">The key thing is, an agent system isn\u2019t just gonna think the way we expect, we have to actually orchestrate it to do what we want.<\/p>\n<p class=\"wp-block-paragraph\">So a single agent is great for something simple but as you can imagine it may not think or behave as we are expecting.<\/p>\n<p class=\"wp-block-paragraph\">This is why going for a more complex system where each agent is responsible for one thing can be really useful.<\/p>\n<h2 class=\"wp-block-heading\">Testing a Multi-Agent Workflow<\/h2>\n<p class=\"wp-block-paragraph\">Building multiagent workflows is a lot more difficult than building a single agent with access to some tools. To do this, you need to carefully think about the architecture beforehand and how data should flow between the agents.<\/p>\n<p class=\"wp-block-paragraph\">The multi-agent <a href=\"https:\/\/github.com\/ilsilfverskiold\/Awesome-LLM-Resources-List\/tree\/main\/guides\/langgraph\/tech_news_bot_multiagent\">workflow<\/a> I\u2019ll set up here uses two different teams \u2014 a research team and an editing team \u2014 with several agents under each.<\/p>\n<p class=\"wp-block-paragraph\">Every agent has access to a specific set of tools.<\/p>\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" height=\"467\" width=\"1024\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/contributor.insightmediagroup.io\/wp-content\/uploads\/2025\/04\/Skarmavbild-2025-04-01-kl.-15.45.18-1024x467.png?resize=1024%2C467&#038;ssl=1\" alt=\"\" class=\"wp-image-600930\"><figcaption class=\"wp-element-caption\">The multiagent workflow logic with a hierarchical team | Image by author<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">We\u2019re introducing some new tools, like a research pad that acts as a shared space \u2014 one team writes their findings, the other reads from it. The last LLM will read everything that has been researched and edited to make a summary.<\/p>\n<p class=\"wp-block-paragraph\">An alternative to using a research pad is to store data in a scratchpad in state, isolating short-term memory for each team or agent. But that also means thinking carefully about what each agent\u2019s memory should include.<\/p>\n<p class=\"wp-block-paragraph\">I also decided to build out the tools a bit more to provide richer data upfront, so the agents don\u2019t have to fetch sources for each keyword individually. Here I\u2019m using normal programmatic logic because I can.<\/p>\n<p class=\"wp-block-paragraph\"><em>A key thing to remember: if you can use normal programming logic, do it. <\/em><\/p>\n<p class=\"wp-block-paragraph\">Since we\u2019re using multiple agents, you can lower costs by using cheaper models for most agents and reserving the more expensive ones for the important stuff. <\/p>\n<p class=\"wp-block-paragraph\">Here, I\u2019m using Gemini Flash 2.0 for all agents except the summarizer, which runs on OpenAI\u2019s GPT-4o. If you want higher-quality summaries, you can use an even more advanced LLM with a larger context window. <\/p>\n<p class=\"wp-block-paragraph\">The workflow is set up for you <a href=\"https:\/\/github.com\/ilsilfverskiold\/Awesome-LLM-Resources-List\/tree\/main\/guides\/langgraph\/tech_news_bot_multiagent\">here<\/a>. Before loading it, make sure to add both your OpenAI and Google API keys in a <code>.env<\/code> file.<\/p>\n<p class=\"wp-block-paragraph\">In this workflow, the routes (edges) are setup dynamically instead of manually like we did with the single agent. It\u2019ll look more complex if you peek into the code.<\/p>\n<p class=\"wp-block-paragraph\">Once you boot up the workflow in LangGraph Studio \u2014 same process as before \u2014 you\u2019ll see the graph with all these nodes ready.<\/p>\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" height=\"812\" width=\"1024\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/contributor.insightmediagroup.io\/wp-content\/uploads\/2025\/03\/multiagent_workflow_langgraph_studio-1024x812.png?resize=1024%2C812&#038;ssl=1\" alt=\"\" class=\"wp-image-600873\"><figcaption class=\"wp-element-caption\">Opening the multiagent workflow in LangGraph Studio | Image by author<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">LangGraph Studio lets us visualize how the system delegates work between agents when we run it\u2014just like we saw in the simpler workflow above.<\/p>\n<p class=\"wp-block-paragraph\">Since I understand the tools each agent is using, I can prompt the system in the right way. But regular users won\u2019t know how to do this properly. So if you\u2019re building something similar, I\u2019d suggest introducing an agent that transforms the user\u2019s query into something the other agents can actually work with.<\/p>\n<p class=\"wp-block-paragraph\">We can test it out by setting a message.<\/p>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u201cI\u2019m an investor and I\u2019m interested in getting an update for what has happened within the week in tech, and what people are talking about (this means categories like companies, people, websites and subjects are interesting). Please also track these specific keywords: AI, Google, Microsoft, and Large Language Models\u201d<\/p>\n<\/blockquote>\n<p class=\"wp-block-paragraph\">Then choosing \u201csupervisor\u201d as the Next parameter (we\u2019d normally do this programmatically).<\/p>\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/contributor.insightmediagroup.io\/wp-content\/uploads\/2025\/03\/Skrminspelning2025-03-31kl.16.19.01_3-ezgif.com-video-to-gif-converter.gif?ssl=1\" alt=\"\" class=\"wp-image-600880\"><figcaption class=\"wp-element-caption\">Running the multiagent workflow in LangGraph Studio \u2014 it will take several minutes | Image by author<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">This workflow will take several minutes to run, unlike the single-agent workflow we ran earlier which finished in under a minute.<\/p>\n<p class=\"wp-block-paragraph\"><em>So be patient while the tools are running.<\/em><\/p>\n<p class=\"wp-block-paragraph\">In general, these systems take time to gather and process information and that\u2019s just something we need to get used to.<\/p>\n<p class=\"wp-block-paragraph\">The final summary will look something like this:<\/p>\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" height=\"610\" width=\"1024\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/contributor.insightmediagroup.io\/wp-content\/uploads\/2025\/03\/finished_workflow_multiagent_langgraph_tech_news-1024x610.png?resize=1024%2C610&#038;ssl=1\" alt=\"\" class=\"wp-image-600876\"><figcaption class=\"wp-element-caption\">The result from the multiagent workflow in LangGraph Studio | Image by author<\/figcaption><\/figure>\n<p class=\"wp-block-paragraph\">You can read the whole thing <a href=\"https:\/\/github.com\/ilsilfverskiold\/Awesome-LLM-Resources-List\/blob\/main\/guides\/langgraph\/tech_news_bot_multiagent\/example-summary.md\">here<\/a> instead if you want to check it out.<\/p>\n<p class=\"wp-block-paragraph\"><em>The news will obviously vary depending on when you run the workflow.<\/em> <em>I ran it the 28th of March so the example report will be for this date.<\/em><\/p>\n<p class=\"wp-block-paragraph\">It should save the summary to a text document, but if you\u2019re running this inside a container, you likely won\u2019t be able to access that file easily. It\u2019s better to send the output somewhere else \u2014 like Google Docs or via email.<\/p>\n<p class=\"wp-block-paragraph\">As for the results, I\u2019ll let you decide for yourself the difference between using a more complex system versus a simple one, and how it gives us more control over the process. <\/p>\n<h2 class=\"wp-block-heading\">Finishing Notes<\/h2>\n<p class=\"wp-block-paragraph\">I\u2019m working with a good data source here. Without that, you\u2019d need to add a lot more error handling, which would slow everything down even more.<\/p>\n<p class=\"wp-block-paragraph\">Clean and structured data is key. Without it, the LLM won\u2019t perform at its best.<\/p>\n<p class=\"wp-block-paragraph\">Even with solid data, it\u2019s not perfect. You still need to work on the agents to make sure they do what they\u2019re supposed to.<\/p>\n<p class=\"wp-block-paragraph\">You\u2019ve probably already noticed the system works \u2014 but it\u2019s not quite there yet.<\/p>\n<p class=\"wp-block-paragraph\">There are still several things that need improvement: parsing the user\u2019s query into a more structured format, adding guardrails so agents always use their tools, summarizing more effectively to keep the research doc concise, improving error handling, and introducing long-term memory to better understand what the user actually needs.<\/p>\n<p class=\"wp-block-paragraph\">State (short-term memory) is especially important if you want to optimize for performance and cost. <\/p>\n<p class=\"wp-block-paragraph\">Right now, we\u2019re just pushing every message into state and giving all agents access to it, which isn\u2019t ideal. We really want to separate state between the teams. In this case, it\u2019s something I haven\u2019t done, but you can try it by introducing a scratchpad in the state schema to isolate what each team knows.<\/p>\n<p class=\"wp-block-paragraph\">Regardless, I hope it was a fun experience to understand the results we can get by building different <a href=\"https:\/\/towardsdatascience.com\/tag\/agentic-workflows\/\" title=\"Agentic Workflows\">Agentic Workflows<\/a>. <\/p>\n<p class=\"wp-block-paragraph\">If you want to see more of what I\u2019m working on, you can follow me <a href=\"https:\/\/towardsdatascience.com\/author\/ilsilfverskiold\/\">here<\/a> but also on <a href=\"https:\/\/medium.com\/@ilsilfverskiold\">Medium<\/a>, <a href=\"https:\/\/github.com\/ilsilfverskiold\">GitHub<\/a>, or <a href=\"https:\/\/www.linkedin.com\/in\/ida-silfverskiold\/\">LinkedIn<\/a> (though I\u2019m hoping to move over to X soon). I also have a <a href=\"https:\/\/howtouseai.substack.com\/\">Substack<\/a>, where I hope to publishing shorter pieces in.<\/p>\n<p class=\"wp-block-paragraph\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/2764.png?ssl=1\" alt=\"\u2764\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\"><\/p>\n<p>The post <a href=\"https:\/\/towardsdatascience.com\/agentic-ai-single-vs-multi-agent-systems\/\">Agentic AI: Single vs Multi-Agent Systems<\/a> appeared first on <a href=\"https:\/\/towardsdatascience.com\/\">Towards Data Science<\/a>.<\/p>\n<\/div>\n<p> \t<BR><br \/>\n <BR><\/BR><br \/>\n    Ida Silfverskiold<br \/>\n \t<BR><br \/>\n<BR><\/BR><br \/>\n<a href=\"https:\/\/towardsdatascience.com\/agentic-ai-single-vs-multi-agent-systems\/\">Go to original source<\/a><br \/>\n \t<BR><br \/>\n <BR><\/BR><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Agentic AI: Single vs Multi-Agent Systems We\u2019ve seen this shift the last few years from building rigid programming systems to natural language-driven workflows, all made possible with more advanced large language models. One of the interesting areas into these Agentic Ai systems is the difference between building a single versus multi-agent workflow, or perhaps the [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2239,678,62,69,67,1930,160],"tags":[679,98,146],"class_list":["post-2796","post","type-post","status-publish","format-standard","hentry","category-agentic-workflows","category-agentic-ai","category-aimldsaimlds","category-artificial-intelligence","category-deep-dives","category-llm-applications","category-programming","tag-agentic","tag-ai","tag-language"],"_links":{"self":[{"href":"https:\/\/mailitics.com\/index.php\/wp-json\/wp\/v2\/posts\/2796"}],"collection":[{"href":"https:\/\/mailitics.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mailitics.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mailitics.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mailitics.com\/index.php\/wp-json\/wp\/v2\/comments?post=2796"}],"version-history":[{"count":0,"href":"https:\/\/mailitics.com\/index.php\/wp-json\/wp\/v2\/posts\/2796\/revisions"}],"wp:attachment":[{"href":"https:\/\/mailitics.com\/index.php\/wp-json\/wp\/v2\/media?parent=2796"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mailitics.com\/index.php\/wp-json\/wp\/v2\/categories?post=2796"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mailitics.com\/index.php\/wp-json\/wp\/v2\/tags?post=2796"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}