Full transcript
0:02Hey, what's up? Daniel here. I want to
0:04update you real quick. You know, I've
0:06been putting out a lot of content, a lot
0:08of tweets, a lot of stuff on LinkedIn X,
0:10basically everywhere, and obviously
0:12YouTube talking about my personal AI
0:14infrastructure system. So, this video
0:17right here on YouTube, it's got a ton of
0:19views on it and lots of people are
0:21really enjoying it. And it's basically
0:23my whole description of like the
0:25personal AI system that I'm using. Mine
0:27is called Kai. But in this video, I
0:29basically describe exactly how I set it
0:31up, exactly how it works, and like all
0:33the different infrastructure. And what I
0:35did a couple of weeks after that came
0:37out is I moved the whole thing to open
0:39source. So this repo here under Daniel
0:43Mesler on GitHub is called Pi, which is
0:45the same name as the video, and this
0:47basically has everything in there, and
0:49I've been doing massive updates to it.
0:51We're already at like multiple small
0:52releases here, but the pi directory is
0:55basically the clawed code directory. So
0:57I've got agents, commands, context,
0:59documentation, and the whole point is I
1:01don't want to talk about a feature that
1:03I'm adding that isn't also included in
1:06the actual code. So basically, if I talk
1:08about a feature in one of my videos on
1:10YouTube or I talk about it on LinkedIn
1:12or whatever, I'm going to include it
1:14here. My whole purpose is like to
1:16activate and enable people in this world
1:19of AI that's coming up. So to me, the
1:21biggest part of that is like giving
1:23people the AI tools to do stuff. So I
1:25talk about that all over the place in
1:27the actual video that basically talks
1:29about this. But uh what I want to do
1:31today is actually show a really cool
1:34feature and it's kind of a fun feature,
1:37but it's also pretty powerful when
1:38you're using lots of different installs
1:41and um agents and tabs and basically all
1:44the different stuff that you have going
1:45on. Basically, if you're multitasking
1:47within your PI system and you've got
1:49multiple agents doing multiple things,
1:51it's nice to have them all use custom
1:53voices. So, this video is basically
1:56about exactly that. So, if we just
1:58invoke cloud code here, you're going to
2:00hear Kai.
2:00>> Kai here, ready to go.
2:02>> So, that's Kai saying Kai here, ready to
2:04go. And then they come up and they show
2:07me the status line and we're good to go.
2:09So what I'm going to say here is I'm
2:10going to say use the pentester agent to
2:14come up with three different prime
2:16numbers and add them together. Now what
2:17this should do obviously is call the
2:20pentester agent. First we're going to
2:21load our context dynamically which was
2:24talked about as a main point in the pi
2:26video but we are correctly calling the
2:29pentester and we're going to generate
2:30three different prime numbers and add
2:32them together.
2:32>> Pentester completed calculating sum of
2:34three prime numbers.
2:36>> So there we go. So pentester did it and
2:38that was the pentester voice. Each agent
2:41has a voice. They have their own voice
2:44and they're not like Mac OS voices
2:46either. These are 11 Labs voices. And
2:48guess what? Inside of the PI repo
2:51>> sum equals 89.
2:52>> Look at that. Not only did the pen
2:55tester tell us what he was doing and the
2:57result or whatever he said, but it
3:00returned control back to Kai and Kai
3:02told us what the answer was. Okay, so
3:05this is this is pretty cool. So the the
3:07way this is actually happening is we're
3:09actually invoking this um output format.
3:12So this output format here which is
3:14loosely structured off of the output
3:16format that Claude put out or Anthropic
3:19put out describing how to do custom
3:21output formats. But I have a custom one
3:23and this is the custom one that is being
3:25used for Kai and this is inside the main
3:28context file. Again all of this is
3:30inside of the repo but this custom
3:32completed one is a new one that I just
3:34added. So this custom completed one is a
3:37new one and it's pretty cool because
3:39what it does is give a custom output. So
3:42it doesn't just say completed prime
3:44number sum calculation. It actually has
3:47text in there describing to basically
3:49give me the answer if you actually are
3:51able to. So let me let me just show you
3:53what this looks like. So let me just get
3:55out of here. Go to another tab and um
3:58cld and then that would be under hooks
4:01and let's look at the stop. Yeah, the
4:04stop hook. All right, so let's take a
4:05look at what the file actually looks
4:07like. So if we look at the stop hook
4:09here and we jump down, we see that we
4:10have the actual IDs. These are 11 Labs
4:14IDs for custom voices that I put
4:16together for these uh individual agents.
4:18You can go ahead and use them if you
4:20want. Um I think you can call them. I
4:22know I can call them cuz I'm using my 11
4:25Labs key to call my own account. Not
4:27sure if these are actually readable, but
4:29it doesn't really matter. The whole
4:30point is for you to be able to set this
4:31up for yourself. So, ideally, you
4:32wouldn't have exactly the same voices as
4:34I'm using, but it's a good starter kit
4:37just so you can see exactly how it's
4:38done. So, completed successfully, task
4:40done successfully, and you see that
4:42we're actually routing here with the
4:44different voices. If you go down here,
4:46this is where we're actually doing the
4:48thing. So, if we send to the voice
4:50server, there it is. So, this is where
4:51we're sending the voice server. The
4:53voice server, the whole infrastructure
4:55is also in the repo. So, the voice
4:57server is there. And you could also see
4:59that we're actually uh sending this
5:01message here as well. So that's
5:03essentially how that's working inside of
5:05the agents. Let me show you that as
5:07well. So if we go to agents and what was
5:10that the pentester? So we look at the
5:12pentester. What do we got here? Always
5:15load the context. That's always at the
5:16top. And we got UR Tibbon. That's the
5:19name of the guy. And then here we go.
5:20And this is what's being sent to the
5:22server which is running on local host
5:24which again all that is documented. And
5:26so this is where the agent sends the
5:29notification to the server. And then
5:31when control is returned back to your
5:33main agent, which in my case is Kai,
5:35then Kai will summarize what those
5:37agents did. So I think it's just a
5:40pretty cool way to I don't know spice
5:42things up. It sounds very cool when
5:44you've got like multiple tabs going and
5:46maybe even Windows. Um I'm trying to use
5:48more tabs uh so I don't have so many
5:50windows running, but it's pretty cool.
5:52They're all doing separate tasks. And
5:54the reason I got this idea was actually
5:56from many months ago. It was from Indie
5:58Dev Dan. But what Indie Devs Dan's
6:01agents were doing is they're saying task
6:03complete. Task complete. They were all
6:05using the same voice. But more
6:06importantly, they're all using task
6:08complete. Yeah. So I'll just do another
6:09example here. I'll just start another
6:11session.
6:12>> Kai here. Ready to go.
6:13>> And that was the pen tester. So we'll
6:15say use the designer to add two prime
6:19numbers and come up with the answer. So
6:21the trick is each individual one will
6:23have not only their own voice, but
6:25they'll be saying different things.
6:26They're not using the same exact like
6:28entry into the sentence or the
6:30description of the work that they did or
6:32the answer of the summary. And same with
6:35Kai. Kai says something different each
6:37time. So it's more like an actual team
6:39responding in, you know,
6:41non-deterministic ways. So I think
6:43that's it's better than the setups that
6:45I've seen, not just from Indie DevDan,
6:47but from other places. But I do want to
6:49give credit to indie dev Dan because I
6:51was
6:51>> designer completed prime number edition.
6:53>> So designer completed prime number
6:56edition is what the designer said and
6:58then control goes back to Kai
7:00>> 18.
7:01>> Yeah. So what I did there was basically
7:04say go and get the content and if it's
7:07something where I might want to actually
7:09know the answer give me the answer not
7:11just telling me that the task was
7:13completed by the agent. All right so you
7:15see the functionality there. I think
7:17it's pretty cool. It's fun to use. It's
7:19fun to hear all the different voices
7:21coming in talking like you're actually
7:23working with a full team, which you kind
7:25of are. And at the same time, it's very
7:27useful. It's useful to be able to hear
7:29all the different context and have it be
7:31dynamic, right? You actually hear what
7:33they completed as opposed to just saying
7:34agent completed. And if you like this
7:36kind of stuff, please uh do subscribe to
7:38the channel. Got tons more of this
7:40coming out. And again, the whole idea
7:42here is not just to put out one-off
7:44features and sort of like send you to
7:46like a GitHub gist or send you to the
7:49description in the YouTube video, which
7:51is fine as well. I do appreciate when
7:53people do that. But in my case, whenever
7:55things get put out, I'm going to release
7:57it as soon as possible directly into the
8:00Pi repo as well on GitHub. So, uh,
8:02please do follow what we're doing here
8:04and subscribe, like, all that good
8:06stuff. And we'll see you in the next
8:08one. Take care.