URC Solutions Blog

How to determine if you need a custom AI agent

A practical starting point for deciding whether to build a custom AI agent or reuse an existing solution.

If you are wondering whether to build you custom AI agent or reuse existing solution, this article will be useful for you. You will also learn what are the basics of AI agent

AI Agent breakdown

Let's list what the agent is doing:

  1. Calling the model "in the loop"
  2. Managing session context
  3. Managing memory
  4. Managing available tools and their execution (security, authorization, etc.)
  5. Prompting capabilities
  6. Reusable context injection (system context, project context, session context)

Now, if you need something different from what your agent offers "built-in" and there is no possibility to customize it inside the agent, you got to build your own.

Customization examples

Examples of how the agent can be customized (according to the numbering from the list above):

  1. Temperature customization. While the agent is calling the model, it sends a temperature param, which specifies how creative the model can be in the response. If your agent doesn't allow customization of this param or any other param like this sent to the model, you may look into building your own agent.
  2. Agents do automatic context summarization and important information injection at the "end" of the context. If you don't like the process, e.g. it starts auto-summarization too early, or does it in a way where important info is lost, you're gonna need a new agent.
  3. Some agents just give a tool to the LLM to pull something from memory; other agents analyze your prompt against memory storage and automatically inject potentially needed info into the context. So when you don't like how the agent operates memory, e.g. you want some part of memory to always be added to the context and others only when they're related to the prompt, you need a custom agent.
  4. Tools are usually MCP tools (if you connect MCP servers), built-in tools (like Web search, file reading, CLI execution), and Skills. Usually, you + the agent decide which tools should be available and present to the model. And the model decides which tool to execute and when. The agent is responsible for tool execution + things like authorization and security. If you want Web search to extract content from the pages, filtering out potential prompt injection attacks, you may need a custom agent.
  5. Some agents support reusable prompts (you type just the prompt name and it is automatically replaced with the whole prompt text), prompt history via arrow up/down clicks (like in a terminal), voice input (voice-to-text conversion before sending). If you need to be able to optimize your prompt before sending with one click of a button, you need a custom agent.
  6. Agents inject some information into the context depending on... well... the context. System context is injected all the time; it's important general info like "Make no mistakes" xD. Then there might be a "project" context (if the agent knows you are asking a question related to a specific project); it usually includes info specific to this project. And there also might be reusable session context. If you work on marketing from time to time, you may want to inject your marketing-specific rules into the context if your prompt is related to marketing. So if you need a "night mode" — time-specific context like "skip verification steps to speed up the process" when the time is getting closer to 11 p.m.

So to recap, this is the "monster agent":

Custom agent that looks like ChatGPT,
but lets you change the temperature of requests made to the model,
has a customizable context summarization point,
has 5 memory behaviors,
has a secure prompt injection-proof Web search tool,
a prompt optimization button,
and time-specific context injection.

Aren't no way ChatGPT or another popular agent adds support for all of that.

So this is when you build your custom AI agent.


By the way

Notice how we haven't made it a "workflow"? It's still an agent that can handle most general tasks rather than being designed specifically for one process.