From f01abe16814122d99d5fadf0b2b7d10f36baa7ad Mon Sep 17 00:00:00 2001 From: Sim Pi Agent Date: Fri, 31 Jul 2026 02:10:50 +0000 Subject: [PATCH 1/2] feat(library): What Is an AI Agent? Definition, How It Works, and Examples --- .../index.mdx | 105 ++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 apps/sim/content/library/what-is-an-ai-agent-definition-how-it-works-and-examples/index.mdx diff --git a/apps/sim/content/library/what-is-an-ai-agent-definition-how-it-works-and-examples/index.mdx b/apps/sim/content/library/what-is-an-ai-agent-definition-how-it-works-and-examples/index.mdx new file mode 100644 index 00000000000..fc65c85099b --- /dev/null +++ b/apps/sim/content/library/what-is-an-ai-agent-definition-how-it-works-and-examples/index.mdx @@ -0,0 +1,105 @@ +--- +slug: what-is-an-ai-agent-definition-how-it-works-and-examples +title: 'What Is an AI Agent? Definition, How It Works, and Examples' +description: 'Learn what an AI agent is, how its reasoning, tools, memory, and goal loop works, and how agents differ from chatbots and raw LLMs.' +date: 2026-07-31 +updated: 2026-07-31 +authors: + - andrew +readingTime: 9 +tags: [AI Agents, LLMs, Automation, Sim] +ogImage: /library/what-is-an-ai-agent-definition-how-it-works-and-examples/cover.jpg +canonical: https://www.sim.ai/library/what-is-an-ai-agent-definition-how-it-works-and-examples +draft: false +faq: + - q: "Does an AI agent need an LLM?" + a: "Most modern agents use a large language model as their reasoning engine because it can interpret instructions, plan, and choose tools. Simpler agents can use rules or classical planning algorithms instead. The defining trait is goal-directed action, not the specific model powering the reasoning." + - q: "Does RPA count as an AI agent?" + a: "Robotic process automation follows fixed, pre-scripted steps, while an AI agent can decide how to pursue a goal at runtime and adapt to new observations. The distinction is reasoning and adaptation rather than the ability to automate a task." + - q: "How autonomous are AI agents really?" + a: "Autonomy is a spectrum. Production agents commonly have defined tool permissions and human approval requirements for sensitive actions. A support agent might handle routine tickets independently while escalating larger refunds to a person." + - q: "Can an agent use more than one tool?" + a: "Yes. A research agent might query a search API, read a knowledge base, and write results to a database in one task. It chooses which tool to invoke at each step based on the goal and the result of its previous action." +--- + +## TL;DR + +An AI agent is a goal-directed software system that reasons about a task, uses tools, and takes action to reach an outcome rather than only producing text on request. + +The agent runs a reasoning-tools-memory-goal loop. It plans a next step, acts through a tool, observes the result, updates its memory, and checks whether the goal is met before repeating. + +A chatbot responds to messages and stops. An agent pursues an objective and can act across multiple steps, a distinction this article covers separately. + +A raw large language model is only the reasoning part of an agent. The full agent wraps that model in tools, memory, and the ability to act. + +## What is an AI agent? + +An AI agent is a goal-directed software system that reasons about a task, uses tools to gather information or take actions, and works toward an outcome rather than a single reply. This framing aligns with [Google Cloud's overview of AI agents](https://cloud.google.com/discover/what-are-ai-agents) and [McKinsey's explainer](https://www.mckinsey.com/featured-insights/mckinsey-explainers/what-is-an-ai-agent). The agent receives a goal, decides what to do, and acts through the tools it can reach. + +Four words in that definition carry the weight, and each one rules something in or out. + +**Goal-directed** means the agent works toward an outcome you specify, not a one-off response. You give it an objective like "resolve this ticket" or "book a meeting," and it keeps working until the goal is met or blocked. A system that answers one prompt and stops is not goal-directed. + +**Reasons** means the agent breaks a goal into steps and decides what to do next based on what it learns. It plans, evaluates results, and adjusts. Fixed if-then automation follows a script and does not revise its plan, so it fails this test. + +**Uses tools** means the agent can call external functions, APIs, databases, or other software to get information and effect change. Without tools, a model can only produce text. With them, an agent can search a knowledge base, query a calendar, or write to a system of record. + +**Takes action** means the agent changes state in the world, not just its own output. It sends the email, updates the record, or merges the code. A system that describes what should happen but cannot do it is an assistant, not an agent. + +## How do AI agents work? + +An AI agent works by running a continuous loop, not by executing a fixed script. The loop moves through four stages that repeat until the goal is met. The agent perceives the current state and plans a next step, acts on that plan by calling a tool, observes what the tool returned, and updates its memory before checking whether the goal is satisfied. Each pass through the loop uses the result of the last pass as new input, so the agent adjusts its plan based on what actually happened rather than on what it predicted. + +The reasoning stage decides what to do next. A language model reads the goal, the current state, and everything the agent has already tried, then chooses an action. That action often means calling a tool, because the reasoning model on its own cannot query a database, send an email, or run code. Memory carries context between passes so the agent does not repeat work or lose track of a multi-step task, and the goal acts as the exit condition that tells the loop when to stop. + +The stages depend on each other in sequence. Reasoning is useless without tools to act on its decisions. Tools are blind without memory to record what they already returned. Memory is aimless without a goal to measure progress against. When the four run as a cycle, the agent can handle a task that no single model output could finish in one shot. + +Consider an agent asked to find and book a meeting room for six people next Tuesday afternoon. On the first pass, it reasons that it needs the room list, calls a calendar tool, and observes that three rooms are free. It writes those three rooms to memory, then checks the goal and sees the task is not done because none is confirmed yet. On the second pass, it filters by capacity, calls the room-details tool, and observes that only one of the three seats six people. It records that room, checks the goal again, and moves to book it. + +On the third pass, the agent calls the booking tool and observes a conflict because someone reserved the room seconds earlier. Rather than fail, it reads its memory, sees the two rejected rooms, and reasons that neither fits the headcount. It loops back to search for a new option, and the cycle continues until it confirms a room or reports that none exists. The recovery from a failed booking shows why the loop matters. A static script would stop at the conflict, while the agent treats the failure as one more observation and plans around it. + +## How is an AI agent different from a chatbot? + +A chatbot responds to what you say. An AI agent pursues a goal you set and takes the actions needed to reach it. A support chatbot answers "Where is my order?" with a status message and stops. A support agent can read the same question, look up the order in connected systems, check the shipping carrier, and issue a refund if the workflow allows it. + +The mechanical difference comes down to autonomy and tools. A chatbot maps input to output inside a single conversation and waits for your next message. An agent runs a loop, deciding what to do next, calling external tools, and continuing until the goal is met or it reaches a limit you defined. That loop lets an agent complete multi-step work without a person prompting each step. + +For a full breakdown of where the two overlap and where they diverge, read [AI Agent vs Chatbot: Understanding the Differences](https://www.sim.ai/library/ai-agent-vs-chatbot). + +## How is an AI agent different from a raw LLM? + +A large language model generates a response from a prompt. An AI agent wraps that model inside a larger system that can plan, use tools, remember, and act toward a goal. The LLM handles the reasoning step of the loop. The agent is everything around it. + +Think of the LLM as the engine and the agent as the vehicle. On its own, an LLM cannot check today's calendar, query a database, or send an email. It only has the information in its prompt and training. When you give that same model access to tools, a way to store results between steps, and permission to run multiple cycles until a goal is met, you turn it into an agent. + +Three additions do the work. Tools connect the model to real systems it can call. Memory lets the agent carry context across steps instead of treating each prompt in isolation. Autonomy lets it decide what to do next based on what it observed, then loop again without waiting for a new instruction each time. + +A raw LLM answers a question. An agent takes a goal, breaks it into steps, acts on each one, and adjusts as it goes. The reasoning is shared. The ability to act is what separates them. + +## What are some examples of AI agents? + +A support agent has one goal: resolve a customer's issue without a human handoff when the workflow permits it. It reads the incoming ticket, pulls the customer's account and order history through connected tools, and checks a knowledge base for the relevant policy. If the customer wants a refund, the agent verifies eligibility, issues the refund through the payment system, and updates the ticket status. It observes whether the refund succeeded before closing the loop, so a failed transaction can trigger a retry or escalation rather than a false confirmation. + +A scheduling agent works toward booking a meeting that fits everyone involved. Given a request like "find 30 minutes with the design team next week," it reads each attendee's calendar, applies constraints such as time zones and working hours, and proposes a slot. Once someone confirms, the agent creates the event, sends the invites, and adds a video link. When a conflict appears later, it can rebook if its permissions and workflow allow it, because the goal is a scheduled meeting, not a single calendar lookup. For a closer look at this use case, see [the best AI agents for scheduling and calendar management](https://www.sim.ai/library/best-ai-agents-for-scheduling-and-calendar-management-in-2026). + +A research agent aims to answer a question that no single source resolves. It breaks the question into sub-queries, searches the web or an internal document store, and reads what it finds. It holds partial findings in memory so it can compare sources, spot gaps, and run follow-up searches to fill them. The output is a synthesized answer with citations, produced after the agent has gathered enough evidence to stop. + +A coding agent has the goal of making a codebase do something new or fixing what is broken. Given a task like "add pagination to the user list endpoint," it reads the relevant files, plans the change, and edits the code through a file-editing tool. It can then run tests, read the results, and revise its changes when a test fails. That observe-and-correct cycle separates a coding agent from a model that only suggests a snippet, since the agent can verify its work against real feedback before declaring the task done. + +Each example runs the same loop in a different context. The agent starts with a goal, reasons about the next step, acts through tools, observes the result, and updates what it knows before deciding whether the goal is met. + +## How do you build an AI agent in practice? + +Building an agent means assembling the reasoning-tools-memory-goal loop on a platform that handles the wiring for you. In Sim, you can configure an Agent block with a model, instructions, and the tools it can use. You can also connect Tables for structured records and Knowledge Bases for documents an agent can search as it runs. + +These surfaces correspond to the loop described above. Agent blocks hold the model, instructions, and tools an agent uses to plan and act. Tables can give an agent structured data to read and write across runs, such as a support ticket history or pending scheduling requests. Knowledge Bases store documents an agent can search when a task needs grounded information, which helps a research agent answer from your own sources rather than guessing. + +A working agent in Sim can combine these into a single flow. An Agent block decides what to do, calls a tool to act, writes a result to a Table, and checks whether the goal is met before looping again. The [Sim agents documentation](https://docs.sim.ai/agents) covers how these blocks connect and what each configuration option controls. For a practical walkthrough, read [How to Build AI Agents With Sim](https://www.sim.ai/library/how-to-create-an-ai-agent). + +## The bottom line + +An AI agent is a goal-directed system that combines reasoning, tools, memory, and action. It does not just return a response; it can pursue an objective across multiple steps, observe the result of each action, and adjust its next move. + +Start with one narrow workflow and clear permissions. A support agent that classifies and routes incoming tickets, a scheduling agent that proposes slots, or a research agent that gathers cited information gives you an observable loop to test. As the workflow becomes reliable, you can expand the tools and autonomy around it. + +If you are deciding whether a fixed automation is enough, [AI Agents vs RPA: When to Use Each for Enterprise Automation](https://www.sim.ai/library/ai-agents-vs-rpa) explains where rule-based automation remains the better fit. From f620aebbaab8ea04923c5252cf4b9aa2082ced55 Mon Sep 17 00:00:00 2001 From: Waleed Latif Date: Thu, 30 Jul 2026 19:22:48 -0700 Subject: [PATCH 2/2] chore(library): generate cover for the AI agent post --- .../cover.jpg | Bin 0 -> 29054 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/sim/public/library/what-is-an-ai-agent-definition-how-it-works-and-examples/cover.jpg diff --git a/apps/sim/public/library/what-is-an-ai-agent-definition-how-it-works-and-examples/cover.jpg b/apps/sim/public/library/what-is-an-ai-agent-definition-how-it-works-and-examples/cover.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ddc7b2b0e883c31756d855ee4f8bb7d1c587df18 GIT binary patch literal 29054 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 MEzo;r{6#xJL literal 0 HcmV?d00001