Published on

AI Agents

Authors

I've been thinking a lot about how an AI agent might work; or at least the first iteration one that could achieve horizontal software integration. One of my contrarian takes is that AI agents will obliterate vertical SaaS or vertical software companies.In this Sequoia Capital blog post, the author comments that the app layer will be the big winner of the AI revolution as cloud, mobile, and internet all allowed a flourishing of apps. Somehow, I believe that AI is so profound that analogies to find success is not likely going to work. There is one important thing, internet, cloud and mobile did not change the programming paradigm. Intelligence in these mediums were all still deterministic, with most applications being just compute and database wrappers.

In deterministic computing, software engineers write code with if else statements to generate an output such as: sending a reminder email, generating a report, saving some data to a database, etc. Artificial Intelligence is completely different from deterministic computing in that arbitrary inputs in a model can generate sensible outputs. Today, we even have glimpses of logic in things like OpenAI's o1-preview model.

What I am certain of is that AI agents will change the technology industry. AI agents are intelligent, malleable, software components that doesn't just regurgitate information that it was trained on; rather they will take action based off of the input it receives. It's not certain how many people think AI agents will first appear but let me give it a shot and see if it excites you:

Ingredients

  • A Large Language Model (LLM) that has strict structured output
  • A large file system to store and retrieve data
  • The ability to generate accurate code that can be executed within a container
  • Broad network access to the internet
  • A virtual machine to run code

The Scenario

  1. A CEO of a company goes into his work chat and opens up a direct message to an AI agent called "Albert"

  2. The CEO says to Albert

    "We keep getting late payments from our customers and I'm tired of personally chasing them down to pay on time"

  3. Albert replies:

"One moment... by the looks of our company Wiki, we keep track of all our customers and their email addresses in phone numbers in Hubspot. And, it looks like our accounting team doesn't do a good job of sending out reminders to customers to pay on time. The problem is I don't have access to login to Hubspot to get the data that I need. And I think sending invoices through Bill.com is a good idea but I don't want to pay unless you tell me it's okay to sign up."

  1. The CEO replies:

"That sounds right about HubSpot and the accounting team... Yeah sign up for Bill.com"

  1. Albert replies:

"Great, just give me a moment."

a. Albert visits the HubSpot documentation and parses the information to generate an API token b. Albert generates a URL with a query string for HubSpot

  1. Albert replies again:

"Alright boss, can you click this link, it'll create an API token with the right permissions for me to access HubSpot"

  1. The CEO clicks the link and an API token is created.

  2. Albert begins to write JavaScript code that can run in the virtual machine. It has a script that reads customer data from HubSpot's HTTP API and queries the subscription payment schedule for each customer.

  3. Albert replies:

"Okay HubSpot is set up, let's setup Bill.com"

  1. Albert visits the Bill.com, creates an account and enters a credit card assigned to Albert and creates an API token.

  2. Albert begins to read Bill.com's documentation and modifies the JavaScript code to send invoices to Bill.com's API.

  3. Albert replies:

"Alright, I've setup Bill.com. Invoice reminds will be sent every 3 days beyond the due date."

  1. The CEO replies:

"Great work! Also can you give me a report on the 15th of every month of people who haven't paid their invoices?"

  1. Albert replies:

"No problem, I'll get right on that."

  1. Albert modifies the JavaScript code to generate a report of customers who haven't paid their invoices.

The Big Picture

  1. So long as the AI agent has access to the internet and can write code that can access APIs, it really can do anything. All it needs is a virtual machine to design, write, and execute code on behalf of plans that it's been instructed to do so. Oddly, it seems that Open API (Open API, not OpenAI) is the critical ingredient to make agents work reliably. Open API gives documentation access to so that the Agent knows how to properly format requests and parse responses.

  2. This begs the question. If the AI agent can generate arbitrary code, does it really need a database wrapper like HubSpot, SAP, store and retrieve data? Why couldn't the agent store every customer into the company file system, use SQLite to index and query efficiently?

  3. Take this even further, does an AI agent that can generate code take out all the broker applications such as Stripe? Why can't it start talking to bank APIs directly?