AI Summer School #2: Call My Agents
“Agents” are a big marketing term for AI companies right now—but how do they actually work? In the second installment of AI Summer School, Paul and Rich are joined by Aboard Director of Engineering Kevin Barrett, who breaks down what “agent” actually means, and how they function within the platform. Plus: In the process of demoing Aboard’s agent capabilities, Paul becomes transfixed by the breeding records of a fictional alpaca farm.
Show Notes
- From Simon Willison’s blog: “An AI agent is an LLM wrecking its environment in a loop.”
- “My guide on what tools to use to build AI agents (if you are a newb)” by Reddit user laddermanUS on r/AI_Agents.
Transcript
Paul Ford: Hi, I’m Paul Ford.
Rich Ziade: And I’m Rich Ziade.
Paul: And this is The Aboard Podcast. It’s a podcast about how AI is changing the world of software development. It’s created by people who are using AI to change the world of software development. Rich, it is hot. It’s August. It’s 92 this morning.
Rich: Is it 92? That’s moist.
Paul: Yeah, I rode my—
Rich: That’s what I call moist.
Paul: I rode an e-bike in. It was a little bit of a mistake, is what I would say.
Rich: Which, e-bike, you’re not doing that much work, but just being out there…
Paul: You are doing some work, yeah, but not much. Not much. Climate change is real. Just wanted to drop that in there. The, so today, so last last week, we talked about, like, what in the world is going on? What are LLMs? We talked to ChatGPT a little bit. And we sort of, what we’re doing here is we’re just trying to get people, before September hits and everybody has to stop pretending to work and actually start working again?
Rich: Yeah.
Paul: Just get them kind of up to speed on where things are with the world AI. So that one was the basics. And now we’re going to drill in a little bit with some advanced nerd help.
Rich: Mmm hmm.
Paul: And we’re going to talk about what—get ready—agents are. Okay?
Rich: Mmm.
[intro music]
Paul: Now, when I say agent, what do you think?
Rich: I think agents are really smart, thoughtful, automated scripts that can go do things.
Paul: Okay.
Rich: That’s how I think of agents.
Paul: Let’s go out one level.There was a, there was a show called Entourage, now considered one of the most problematic shows that ever existed.
Rich: Oh! Okay. All right.
Paul: There is an agent character on that. What did they do? They made deals. They move things along on behalf of their client. Right?
Rich: They represent your interests, and they go out there and they do their thing, and they take their cut.
Paul: That is, that’s real.
Rich: Yeah.
Paul: Then there’s, like, the call center agent. There’s the person who you’re like, “I need a little help scheduling an appointment,” or, “I want to buy this.”
Rich: They’re at your service.
Paul: They’re at your service.
Rich: In a good way. They’re sort of, like, I mean, that’s a lot of the AI conversation, is about how these machines are going to allow us to kick back and just sip out of a coconut.
Paul: And just to go meta, the purpose of the agent is to get you to that coconut state. They drive a transaction. They help you sell your book or your, they get you a role in a movie, or they help you get the rental car set up.
Rich: That’s right. That’s right.
Paul: So it’s about, like, they’re kind of about getting the dotted line signed in whatever way.
Rich: Yeah. But, you know, this is our plain English explanation. We’ve got an expert here.
Paul: We really do. And in fact, someone who really understands this world very practically and much more than we do. Kevin Barrett, hello.
Kevin Barrett: Hello.
Paul: We’re very glad you’re here. You didn’t have a choice because you have—what’s your job? What’s your title?
Kevin: That’s true. I work for you. I’m a director of engineering at Aboard.
Paul: There we go. So we have roped you in as our agent expert to tell—and you’re about to say, like, “Well, no, I’m not really.” But you are. You actually are, because you’ve done a ton of work implementing active conversational agents. We’ll demo and look at a little bit of that work in a minute. First of all, I just kind of want to break down. The agent concept is everywhere. Like, it started with chat—
Rich: It’s a big part of the AI conversation.
Paul: Like, Amazon, Microsoft, IBM, Google, et cetera. Like, everybody—Salesforce has Agentforce. [noises of derision] Okay?
Rich: Whomp whomp.
Paul: [laughter] Which is when they force agents down your throat for millions of dollars a year. It’s just, like, relentless.
Rich: Yeah, I mean, it’s a huge part of the conversation, I think, partly because it’s such a simple metaphor, which is like, “I can send this thing off to do a bunch of stuff for me.”
Paul: Yeah. So this is—I’m going to throw to you, I’ve got a couple different definitions, but here’s how I understand an agent. It’s a little script that has the context of the LLM. Like, you talk to this thing for a little while and then it says, like, “Okay, I’m going to go do something in the outside world. I’m not just going to talk to you anymore. I’m going to go look at prices on Amazon, or go find out about hotels and reservations, or try to find books that are about characters that happen to be owls, or whatever it is. And then I’m going to come back and I’m going to tell you what I learned, and then you might tell me to go back out again—or the computer might tell me to go back out again.”
So I think when I, when I say that, like, we’re going to see this in action. We’ve talked to you. What is an agent? What do you think of when I say agent?
Kevin: Right, yeah. You showed a picture of a call-center agent.
Paul: Mmm hmm.
Kevin: And if we, if we imagine talking, you know, everyone, you call a number and you press 0 a million times, because you want to talk to a person.
Paul: Yeah. Desperately.
Kevin: And if we imagine being able to talk to one of these people, and all they can do is talk back to you? That’s an LLM.
Paul: Okay.
Kevin: The allure of these people, when you call them, is that they have the, they have the admin interface available to them. They have, they can get into the system. Right That’s what an agent can do. So the difference here is that an LLM could reach out into a broader system and do something on your behalf.
Paul: So I call Hertz Rental Car and I want to rent a car. They have all the information about the cars that are, you know, it’s—I need a red van.
Kevin: Right.
Paul: And they’re like, “I got it, I got red in van. I can search on those terms and I can tell you, I got five of them in Tucson, Arizona.” So you’re flying to Tucson, red van, you’re lined up. No one else can give me that information.
Kevin: Right.
Paul: So, okay. So that’s, what an agent can do, is kind of go out to the world and kind of do those filtered queries, sometimes directly from the database offered by a company.
Kevin: Right.
Paul: And then report back.
Kevin: We’ve pre-configured an LLM to say, “Here are all the actions you can take in the world.” And maybe in this example, it can look at a database to see what cars are available, and it can create a new car-rental record. And these are things it can do now that it couldn’t do before.
Rich: It could check the weather.
Paul: Is this what MCP enables? Model Context Protocol.
Kevin: Yes, that’s a pathway to enabling this. So there’s a few different ways to kind of make this magic happen. MCP is one of them.
Paul: Okay. All right, so let’s walk it through. I’ve got this definition here that I think is really interesting. It was on Simon Willison’s blog, and he’s quoting an engineer named Solomon Hykes, who said that, “an agent is an LLM wrecking its environment in a loop.” And I don’t fully understand it, so I want to talk about it with you. Let’s do the car rental thing. I love renting cars. So I’ve actually created an…I’ve gone in here with my LLM and I have created an agent that will go out and, like, try to find me the perfect car to rent, like, almost every day. It’s just my thing. It’s a real weird pathology.
Rich: Hmm. That’s really exciting.
Paul: It’s a terrible, terrible problem, and it’s ruining my family. [laughter] But for the purposes of this example, I’m just going to be renting cars all the time. First of all, how do I make an agent?
Kevin: Right.
Paul: What is this?
Kevin: So…
Paul: So I’ve opened up ChatGPT, I’m talking to it, but I know I need an agent. Now what?
Kevin: Right, so the key bits here, as quoted by Solomon Hykes, is like, we need an LLM and we need a loop, and then we need some way for it to reach outside of itself. So—
Paul: So a loop is just, like, it’s the program, it goes out, it does a thing, and then it does it over and over again.
Kevin: Right. Yeah, we tell it to do something, it goes out, it does a thing, it says, “Okay, what next?”
Paul: Okay.
Kevin: It has a set of tools. Some of those tools might be facilitated by MCP, some might be tools I’ve given it directly. But it can do those tools. It can reach out into the system and do something. And it comes back and says, “I did the thing. Now what?”
Paul: Okay.
Kevin: And it just keeps saying, “Now what?” Over and over and over again until we say, “You’re done.”
Paul: So I open up Windows and there is an app called Microsoft Word. And I double click on it and now I can type in the Word and then I can save that. That’s how computers work, for the most part, right? Not a lot of subtlety. This is like a different kind of way of executing programs. Like, like, when I open up Windows, I’m using—when I open up Word, I’m using Windows as, like, the environment. Right?
Kevin: Right.
Paul: Like, I’m using Windows icons and Windows stuff to like, do Word stuff. And then I type and I hit print and everything works out great. In this context, it feels like the LLM is the operating system. Like, I have this environment that, like, Anthropic or OpenAI provide. And now I run a little program, but it’s totally inside of their world.
Kevin: Right, yeah, yeah. The LLM is effectively the operating system and English is the programming language.
Paul: So agents are like programs. Like, double clicking on—running an agent is like running a program in Windows.
Rich: I think there’s a missing layer there.
Paul: Please. God, because I’m struggling right now.
Rich: I think if you load 3D Pinball in Windows, it’s designed to just do that thing.
Paul: Is that the one that was built in?
Rich: It’s the one that’s built in. I played a lot of that.
Paul: Did you ever play that one?
Kevin: No, I played…
Paul: That was a good one.
Rich: I forgot what it’s called. Anyway, these are very predictable, finite sort of sets of instructions, whether it be playing a pinball game or you know, a calculator on your desktop. I think that the difference here is that there is a certain level of autonomy to agents. In fact, a lot of this is about reining in the autonomy of agents. When you send an agent out to go and comparison shop rental cars and then put them in a grid and then make a decision and then pull your credit card info out to rent it, and it’s deciding which days because it looked up your flight info. Like, all of that stuff is quite autonomous, there’s an autonomy aspect to it. It also runs the risk of going off the rails.
So did you have to code all that? You really didn’t. You kind of have to just sort of say, “Hey, go out and do these things.” It’s a punch list. But then you’re kind of on your own, to a large extent, or to a lesser extent, a lot of this, that’s where I think the nuance is.
So I think it’s not, just like LLMs, you just kind of don’t have an exact idea of what it’s going to reply back to you. Agents have some autonomy and they’re given, they’re given directives, let’s call them that, for lack of a better word, and then they kind of go off.
Paul: Kevin, you’ve written a bunch of agents, right?
Kevin: Yeah.
Paul: And I think probably the best thing to do, maybe we’ll come back to this definition, is demo that.
Kevin: Sure.
Paul: And then sort of, you know, we’re going to look at that this week and we’ll probably look at a little bit next week when we build a whole app. But Aboard is an agent-powered system. Let me get Safari up.
Rich: I think, while you’re setting up, Paul, I want to ask Kevin a question. Agents that are coming in cold, that have no context, are probably not as useful as ones that have some context or some sort of pre-loaded knowledge, right? Talk about that for a second. Because, I mean, there’s sports agents and then there are call-center agents. Like, two very different things with very different goals. So how do you get an agent ready for work?
Kevin: Right. So an agent probably has a prompt baked in, and that prompt includes, usually, a list of things that it should probably try to figure out. And so it’s an LLM like any other. And so it’s good at asking questions and getting answers and broadening its own context window.
Rich: Mmm hmm.
Kevin: The difference here—and the thing that makes it an agent—is it also has these tools that it can go do afterward. So you can tell the LLM, “Hey, ask the user what kind of car they like, what color, how many seats. These are all things you need to know first before you can do anything else. Then proceed.”
Rich: Yeah.
Kevin: So you tell all those things and then it goes and it bankrupts your family by renting a million cars.
Rich: Mmm hmm.
Kevin: And that’s the thing it can do because it’s an agent. But prior to all of that, yeah, you have to bake in to the prompt what you might need. And that’s kind of how it knows how to collect information and makes the difference between a sports agent and a car-rental agent.
Rich: Got it. So narrowing its context initially and giving it some sort of guardrails.
Kevin: Yeah.
Rich: Helps it be more effective, effectively.
Kevin: Right. There’s a prompt in front of you that’s hidden somewhere.
Rich: I think a lot of people who are new to AI don’t know that all of this, it sounds fancy, and you can package it up as an agent. An Agentforce. Eyes rolling for the audio listeners. Is that a lot of this tech is just strung-together prompts.
Paul: Well, you know what’s wild, I’m reading, we’ll talk about this more later, but I’m reading The Empire of AI book by Karen Hao, which is about sort of the story of Sam Altman and ChatGPT, and “agent” in the context of AI is, like, a decades-old concept.
Kevin: Sure.
Paul: And they kind of locked in, they finally found something that worked. They were trying everything, they were really excited.
Rich: And then they resurrected it as sort of this key way of telling the story.
Paul: Yeah. Like, they’re just kind of bringing back marketing concepts from back in the day. There was a big idea with the semantic web 20 years ago that would go out and schedule appointments for you using these big knowledge-graph kind of concepts.
Rich: Yeah.
Paul: And so this is an old idea that’s been resurrected and jammed into this new thing. And then they’re like, “Yeah, see, I promised you it was intelligent.”
Rich: Can I ask one more question before you do your example?
Paul: Well, Kevin’s going to help me, but yeah, go ahead.
Rich: Why can’t I just set up an agent and say, “You are a brilliant software architect that’s built hundreds of apps for all sorts of businesses throughout your career.”
Paul: Brutal thing to ask a Director of Engineering that we pay. [laughter]
Rich: “Now make me this app.”
Kevin: Right.
Rich: Why can’t—why doesn’t that work?
Kevin: Much like a person, you can tell it that it’s brilliant, but that doesn’t make it brilliant.
Rich: Okay.
Kevin: It’s drawing on the same kind of corpus of data that any other use of that model is. And so it has a ceiling on what it can conceivably do. It’s a massive ceiling, the horizon is very, very far away, but it’s still a horizon.
Rich: Mmm hmm.
Kevin: The way that you would guide it is more trying to give it a set of goalposts to kind of progressively reach, rather than saying, “Look, you’re brilliant, you’re amazing, go.” Because…
Rich: That doesn’t work.
Kevin: It could go anywhere. It could do anything. That’s not actually being told what to do.
Rich: Will I get a fully built, functional application?
Kevin: I mean, it depends on what it decides to define as fully built. It would not be—to the average person, it would appear to be subpar, probably.
Rich: Okay.
Paul: Can I make a quick observation? Which is, LLMs seem like human simulators, but they’re actually just language generators. Okay? And then what happened, because language generation is kind of powerful and interesting, we’ve been building, everybody working in this space, has been building human simulators on top of the language generators. And that’s kind of what an agent is.
Kevin: Sure.
Paul: I’m about to—so what I’ve done is I’ve loaded up, I went to aboard.com and I put in a prompt, and I’m managing my large alpaca farm. Okay? We love alpacas.
Kevin: As you do.
Paul: We do. We love alpacas. And I asked for herd management, employee management, tour-group planning, and a central dashboard.
Rich: Central alpaca dashboard.
Paul: Exactly. I left out breeding, because this is a family podcast.
Kevin: Thank you.
Rich: Fine.
Paul: Absolutely. So it’s given me a list, and, you know, my understanding is that within a question or two, the agents are about to start talking to each other.
Rich: You said agents, plural.
Paul: Well, let’s see it. And then Kevin can tell us what’s going on.
Rich: Okay.
Kevin: Right.
Paul: Okay? It’s now doing roles and security. So let’s zoom in a little bit so that you can see it clearly, Kevin. It’s generating roles, and there’s all this text it’s passing. It’s saying, I’ll read you some. “Regular staff employees can view their tasks and schedules, update their own performance. A veterinarian may need extended access to health data.” So now, it spit out pages of text, and now it produced these user-role definitions.
Kevin: Right.
Paul: And from my understanding, agents have been talking to each other.
Kevin: That’s correct.
Paul: You wrote agent programs.
Kevin: Yes.
Paul: And what programming language did you write them in?
Kevin: So all of our agents are written in Elixir.
Paul: Okay. So that, it’s kind of like Ruby, but a little more fancy, for the more advanced crowd.
Kevin: Yeah. It has some things that appeal to the functional programming nerds. Crucially, the bit here that’s important is that everything in Elixir runs as a process, and so it runs as a thing that’s in the background forever, as long as you want it.
Paul: So it’s not just one LLM thingamajig going on. You’re, you’ve got these like actual little bundles of context—
Rich: It’s a meeting.
Kevin: Yeah.
Paul: They’re having these—
Rich: With, like wrap sandwiches.
Paul: So these little LLM guys are talking.
Rich: To each other?
Kevin: Dozens of them, yeah.
Paul: Dozens. And they’re chat—what are they, what do they say to each other?
Kevin: So they are trying to figure out, based on this alpaca kind of prompt you gave it, what exactly you need. And so there are ones that are saying, “Hey, I’m the one in charge of roles. Like, let me think about roles.” And some of the text that you quoted, was it thinking, right? It’s kind of internal deliberation.
Paul: So it’s reasoning. When they say “reasoning,” it’s kind of what it’s doing.
Kevin: Yeah. I mean, “thinking” in massive quotes, right? Like, this is a, this is a convention that we use to talk about the way that it guides itself.
Paul: This thing is not human. But like when they, when they’re—that’s actually what reasoning is in an LLM, when people are talking about it doing reasoning, It’s kind of feeding itself its own output and trying to, like, it’s… It’s being its own agent.
Kevin: Yes, yes, yes. And so there’s the role, one goes, and then, even now, in the background, as this is running, we’re doing other work to prepare your application. So there are agents running even right now that we can’t see yet that are building views and models and thinking about how this might all string together.
Rich: Data models, UX views.
Kevin: Yeah.
Rich: All the different pieces that make up an app.
Paul: Let’s talk about our product for a minute, because it’s relevant. What we do is we use an LLM to create the sort of best first draft possible of a piece of software. Now I’m going from a sentence to a pretty robust piece of software. I’m deploying it. It’s real. So there’s a lot of gaps. Okay? Some of the gaps are going to need to eventually be filled in by humans figuring out what the alpaca farm really, really needs.
Rich: Always tweaking.
Paul: But we’re aiming for that first draft. I’ll give you an example. I did not mention veterinarian. I didn’t even think about veterinarian. But the agents went off and they talked about what an alpaca farm might need to manage. And I did say health, I do want to manage my alpacas.
Rich: And it made a veterinarian role.
Paul: It added a veterinarian role. And this is a medical professional with permission to access and update alpaca health records, medical history, medical notes. And they also receive—
Rich: Alpacas are protected by HIPAA as well, by the way.
Paul: [laughing] They really should be, especially with their adorable faces.
Rich: Oh, get over yourself.
Paul: Ahhhh! I love alpacas. Anyway.
Rich: They are very cute.
Paul: We hit return and all those little thingies started talking to each other and they came up with things—I didn’t use the words “tour coordinator,” etc. So they used the LLM, the LLM’s ability to generate language, to kind of keep refining each other’s output.
Kevin: Yeah.
Paul: And that gave us a list of roles. And kind of like, I’m guessing the list of roles correlates to data, because we actually have to say in, like, a very explicit, computer-understandable way that a veterinarian can only access these records and not these records. Like, they’re programs—
Kevin: Yeah. I mean, you can kind of glean from the description of veterinarian that there’s access control happening in the background.
Paul: Right. And that’s data. That’s just programming. So it’s just sort of like, it’s just filling in the schema a little bit.
Kevin: Right. Yeah.
Rich: So why do this? Why not just ask AI, “I need roles for this app. I need models for this app.” Why not just in a linear way, ask the LLM what you want? Why do this? Why have these conversations?
Kevin: Right. A thing that we’ve discovered, as an industry, is that LLMs can do better work if they can be guardrails for each other, if they can build up context windows together, if you can delegate specific tasks to specific kind of agents and sets of context and tooling, it’s much, much better than saying, we’re going to have a single massive conversation. And every, every time you—let’s say that you’re using ChatGPT or Claude and you’re having this very long conversation, it’s not a human, it’s not thinking in that way. What you’re doing is you’re building a massive context window, and the bigger that context window gets, the more blurry it’s.
Rich: The hairier it is—
Kevin: Yeah.
Rich: Yeah.
Kevin: Until it starts making up things you never asked for or confuses itself.
Rich: Yeah. Goes astray.
Kevin: Yeah. The alternative here is we’ve had this team that is working together and they’re so focused that they can just do the thing and get out.
Paul: So little context is bumping into each other as opposed to one giant context.
Rich: That’s it. I think that’s key here, right?
Paul: Mmm hmm. We’re doing it right now. We’re building the Blueprint, it says, and it says, “Our workflow agents are building your application workflows.” Which is funny because I think the first time we wrote it, we were hand-waving a little bit in a marketing context. But that’s actually what’s here.
Rich: That’s kind of what’s going on.
Paul: And here’s what I’ll get—to optimize the sidebar for the Alpaca farm-management application, I need to, it’s going so fast, you know, dashboard should be, I need to remove any items whose only meaningful context is a related model.
Kevin: Right.
Paul: So it’s actually thinking about the data model—again, everything in quotes, but it’s thinking about alpacas and it’s communicating about alpacas. And the header title is missing. So a concise, friendly name like Alpaca HQ or Paca Plan.
Kevin: Yeah, I mean that was literally, that was the view agent, which is one of the last ones to run because everything—the view is a reflection of everything.
Rich: Pulling it all together.
Kevin: Yeah.
Paul: Okay, so what you’ve done is a lot of little programs in Elixir are, like, opening up connections to ChatGPT and they are saying, “Hey, I got this little problem here,” and it’s getting text as a result. They’re calling out, essentially you’re having lots of little chats and then the outputs of the chats, you’re feeding them to the other agents.
Kevin: Yes.
Paul: And as a result, you don’t need a giant context window. You can create a real model for this application and turn it in the data by letting these sort of virtual characters bump into each other.
Kevin: Yes.
Paul: And that gives us a credible—I got to say, we’ve been getting feedback from lots of users. I’m going to open up the software now. And it’s a incredible first pass. Like, it’s the sort of thing that at work we would get onscreen years ago after, like, a month or two. But it happens in five minutes—and it’s, again, it’s missing lots of detail and so on and so forth.
But you know, it brings up Alpaca HQ. It’s a nice name for it. And I’ve got tables for alpacas, herds, tour groups, you know, and there’s missing data like one—many of the alpacas have unknown names. But Chloe is white and she has an ear tag of 1029A. [laughter] And she was a productive member of the hill pasture herd and dam to several offspring. I’m guessing dam an official alpaca, like..
Kevin: That must be some industry lingo.
Paul: Removed from active herd in June 2025 due to progressive age-related health issues.
Kevin: Rest in peace.
Paul: No, she’s with—June 20th. She’s fine. She’s retired.
Rich: She’s retired. Okay. All right, we can talk about that.
Paul: What—
Rich: This is a particular process. I feel like we focused in on agents and how they work at Aboard.
Paul: Well, this is the thing we know. So that part’s good.
Rich: What’s the difference between this and putting in a prompt in, like, a tool, like Lovable or Replit, and then watching it go to town?
Kevin: Those are more focused on generating code. And so they, the… The outputs are not as structured. Right? So as a brief aside, I don’t know how those things work internally.
Rich: Yeah, sure.
Kevin: Yeah.
Rich: But you’re right. They go, like, when you hit enter, within a few seconds, it’s coding.
Kevin: Yeah. And we know that LLMs are good at generating eagerly. They want to please you. They want to—
Rich: All day, yeah.
Kevin: This is all metaphorical, right? But they very much want to just produce. And when you produce a lot of code, some percentage is guaranteed not to work.
Rich: Yeah.
Kevin: When you produce, for example, JSON or some other structured data that you can validate, you know, oh, well, like, this will always run. This will always work. And so…
Rich: Because it’s adhering to some specification of some sort.
Kevin: Right, yeah. And then you shift the kind of, the onus of what it makes to write an app to, well, now I’m authoring specs.
Rich: Yeah.
Kevin: I’m no longer running code. I don’t care about any of that. What I care about is authoring specs.
Rich: Yeah.
Kevin: It’s a very different way to go about building these things, but it’s much more reliable.
Paul: Wow. Duke of Aspen was a champion sire in last year’s breeding program.
Rich: Go, Duke.
Paul: Yeah, he’s doing pretty well.
Rich: I have a closing question.
Paul: Unfortunately, he has a mild limp. I have a closing question too. No wonder.
Rich: Two closing questions. Can we do that?
Paul: Yeah, I’m just wondering how Duke of Aspen got that mild limp.
Kevin: This is great.
Paul: No, I know. We’re looking at, for those who are listening, an alpaca, a nice alpaca application that would allow me to really run a pretty good alpaca farm. I’m sure there’s things missing, and any alpaca experts should get in touch and give us some feedback. Rich, you ask your question, and then I’ll ask mine.
Rich: Why are agents important?
Kevin: Well—
Rich: Is it legit? Is it a legit thing to focus on?
Kevin: It’s legit thing to focus on. I mean, of course it is a marketing term. Right? But it is, to go back to the very beginning, we went from a thing that you can only talk to, like, text in, text out, to a thing that is text in and text or action out. And that’s a huge change, because now it can do stuff like talk to itself. It can do stuff like search the web. It can do stuff like author code. It can go to GitHub and fetch more information. It can go kind of anywhere on the internet. And so that’s just, incredibly—even if there are no more advances in models from this point forward, we’ve still taken a step forward just in capability.
Rich: Sure.
Kevin: So, yes, I think it’s worth paying attention to.
Paul: And this thing is obsessed with alpaca breeding. [laughing] I know you’re talking. You’re saying something.
Rich: Paul—
Paul: Literally every single alpaca. It’s just—
Rich: Paul—
Paul: They don’t care about their personalities or their hair or anything.
Rich: What?
Paul: Consistently healthy dam from the core breeding structure, strong maternal traits. They don’t treat these alpacas as people.
Rich: That’s another podcast.
Paul: Okay, so finish your thought.
Rich: He just did. [laughter] That’s it. I mean, let’s ask your closing question.
Paul: Okay. This is my, because it is summer school, right? Okay. I think we’ve learned one thing which is—we’ve actually, we’ve learned two things. We did a demo and we talked about it, and hopefully it made sense on the podcast as well as on video. But like, we’ve learned that this does work. It generates outputs and the outputs look like data. So this is real. It’s not just marketing. Like you just said, so that’s real.
We’ve also learned that it’s a very—it is an ambiguous marketing term. It’s used very broadly across industries. So there’s no one thing that I think you could say, like, “This is an agent,” and everybody would just agree completely. You’ve got those definitions, like, “It’s wrecking its environment in a loop,” and you’re writing a set of—and you see them more as, like, a collective set of little routines that use LLMs to update context. Other people, I think, see them more as going out getting data and sort of operating on that data, like renting a car or whatever.
What if I wanted to build something just to learn and try? Where would I start, do you think? Like, I don’t know, awesome agents—
Rich: When you say build something, you mean an agent?
Paul: Yeah, I mean I’m a Claude or ChatGPT user and I just want to get started in any way to understand this world.
Kevin: Yeah, this is a great question. I mean I… So I can take a brief aside to talk about the fact that we’ve been doing all of this in Elixir, which is the language we work in in the backend at Aboard. It’s a very niche, nerdy language. It’s very good for this specific thing.
Paul: Because of all the processes it kind of splits off—well, it’s a good server language. It’s good for hosting things.
Kevin: Right. Well, yeah, and you can run—and this whole kind of, like, running in a loop thing is integral to how Elixir works. And so I’ve never had to face the—I say this to say, I never had to face the question of, “How do I start this from zero?” Because we started from 60% of the way there with Elixir, which is, it’s been very funny, by the way, to watch companies like Microsoft reinvent, effectively, the Elixir runtime in Python.
Paul: This always happens. People reinvented all of computing in JavaScript, right?
Kevin: Right, yes, exactly, yeah. That being said, I would probably reach for Python because it is the language that all this research is happening in.
Paul: I mean, let’s take a look. Like, “Write a Python agent.”
Rich: I have an answer for the non programmers too.
Paul: Okay, go ahead. Answer that and I’ll go find the…
Rich: Anthropic’s Claude product has something called Claude Projects, which are essentially ways to create contexts that you can load up all sorts of, like, sort of preface knowledge, like, a document or text that you want to paste in, and then that thing lives there, and that prompt is always thinking within the context of what you fed it first.
Kevin: Yeah.
Rich: Which is still conversational, but that’s a lightweight sort of specialized agent, so to speak.
Kevin: Right.
Rich: That gives you a sense of how these things work. I think what Kevin’s talking about is more sophisticated. And we’re also making agents talk to each other, which is kind of our little twist on things.
Kevin: Yeah.
Paul: There is no—I just did the cursory search. I’ve looked for this stuff before. I use Claude Code to learn a lot. So Anthropic has guides on this. Here’s what’s wild about this space. If you just do the Google search, you’ll find, there’s a good Reddit post called, “My guide on what tools to use to build AI agents (if you’re a newb),” or stuff like that. And I’m sure there’s resources on GitHub. People act like this stuff is done, like it’s all like—
Rich: Or that there’s an IDE for agent building.
Paul: This is a very, very early part of this world.
Rich: The marketing and the storytelling is ahead of the actual tools.
Kevin: Yeah, I think I have a pretty decent answer if you are a beginner to mid-level programmer—or beyond, which is to write a for loop and inside of that for loop put a call to an OpenAI API or Claude and go, that is an agent.
Paul: Actually that is pretty easy in many languages. I’ve done this and it’s, you can, you can, whatever you know, you can probably do this, right?
Kevin: You take the output of, of it and you feed it back in the beginning of the loop and that—now you’ve, now you have an agent. It might not do much, but it is technically an agent.
Paul: I mean, you can theoretically be doing some of this in plain English, too. Like, you sort of have to set up the for loop, but then you’re sending prompts to the LLM. You’re actually doing—it’s English inside of the program programming language.
Kevin: Sure.
Paul: All right, so it’s a funny one, this, this because there is like agents are real. They do things, they do things at our company. But anyone who could, there is no, like, “Here’s exactly what it is and here’s what to—”
Rich: It’s kind of an abstraction and it’s a way to talk to non-engineers about what’s going on.
Paul: We need clarifying terms for what, like, we have a conversational agent model. Others probably have, like, data fetching.
Rich: Transactional.
Paul: Transactional, yeah.
Rich: Analytical, or so on.
Paul: Yeah. So I think, like, that language doesn’t exist yet. Like, I can’t sit down and be like, “Oh, I’m working on this kind of agent. Oh, I’m working on this kind of agent. Oh, what do you, what tools do you use?” It’s all really blurry. Maybe it’s not in the Valley where everybody’s, like, a little further ahead and completely bananas.
Rich: Yeah.
Paul: But like, as far as I can tell, it’s still very early days. And so I think, like, now is a wonderful time. It’s going to be September soon, summer school is ending. Go dip in and learn. The good news is while it’s ambiguous and confusing, there’s lots of opportunities to figure out sort of what this is and what it means.
Rich: Yeah, and I think the thing I’d add to, I’d Latch onto there is, don’t be intimidated by this stuff. There’s a lot of bullshit out there. Go play. A lot of the tools and a lot of discovery around the tools is frankly still out there for people to stumble on. It’s not—no one’s figured it all out. No one’s figured it all out.
Paul: If you could write any agent right now, what do you think you would do?
Rich: If I wrote a…
Paul: I’m not going to put Kevin on the spot, but you I will put on the spot.
Rich: It’s an agent that is wired to my mattress, which tracks my sleep.
Kevin: Ah.
Paul: One of those sleep mattresses, yeah.
Rich: Yeah. And if it sees I didn’t sleep well?
Paul: It just sends an automatic work-from-home email?
Rich: No, it spins up a Simon & Garfunkel playlist on my iPhone.
Paul: Ah, there you go. Settles you right down. [laughter] That’s good.
Rich: James Taylor.
Paul: That’s good. I actually don’t know what I would do. You know what I would love? I’d love a good, like, book-recommendation engine.
Kevin: Yeah.
Rich: Sure.
Paul: I miss, I miss, like, I miss good tech books. I miss good sci-fi. I miss good—there’s also, like, I haven’t been reading a lot of real literature lately, and there’s like, so many—
Rich: That’s a fun one. It’s tracking what you’re reading on the web.
Paul: Yeah.
Rich: On your phone.
Kevin: That’d be cool.
Rich: It was like, “Hey, you seem to be really into this particular corner of the world. Here’s some books.”
Paul: That’s right. Or just, like, areas of history that. It would be fun, is like one that would, like, yeah.
Rich: Yeah.
Paul: Anyway, so that’s where I’m at.
Rich: But if you want to lease out some agents, reach out. Check out aboard.com.
Paul: Yeah, go to Aboard. You can actually, you can try agents out.
Rich: You can fire off—you can send our agents to work, right on the website.
Paul: You’ll see what they do and how they interact. And then, if you want to talk further, shoot us an email. Send us a note at hello@aboard.com. Next episode we’re going to talk about, we’re going to build some more apps. We’re going to build another app, and we’re going to talk about sort of like how all the pieces come together with our head of engineering.
Rich: Ooh.
Paul: Another head of engineering inside the org, our CTO, Adam.
Rich: Yeah. It’ll be fun.
Paul: It better be fun.
Rich: It’ll be a lot of fun.
Paul: It’ll be a lot of fun. Not as fun as Kevin.
Kevin: Ah….
Paul: Kevin’s pretty good.
Rich: You’ve been a bundle of fun.
Paul: You have been fun.
Rich: You say bundle of fun?
Paul: Yeah. You know, people on the podcast can’t hear this, but Kevin is wearing a t-shirt covered with little mushrooms.
Kevin: Well, it has a collar.
Paul: It’s got—I’m sorry. I don’t know why I said t-shirt. It’s not. It’s a collared, button shirt.
Kevin: I’m in a work environment.
Rich: It’s a classy shirt.
Paul: I’m having a stroke, apparently, while we’re talking. [laughter] What is the story of this shirt, Kevin?
Kevin: This is a, yeah, it’s a collared shirt covered in mushrooms that is technically Modest Mouse merch that I bought at a concert.
Paul: I’m glad that Modest Mouse has an apparel line. That actually gives me comfort.
Rich: Yeah.
Kevin: Yeah.
Paul: I don’t know what’s next. Like, a Pedro the Lion underwear.
Rich: Ohhh….
Kevin: That’s like the fourth Pedro the Lion mention.
Rich: Yeah.
Paul: Maybe we should cut all of this out.
Rich: Kevin, this was a lot of fun.
Kevin: Well, thank you for having me.
Rich: Thank you for doing this.
Paul: Kevin didn’t be—yeah, sure it was. Kevin is like—
Rich: Did you have fun?
Kevin: I had fun. I also, I mean, I received some fraction of a paycheck during this, so that’s great.
Paul: Damn.
Rich: Phew.
Paul: That’s a good move, actually.
Rich: Strong.
Paul: Just for context, Kevin’s anxious about doing a good job on the podcast, and we told him it’s just drunken monkeys all the way through. So here we are. Hello@aboard.com. We’ll see you soon. We’ll be back with a little bit of context in summer school. You have to show up two more times, and then you can finally—
Rich: It’s almost over.
Paul: It’s almost over. Summer’s almost over.
Rich: Stay cool, everybody.
Paul: Bye!
[outro music]