1"use strict";(self.webpackChunkinnovation_labs=self.webpackChunkinnovation_labs||[]).push([[25],{62100:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"concepts-ai-agents/agent-comparison","title":"Microservices and AI Agents","description":"Before diving into the world of AI agents, let\u2019s first explore the key differences between microservices and AI agents.","source":"@site/versioned_docs/version-1.0.0/concepts-ai-agents/agent-comparison.mdx","sourceDirName":"concepts-ai-agents","slug":"/concepts-ai-agents/agent-comparison","permalink":"/resources/docs/1.0.0/concepts-ai-agents/agent-comparison","draft":false,"unlisted":false,"tags":[],"version":"1.0.0","frontMatter":{"id":"agent-comparison","title":"Microservices and AI Agents"},"sidebar":"tutorialSidebar","previous":{"title":"Team Based Artchitectures","permalink":"/resources/docs/1.0.0/concepts-ai-agents/team-based-architectures"},"next":{"title":"uAgent Creation","permalink":"/resources/docs/1.0.0/agent-creation/uagent-creation"}}');var t=n(74848),a=n(28453);const o={id:"agent-comparison",title:"Microservices and AI Agents"},r="Fetch.ai Microservice Agent and AI Agent",c={},l=[{value:"Building Microservices and AI Agents",id:"building-microservices-and-ai-agents",level:2},{value:"Microservices with uAgents",id:"microservices-with-uagents",level:3},{value:"AI Agents with the Fetch.ai SDK",id:"ai-agents-with-the-fetchai-sdk",level:3},{value:"How Fetch.ai\u2019s Ecosystem Works",id:"how-fetchais-ecosystem-works",level:2},{value:"Why Use the Fetch.ai SDK?",id:"why-use-the-fetchai-sdk",level:2}];function h(e){const s={h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.header,{children:(0,t.jsx)(s.h1,{id:"fetchai-microservice-agent-and-ai-agent",children:"Fetch.ai Microservice Agent and AI Agent"})}),"\n",(0,t.jsx)(s.p,{children:"Before diving into the world of AI agents, let\u2019s first explore the key differences between microservices and AI agents."}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"Microservice"}),": If you want to fetch specific information or perform an isolated action, you typically use tools or APIs\u2014this is known as a microservice. Imagine you want to check available flights from London to New York. You\u2019d use an API or tool to fetch the available options. That\u2019s a microservice in action\u2014focused, specific, and task-oriented."]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"AI Agent"}),": If you have a larger objective that requires coordination between multiple microservices or tools, that\u2019s where an AI agent steps in. Now, let\u2019s say you want to book the best possible flight. This involves more than just checking flight options: you\u2019ll compare prices across different days, check your personal schedule, and evaluate additional services like baggage policies or meal preferences. To achieve this goal, you need reasoning and decision-making capabilities\u2014this is where an AI agent comes into play."]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"building-microservices-and-ai-agents",children:"Building Microservices and AI Agents"}),"\n",(0,t.jsx)(s.p,{children:"The Fetch.ai ecosystem offers a variety of tools to build both microservices and AI agents, enabling developers to cater to different use cases."}),"\n",(0,t.jsx)("div",{style:{textAlign:"center"},children:(0,t.jsx)("img",{src:"/resources/img/comparison.svg",alt:"comparison",style:{width:"85%",maxWidth:"600px"}})}),"\n",(0,t.jsx)(s.h3,{id:"microservices-with-uagents",children:"Microservices with uAgents"}),"\n",(0,t.jsx)(s.p,{children:"uAgents is Fetch.ai's lightweight Python framework for creating agents (microservices). It\u2019s designed to be simple and efficient, making it a great choice for building basic microservices."}),"\n",(0,t.jsx)(s.h3,{id:"ai-agents-with-the-fetchai-sdk",children:"AI Agents with the Fetch.ai SDK"}),"\n",(0,t.jsx)(s.p,{children:"Fetch.ai's SDK is built on top of the uAgents framework. It simplifies the creation of intelligent, dynamic AI agents that can interact with other agents and microservices seamlessly. The SDK allows for more flexibility, reasoning, and adaptability compared to uAgents."}),"\n",(0,t.jsx)(s.p,{children:"You\u2019ll learn in the upcoming sections how to decide between these tools based on the problem you\u2019re solving."}),"\n",(0,t.jsx)(s.h2,{id:"how-fetchais-ecosystem-works",children:"How Fetch.ai\u2019s Ecosystem Works"}),"\n",(0,t.jsx)(s.p,{children:"Fetch.ai provides an integrated ecosystem to host and manage your agents, ensuring connectivity and scalability."}),"\n",(0,t.jsxs)(s.ol,{children:["\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"Agentverse Platform"}),":"]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Agents can be hosted on the Agentverse platform, allowing them to stay active and accessible."}),"\n",(0,t.jsx)(s.li,{children:"Due to security constraints, Agentverse only supports a limited set of packages."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"Mailbox Service"}),":"]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"For scenarios requiring custom environments (like virtual machines), you can use the Mailbox Service. This lets you host agents outside Agentverse while maintaining connectivity."}),"\n",(0,t.jsx)(s.li,{children:"The mailbox ensures that messages sent to an agent are queued, so the agent can process them once it comes online."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"Agent Registration with the Almanac Contract"}),":"]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"When agents are registered on Agentverse, they are also listed in the Almanac Contract on Fetch.ai\u2019s blockchain. This registry allows other agents to discover your agent using its unique address."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"why-use-the-fetchai-sdk",children:"Why Use the Fetch.ai SDK?"}),"\n",(0,t.jsx)(s.p,{children:"While the uAgents framework is sufficient for basic microservices, the Fetch.ai SDK offers additional capabilities suited for more complex AI agents. Here\u2019s why the SDK exists:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Dynamic Messaging:","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"uAgents require precise Data Models to identify and process messages. In contrast, the SDK enables agents to handle dynamic messages, making it more adaptable."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Handler Differences:","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"uAgents rely on predefined handlers (e.g., interval-based or message-based handlers)."}),"\n",(0,t.jsx)(s.li,{children:"SDK-based agents leverage Flask webhooks, enabling more flexible and scalable communication."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(s.p,{children:"With these distinctions, the SDK empowers developers to build agents capable of reasoning, adaptability, and complex decision-making."})]})}function d(e={}){const{wrapper:s}={...(0,a.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},28453:(e,s,n)=>{n.d(s,{R:()=>o,x:()=>r});var i=n(96540);const t={},a=i.createContext(t);function o(e){const s=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function r(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(a.Provider,{value:s},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.