Last week, I wrote about AI completing complex tasks and prompting techniques to make it happen. I wanted to follow up with something more practical.
One of the startups that has been thinking about this space for a while is Fixie.AI. Fixie is a cloud-based platform for building, hosting, and scaling natural language agents that integrate with arbitrary tools, data sources, and APIs. They just raised a $17 million in seed funding led by Redpoint, with participation from Madrona Venture Group, Zetta Venture Partners, SignalFire, Bloomberg Beta, and Kearny Jackson. They have a world class team of engineers from Apple, Google and Shopify.
In this essay, I’m excited to interview their CEO, Matt. We’re going to talk about how AI will take actions, how software will change as a result of AI and much more.
A model for actionable AI
Whenever I think about AI helping us with something, I default to the following mental model:
First, the action has to be time consuming and frequent. You could apply AI to other actions but the ROI is going to be lower. As a result, people are going to be less willing to take risks with it.
Second, you want the consequence of failure to be low. If AI is taking actions without a human in the loop, you really want to ensure that the outcome isn’t terrible if it gets it wrong. In the short-term you can achieve accuracy with a human in the loop, and eventually aim for full automation.
How does Fixie work?
Fixie’s mission is to use the power of LLMs and help businesses automate tasks.
In order to do so, they help businesses build “agents”. Agents combine the power of LLMs, data sources and APIs to execute tasks. LLMs are used to break down complex tasks, figure out how to execute each task and then actually execute them. Data sources are used to give the LLM access to private data. APIs are used to execute the actions (e.g. send an email).
This is best described by an example. Imagine a customer submits an enquiry asking if they can exchange a t-shirt. Fixie’s customer service agent can handle this task by breaking it down into the following steps:
- Find the order history for this customer from a database. This is required to understand what the order had. It might also be used to determine whether the customer is “high value” or “low value”.
- Check whether the correct size for the customer is available. It might do so by looking into a database that contains the latest inventory for all products.
- Issue a return label. Most e-commerce sellers require customers to attach a bar code label before you return an order. Sending this label to the customer saves them time and is a better customer experience.
- Finally, once the “agent” has all the information it needs it will write an email to the customer and resolve the query.
Now, the first question that comes to mind if you’ve worked in customer service is why the situation above is novel. If you think purely in terms of outcomes, it doesn’t seem novel. You can achieve the above by stringing together a bunch of APIs.
The beautify of AI taking actions is that it is deterministic. The traditional method in customer service automation is to define intents and actions. Something like “If X, do Y”.
AI throws this in the bin. It has the ability to establish intent without you defining it. The process outlined above is how the LLM works. The agent is choosing those four actions by reading the customer’s question, determining the next best action and then executing. This is supremely powerful.
On the flip side, the non-deterministic nature of AI needs to be handled very carefully. Builders have to acknowledge that the product won’t produce the same output every time single time. This is precisely why the graphic above has the line: “Please review before sending”.
I believe action oriented AI is supremely exciting and Fixie is at the heart of it. Now that you’ve got the context, here’s my interview with Matt, their CEO.
Interview with Matt Welsh, CEO of Fixie
What prompted you and the team to launch Fixie.ai?
When we started Fixie, the idea was very different -- we were exploring ways of using large language models to help software development teams be more productive. Things like automating code reviews, dependency management, and debugging production outages with AI. As we started building this out, we started to notice a general pattern emerging that we could teach the LLM "new tricks" using few-shot learning, coupled with extensions to call out to external functions. Using this technique, rather than having to train a new model to understand the GitHub API, for example, we were able to build an LLM-based agent to go from natural language to the GitHub API in something like ten minutes! This was a new idea at the time, but has since been popularised by things like LangChain and ChatGPT Plugins. We completely changed our focus to building out a platform to help companies integrate this power of LLMs into their own products and tools.
Sounds like the mission of Fixie is to bring the power of AI to small and medium businesses. Can you say more about this?
Yep. Our core mission is to make it easy for companies -- big and small -- to integrate LLMs into their software stack. Today, building LLM-based capabilities into a product is a lot of work. You need to manage models, API keys, token limits, embedding, vector databases, and more. We see the emergence of a new software stack where LLMs, acting as general-purpose problem solvers, are at the core. By using LLMs to do complex symbolic manipulation and interfacing with systems and tools, we think companies can build much more sophisticated software with a lot less effort. We also see a big opportunity in meeting the needs of enterprise customers, which are not well-served by the existing stuff out there.
Can you talk about some ways in which early customers are using Fixie?
One of our early engagements is interfacing Fixie into an existing customer service ticket-handling workflow. The idea is that when a new ticket comes in, they can call out to a set of agents, running in Fixie, that do things like categorise the ticket, assign it to the right (human) agent, and draft a reply to the ticket automatically. While we've seen a large range of vertical products trying to tackle each of these individual pieces of the problem, we're finding that customers often need a high degree of customisation in terms of how exactly the LLM operates on their data. This is why we're approaching Fixie as a developer platform, rather than as an integrated product for a single vertical like customer support.
How do you see human vs AI interaction going forward?
My own view is that, over time, we will view the rise of AI as similar to the industrial revolution, or more recently, the rise of personal computing. In both instances, new technology allowed us to automate work and processes that were done by hand (whether it was digging in a field or operating a Linotype machine). Humans were not put out of work in either case. Rather, the nature of the work that humans would do changed over time -- such as designing, building, maintaining, and operating machines rather than doing work by hand. I think people are justifiably anxious about the impact that AI will have on our society in the short term, and there will be a period of time when we have to adapt to the new reality.
Many folks are currently dismissing building on top of OpenAI as a “zero moat” strategy. How are you thinking about this and defensibility in general?
I don't think that building on top of OpenAI is necessarily a zero-moat strategy, but I do see an approaching tidal wave of new models, both commercial and open source, that is going to eliminate, or at least undermine, the monopoly that OpenAI currently has on the LLM market. We're betting on a future in which access to LLMs of all shapes and sizes has been commoditised, and one will be able to pick from a wide range of models depending on the job at hand, the budget, performance requirements, and so forth. Fixie is intended to be model- and provider-agnostic, so we can harness a wide range of different models from different vendors.
From the looks of it, Fixie is attempting to build a horizontal product. Was this always the intention? How do you think about this vs. focussing on a super specific use case like legal or accounting?
Our belief is that there's much greater value in building a platform rather than a single vertical product. Given the tremendous range of use cases for LLMs and AI in general, we want to be positioned to support a broad range of customers, rather than only serving one or two verticals. That said, during the initial phase of the company we'll need to focus intensely on a couple of areas to demonstrate real value. One of the fun problems here is deciding which of these areas to focus on first.
If there is one task that a new user should attempt to complete on Fixie today, what would it be?
We'd love to see people building their own Fixie Agents for their own specialised use cases. I'm building an Agent right now that slurps up a list of URLs, indexes them, and summarises them for me -- basically a "ghost reader" that can scour the large number of web pages I really wish I had time to read in depth! Our hope is that a bunch of people find their own use cases for the system and build their own Agents for them.
Do you believe that Chat based UI is the future? Any examples of where it does and does not work very well?
When we started Fixie, I was quite adamant that we were not building a chatbot -- and here we are, 6 months later, having done exactly that! I think that chat certainly has its use cases but I would not try to cram a chat interface into everything. You can get the benefits of LLMs without using a chat interface. For example, Fixie can integrate with Zapier, so you can run Fixie workflows automatically based on anything that Zapier knows how to do -- such as when a new email is received or a new calendar event is created. In these cases, the LLMs are running in the background, processing text and calling out to other systems to invoke code -- no chat interface is required.
How do you envision the marketplace for agents and tools in the coming months?
One of the incredible things about building agents with language models is that they can communicate both to human users and other agents in natural language. This opens up a huge opportunity for enabling disparate software agents to discover one another and collaborate. At Fixie we've already seen this behaviour where an agent might ask for help with a task, which is routed to a different agent that can fulfil the request. Sometimes this happens without us specifically instructing the agents to do so! What this means is that it is now dead simple to connect anything to anything, no coding required. In turn I think this opens up an opportunity where we have a marketplace of agents, implemented by different people, running anywhere on the Internet, that can be assembled quickly into a solution to a given problem. Fixie makes this easy to do, but it seems plausible that, given the natural interoperability of agents (using natural language) many other marketplaces may emerge as well.
The ChatGPT Plugins feature is a great example of this and assuming that OpenAI can build the right user and developer experience, seems like it will provide a lot of value for end users wanting to leverage ChatGPT for lots of interesting tasks. Fixie's a little different in that we are focused on enterprise customers rather than consumers, which have different requirements in terms of hosting, regulatory compliance, data protection, and so forth. I'm super excited to see what happens in this space!