0:00.000–0:02.407
So, Codex is an absolutely incredible super app.
0:02.407–0:03.862
I've been using it a lot more lately,
0:03.862–0:05.851
and I'm not saying that I'm ditching Claude Code.
0:05.851–0:07.240
I still use them both regularly
0:07.240–0:09.378
because they're both good at different things.
0:09.378–0:13.460
So, today's video, I'm going to break down every single important thing that you need to know about Codex
0:13.460–0:15.619
to be able to, you know, open up the app for the first time
0:15.619–0:18.960
and then actually have finished automations and websites and whatever you want to do
0:18.960–0:21.080
in Codex done by the end of this video.
0:21.080–0:23.249
So, whether you've never opened up a tool like this before
0:23.249–0:25.283
or if you're already kind of used to using Claude Code,
0:25.283–0:27.271
I'm going to break down everything as simple as I can.
0:27.271–0:32.126
So, first of all, if you fit in this bucket of someone that uses ChatGPT just on the web or uses Claude,
0:32.126–0:33.939
you are going to get this really quick
0:33.939–0:36.513
because what we're looking at right here is ChatGPT.
0:36.513–0:38.098
We have the ability to make new chats,
0:38.098–0:39.325
we can search through chats,
0:39.325–0:40.705
we can have different projects,
0:40.705–0:42.750
we can have all of our different chats over here,
0:42.750–0:44.232
and then we talk to chat right here.
0:44.232–0:48.163
And if I open up the Codex app, which is what we're going to be using today for the entire video,
0:48.163–0:49.695
it looks pretty much the exact same.
0:49.695–0:51.130
We have projects on the left,
0:51.130–0:52.387
we have chats on the left,
0:52.387–0:54.480
and then we can talk to ChatGPT right here.
0:54.480–0:56.654
We use this toggle to change the model
0:56.654–0:59.670
whether we want to use GPT 5.5, 5.4, or other models.
0:59.670–1:00.787
We can change the speed,
1:00.787–1:02.910
and then we can also change the intelligence.
1:02.910–1:04.911
So, low, medium, high, or extra high.
1:04.911–1:08.054
And I'll get into this stuff a little bit later in more depth.
1:08.054–1:10.576
And this is also very similar to the Claude Code desktop app
1:10.576–1:12.995
where we have the ability to chat with Claude right here,
1:12.995–1:15.877
and then on the left-hand side we can see our chats and our projects.
1:15.877–1:17.187
So, that is the interface.
1:17.187–1:18.320
Don't get overwhelmed.
1:18.320–1:20.563
So, I'm going to get you guys all familiar with the interface
1:20.563–1:22.403
and go over all the settings that you need to know,
1:22.403–1:25.499
and then I'm going to show you a full project from beginning to end building skills,
1:25.499–1:26.351
connecting to things,
1:26.351–1:27.505
building automations,
1:27.505–1:29.859
and then deploying on some sort of website.
1:29.859–1:30.571
So, buckle up.
1:30.571–1:32.440
All right, so what actually is Codex?
1:32.440–1:35.270
Codex is basically a massive super app.
1:35.270–1:37.788
We can use ChatGPT same way you talk to it on the web,
1:37.788–1:39.166
but now we work in projects,
1:39.166–1:40.905
and Codex can create Excel sheets,
1:40.905–1:41.864
read Excel sheets,
1:41.864–1:43.602
look through all your local files.
1:43.602–1:45.594
It can do basically anything on your computer
1:45.594–1:47.324
including using the mouse and keyboard
1:47.324–1:48.216
and clicking around
1:48.216–1:49.369
and automating a browser.
1:49.369–1:51.632
It also lets us build these reusable skills.
1:51.632–1:52.679
We can build websites,
1:52.679–1:53.506
we can build apps,
1:53.506–1:54.664
we can build video games,
1:54.664–1:55.766
and then we can automate
1:55.766–1:56.813
and push all that stuff
1:56.813–1:57.916
so that it actually runs
1:57.916–1:59.514
while we're sleeping every night.
1:59.514–2:01.398
So, the main difference here between web chat
2:01.398–2:03.035
is that you're basically just talking.
2:03.035–2:04.693
And you have these connectors in chat GPT now,
2:04.693–2:06.395
so you can get a little bit more functionality.
2:06.395–2:10.080
You can give that AI brain a bit more of like hands.
2:10.080–2:13.040
But, in Codex, it can do everything.
2:13.040–2:14.088
It's one of those things
2:14.088–2:16.132
where Codex can do everything that chat can do,
2:16.132–2:18.438
but chat cannot do nearly as much as what Codex can do.
2:18.438–2:21.022
So, you might as well just switch over to something like Codex.
2:21.022–2:23.950
And if you are curious about the Claude code versus Codex difference,
2:23.950–2:25.565
they're different harnesses, right?
2:25.565–2:28.012
So, they fundamentally work a little bit different,
2:28.012–2:28.958
but very similarly.
2:28.958–2:30.588
They also use different models.
2:30.588–2:33.041
So, Claude code natively under the hood uses Opus
2:33.041–2:33.580
and Sonnet
2:33.580–2:34.118
and Haiku,
2:34.118–2:37.120
and Codex under the hood uses the different chat GPT models.
2:37.120–2:38.438
Now, I did do a full breakdown
2:38.438–2:40.689
where I actually tested Opus 4.7 against GPT 5.5,
2:40.689–2:42.666
and I got some really interesting results.
2:42.666–2:44.513
So, if you guys want to check out this video next,
2:44.513–2:45.575
I'll tag that right up here.
2:45.575–2:47.901
I definitely think it's worth just at least skimming through.
2:47.901–2:50.683
Because ultimately, these models have very different strengths
2:50.683–2:53.009
is what I've noticed after playing with them non-stop.
2:53.009–2:55.728
I really like Claude for being sort of like exploratory
2:55.728–2:56.674
and brainstorming
2:56.674–2:58.033
and helping me get creative
2:58.033–2:59.274
and think through things
2:59.274–2:59.747
and plan.
2:59.747–3:02.440
But then, I really like Codex for being pragmatic.
3:02.440–3:05.093
And it feels like it does better at following my plan
3:05.093–3:06.944
if the plan grows longer and longer.
3:06.944–3:08.528
And it's really good at executing,
3:08.528–3:10.275
and it's really good at finding issues
3:10.275–3:11.586
and troubleshooting things
3:11.586–3:14.098
that sometimes Claude, for some reason, can't handle.
3:14.098–3:14.251
So,
3:14.251–3:16.850
I'm not in here saying that I love Codex more than Claude code.
3:16.850–3:18.550
I'm saying that I'm using them both,
3:18.550–3:20.589
and I'm learning more about both every day.
3:20.589–3:23.706
And one other thing I really like about Codex is you can see my little pet down here,
3:23.706–3:25.494
which I'll tell you guys how you get this later.
3:25.494–3:26.096
But this pet,
3:26.096–3:27.135
while you're working,
3:27.135–3:28.830
it stays in the bottom of your screen,
3:28.830–3:30.526
and it tells you what it's working on.
3:30.526–3:30.691
So,
3:30.691–3:32.505
it's really nice to be able to multitask
3:32.505–3:34.440
and see what's happening inside of Codex.
3:34.440–3:35.770
And the pet's kind of funny.
3:35.770–3:37.117
And it's more than just having chats.
3:37.117–3:39.959
It's the ability to have everything organized on your workspace.
3:39.959–3:43.428
So, if you guys watch my recent video about Claude code operating system,
3:43.428–3:45.588
or you've seen my executive assistant video,
3:45.588–3:46.953
this is my heart two project,
3:46.953–3:49.512
which is basically where I live inside of Claude code.
3:49.512–3:52.029
And all of this is is a bunch of folders and files.
3:52.029–3:53.388
I've got a bunch of files here.
3:53.388–3:54.727
I've got a bunch of different folders.
3:54.727–3:55.401
I've got settings.
3:55.401–3:56.114
I've got skills.
3:56.114–3:56.849
I've got agents.
3:56.849–3:57.798
I've got projects.
3:57.798–3:58.959
I've got all these things
3:58.959–3:59.898
that I'm working on.
3:59.898–4:00.819
And all this is
4:00.819–4:02.440
is a bunch of local files.
4:02.440–4:04.176
Which means I can have Codex work
4:04.176–4:05.527
inside of this directory
4:05.527–4:06.942
and do everything as well.
4:06.942–4:07.856
All that we're doing
4:07.856–4:09.685
when we're using these different models
4:09.685–4:11.729
is we're organizing things into a structure.
4:11.729–4:13.803
A structure that different agent harnesses can understand.
4:13.803–4:15.425
And whether you want to use Codex
4:15.425–4:16.145
or Claude Code
4:16.145–4:16.626
or Cursor
4:16.626–4:17.827
or, you know, Open Claw,
4:17.827–4:18.608
whatever it is,
4:18.608–4:20.600
they can all work out of that directory.
4:20.600–4:22.796
As long as you have some sort of instructions
4:22.796–4:25.170
and guidelines over what actually lives where.
4:25.170–4:28.348
Okay, so basically what I'm going to be building with you guys today
4:28.348–4:30.732
is a bit of a YouTube comment intelligence system.
4:30.732–4:34.179
So we want to be able to pull in YouTube comments from my channel.
4:34.179–4:35.986
We want to be able to have those be analyzed.
4:35.986–4:37.241
We want a workbook in Excel.
4:37.241–4:39.184
We want like some data visualization.
4:39.184–4:41.833
And we want a dashboard that lives somewhere on the web
4:41.833–4:44.306
so I could go check it on my phone if I'm out on a walk.
4:44.306–4:46.701
And I'm going to show you how we ship and deploy all of that.
4:46.701–4:50.356
So basically from zero to a working project is what I'm going to show you guys today.
4:50.356–4:50.529
So,
4:50.529–4:51.219
let me go ahead
4:51.219–4:52.370
and open up the Codex app
4:52.370–4:53.923
and show you guys how this works.
4:53.923–4:54.765
Now real quick,
4:54.765–4:55.736
what you have to do
4:55.736–4:57.560
is have some sort of ChatGPT plan.
4:57.560–4:58.264
The good news is
4:58.264–4:59.076
if you're on free,
4:59.076–5:00.322
you can still try out Codex.
5:00.322–5:01.907
You have limited Codex access.
5:01.907–5:02.961
But I would recommend
5:02.961–5:04.659
just hopping on the $20 a month plan
5:04.659–5:05.420
to get started.
5:05.420–5:07.959
And if you're running into your limits pretty quickly,
5:07.959–5:09.670
then maybe you want to upgrade to Pro.
5:09.680–5:12.631
Now what else is really nice about ChatGPT subscription is
5:12.631–5:14.919
you can plug it into Open Claw or Hermes Agent,
5:14.919–5:16.364
which is really really nice.
5:16.364–5:19.096
Because obviously it's so much more expensive to pay per token
5:19.096–5:21.197
rather than being on some sort of subscription.
5:21.197–5:23.307
And then you're just going to go ahead and go to Codex
5:23.307–5:25.663
and then just download the app for your operating system.
5:25.663–5:27.908
That's the way that we're going to be using it today.
5:27.908–5:31.170
Ultimately, you will be getting more full functionality
5:31.170–5:33.548
if you're using Codex in VS Code extension
5:33.548–5:34.635
or in the terminal.
5:34.635–5:36.214
But for the sake of the video,
5:36.214–5:39.120
using the app is going to get you super far either way.
5:39.120–5:40.996
There's just a few little things you want to keep in mind,
5:40.996–5:42.433
which is why I'm making this YouTube video.
5:42.433–5:44.707
All right, so let's go ahead and get started.
5:44.707–5:46.224
So, on the left-hand side you can see
5:46.224–5:47.337
I've got one project open,
5:47.337–5:51.028
and this project is actually how I built the slide deck that you were looking at earlier.
5:51.028–5:53.624
So, this slide deck I built right here in this project,
5:53.624–5:55.412
and you can see because I'm in the app,
5:55.412–5:59.449
Codex lets us basically navigate this right here in this little localhost browser.
5:59.449–6:00.967
And this is also where if I said,
6:00.967–6:05.403
"Hey, can you use browser use and test out this slide deck to make sure everything looks good
6:05.403–6:08.040
and make sure it functionally like clicks and moves?"
6:08.040–6:09.693
Then it would bring up a mouse over here,
6:09.693–6:10.995
and we would see it move around,
6:10.995–6:12.046
and we would see it click,
6:12.046–6:13.849
which I'll show you guys later in the video.
6:13.849–6:15.533
But anyways, what we're going to do is
6:15.533–6:17.054
we're going to start a new project
6:17.054–6:19.771
because over here you can see we have a bunch of random chats,
6:19.771–6:23.791
which can still do things like building games and building automations and simulators.
6:23.791–6:26.523
But what we want to do is we want to work inside of an actual project
6:26.523–6:29.914
because these chats, any deliverable that we create doesn't really have a home,
6:29.914–6:32.393
you know, it just lives somewhere random in our documents.
6:32.393–6:34.625
But when we're working in a certain project,
6:34.625–6:37.098
I can actually grab the local working directory,
6:37.098–6:37.821
so I copy that,
6:37.821–6:40.294
and if I go into my file explorer and paste that in,
6:40.294–6:43.320
now I'm inside of the actual project that we're working on in
6:43.320–6:43.638
Codex.
6:43.638–6:46.265
So, now I can see different assets that live in this project,
6:46.265–6:47.053
all these images.
6:47.053–6:48.602
I can see different guides,
6:48.602–6:53.315
and I can have a little bit more organization to this ongoing project in my business.
6:53.315–6:55.315
All right, so we're going to start a new project.
6:55.315–6:57.360
I'm going to click on new chat in the top,
6:57.360–7:00.770
and then right here you can see I'm inside of the Codex 95% project,
7:00.770–7:03.249
but we're going to go ahead and add a new project.
7:03.249–7:06.394
So, that's going to open up a little um file explorer over here,
7:06.394–7:08.752
and then you choose where you want this to live.
7:08.752–7:11.824
So, for this example, I'm going to go to my desktop,
7:11.824–7:14.896
I'm going to go into a folder called Codex YouTube,
7:14.896–7:20.747
and I'm going to create a new folder inside of this folder just called um YouTube analytics demo.
7:20.747–7:23.477
And we're going to go ahead and open up this folder and select that,
7:23.477–7:27.697
and now you can see it's a new project over here on this left-hand side that we're going to be working in.
7:27.697–7:29.744
Now, right here you can see I have something called full access.
7:29.744–7:31.181
By default, you won't see this,
7:31.181–7:32.960
it'll just be on default permissions.
7:32.960–7:34.771
So, I'm going to kick off some sort of chat here,
7:34.771–7:36.814
and then I'll show you how we actually get that set up.
7:36.814–7:37.638
Real quick, guys,
7:37.638–7:40.276
I know we're going over a ton of information in this video,
7:40.276–7:45.058
so what I did is I threw all of this into a complete PDF resource guide that you can use and reference later.
7:45.058–7:47.423
All you have to do to get that is join my free school community.
7:47.423–7:48.897
The link for that is down in the description.
7:48.897–7:49.992
And once you get in here,
7:49.992–7:52.510
go to the classroom and click on all YouTube resources,
7:52.510–7:54.372
and you'll be able to find all of my repos,
7:54.372–7:55.138
all of my skills,
7:55.138–7:55.960
resource guides,
7:55.960–7:59.135
everything that I've ever dropped inside of here is completely free,
7:59.135–8:00.240
and anything I've shown
8:00.240–8:01.910
on YouTube is usually dropped in here.
8:01.920–8:02.749
So, join the community,
8:02.749–8:03.620
link in the description,
8:03.620–8:04.698
and let's get back to the video.
8:04.698–8:05.171
Thanks, guys.
8:05.171–8:08.288
All right, so the first thing that I want to do in this project is
8:08.288–8:11.944
I want it to be able to just kind of familiarize with self with my workspace
8:11.944–8:12.783
and with who I am.
8:12.783–8:15.050
And the way that I'm going to do that is
8:15.050–8:16.586
I have a project locally.
8:16.586–8:17.413
If I go to my um
8:17.413–8:18.616
if I go to my desktop
8:18.616–8:21.473
and I go into a project here called YouTube OS,
8:21.473–8:25.834
I have like all of my transcripts right here from some YouTube videos.
8:25.834–8:26.814
So, what I'm going to do is
8:26.814–8:28.308
I'm not going to give it that file path.
8:28.308–8:30.621
I'm just going to say, "Hey, in my desktop,
8:30.621–8:32.471
look inside my YouTube OS folder,
8:32.471–8:34.652
and just pull in 10 of my raw transcripts
8:34.652–8:35.719
and analyze them."
8:35.719–8:39.481
This is just to show you guys how good it's going to be at finding different files locally
8:39.481–8:40.872
and being able to organize them,
8:40.872–8:41.336
move them,
8:41.336–8:41.903
delete them,
8:41.903–8:42.727
whatever you want.
8:42.727–8:44.702
In this case, I'm just telling it to read them.
8:44.702–8:47.131
All right, so I want you to go onto my desktop,
8:47.131–8:49.889
and I want you to look at a folder called YouTube OS,
8:49.889–8:52.712
and I just want you to familiarize yourself with me.
8:52.712–8:55.299
I make YouTube videos on AI automation,
8:55.299–8:57.023
and inside of this folder,
8:57.023–8:59.375
I have a bunch of my raw transcripts.
8:59.375–9:01.586
So, I just want you to read through like 5 to 10 of those
9:01.586–9:04.350
just to familiarize yourself with the type of content that I make.
9:04.350–9:05.655
You shouldn't do any organization.
9:05.655–9:07.432
I just want you to read those for context.
9:07.432–9:09.048
Now, what's cool about this is
9:09.048–9:11.762
Codex, once again, is an agent that lives locally.
9:11.762–9:14.683
So, just because it's working inside of one project,
9:14.683–9:17.670
which is our, you know, um YouTube sort of demo folder,
9:17.670–9:22.251
that doesn't mean that it can't navigate anywhere else inside of your local files.
9:22.251–9:23.874
And because we're telling it to do so,
9:23.874–9:24.816
it's going to search.
9:24.816–9:27.318
Right here, you can see it's searching inside of my desktop.
9:27.318–9:29.037
And then it's going to find the YouTube OS,
9:29.037–9:30.903
and it's going to drill down into that folder.
9:30.903–9:33.960
And it's going to keep searching until it finds what it wants.
9:33.960–9:35.028
Now, a quick warning.
9:35.028–9:37.543
This is not the most effective use of Codex
9:37.543–9:38.621
or of your tokens.
9:38.621–9:44.200
The more effective use would be to say, "Hey, this is the folder right here with all my raw transcripts.
9:44.200–9:45.570
I'm going to copy this path,
9:45.570–9:48.132
and I'm now just going to give Codex this exact path,
9:48.132–9:51.706
so it can just look in there instead of having to search for it on its own."
9:51.706–9:54.268
But I just wanted to show you how it's able to do this.
9:54.268–9:55.478
Because you can see right here,
9:55.478–9:56.780
inside of my transcripts folder,
9:56.780–9:57.618
I have one called raw,
9:57.618–9:59.339
and that's the one that I wanted it to look at.
9:59.339–10:01.597
And right here it says there are two files,
10:01.597–10:02.888
raw and then processed.
10:02.888–10:05.091
So it doesn't know which one to look through.
10:05.091–10:05.589
So anyways,
10:05.589–10:07.583
the more specific you can be with your prompting
10:07.583–10:08.580
and with your pointing,
10:08.580–10:09.078
the better.
10:09.078–10:09.798
Now let's also,
10:09.798–10:10.851
while this is running,
10:10.851–10:12.569
talk about the model stuff over here.
10:12.569–10:14.829
So right now you've noticed that we're on extra high.
10:14.829–10:18.560
And I would say that extra high is probably overkill for that sort of job.
10:18.560–10:19.495
For the most part,
10:19.495–10:21.553
I'm using medium to do all of my planning
10:21.553–10:22.738
and my brainstorming.
10:22.738–10:24.096
And then every once in a while,
10:24.096–10:25.182
if I'm doing a huge build
10:25.182–10:26.215
or some massive scale,
10:26.215–10:27.138
I'll switch to high.
10:27.138–10:29.333
I'm honestly hardly using extra high
10:29.333–10:31.386
unless I'm hitting some sort of bug
10:31.386–10:33.520
or issue that it's not able to solve.
10:33.520–10:33.968
Anyways,
10:33.968–10:35.369
it has read nine transcripts,
10:35.369–10:38.226
so it has a little bit of a better of an idea now about who we are.
10:38.226–10:39.290
But just to show you guys,
10:39.290–10:41.267
this is still the folder that we're working in,
10:41.267–10:42.483
the YouTube Analytics Demo,
10:42.483–10:44.105
and there's nothing that exists here.
10:44.105–10:45.712
So even though it knows this,
10:45.712–10:49.327
this knowledge only really lives in our overall ChatGPT memory,
10:49.327–10:51.202
and in this specific chat window.
10:51.202–10:52.406
If I opened up a new chat,
10:52.406–10:55.357
it probably wouldn't still have the knowledge about this.
10:55.357–10:57.348
So what I'd probably want to do is say,
10:57.348–10:59.916
"What I want you to do is set up an agents.md file.
10:59.916–11:01.676
This should have context about me
11:01.676–11:03.876
and about what the goal of this project is.
11:03.876–11:04.416
Ultimately,
11:04.416–11:05.596
what we're going to do here is
11:05.596–11:06.922
we're going to build a dashboard
11:06.922–11:08.495
that's going to be pushed to dashboard
11:08.495–11:09.969
that's going to be pushed to Vercel,
11:09.969–11:12.082
and it's going to have information about my channel
11:12.082–11:13.320
and some analytics around the
11:13.320–11:14.717
comments and stuff like that.
11:14.717–11:15.661
So that's the end goal.
11:15.661–11:17.192
We're going to have to connect to YouTube,
11:17.192–11:18.461
we're going to have to pull in data,
11:18.461–11:19.643
we're going to set up some skills
11:19.643–11:20.474
and some automations.
11:20.474–11:22.804
But I just want you to get us started here
11:22.804–11:24.498
with a quick agents.md file.
11:24.498–11:26.000
And now I'm going to go ahead
11:26.000–11:27.120
and shoot that off."
11:27.120–11:29.114
Now, why do we need to create an agents.md file?
11:29.114–11:31.249
Well, if you're coming over from Cloud Code,
11:31.249–11:33.441
you know that we always want to start a project
11:33.441–11:34.537
with a Claude.md file.
11:34.537–11:36.297
And this is just agents.md,
11:36.297–11:37.598
it's the same thing,
11:37.598–11:40.440
but Codex expects a different terminology.
11:40.440–11:41.916
And what this agents file does is
11:41.916–11:42.846
it's basically like
11:42.846–11:43.840
it's onboarding doc.
11:43.840–11:45.573
Every time you open up a new chat,
11:45.573–11:48.206
it's first of all going to read the agents.md file
11:48.206–11:49.875
and it's going to get organized
11:49.875–11:50.967
with what is my goal,
11:50.967–11:52.251
what is this user doing,
11:52.251–11:54.883
and how do I help them as effectively as possible.
11:54.883–11:56.433
So, this document has been created.
11:56.433–11:58.649
If I click on open, we're going to be able to read it right here.
11:58.649–12:00.460
And it's just a very simple markdown file.
12:00.460–12:02.013
This is the project right here.
12:02.013–12:04.443
This is about Nate's, Nate Herc does this.
12:04.443–12:05.960
This is the project goal.
12:05.960–12:07.183
This is the product direction.
12:07.183–12:09.866
So, we're just giving it really important information
12:09.866–12:11.800
that it needs to know about our project.
12:11.800–12:14.198
And you can see now if I pull the file explorer over,
12:14.198–12:16.310
it has created this agents markdown folder,
12:16.310–12:17.852
which is exactly what we wanted.
12:17.852–12:19.160
Sorry, not folder, file.
12:19.160–12:20.595
Okay, so now that that's out of the way,
12:20.595–12:22.344
I'm going to go ahead and close back out of that,
12:22.344–12:23.520
and we're going to get started.
12:23.520–12:24.400
So, what I'm going to do is
12:24.400–12:25.532
I'm going to click on this button
12:25.532–12:26.705
and I'm going to turn on plan mode.
12:26.705–12:28.888
Plan mode is what I like to start with
12:28.888–12:31.071
when I am creating some sort of plan.
12:31.071–12:33.817
That basically means that Codex won't actually execute anything,
12:33.817–12:35.043
it's just going to brainstorm
12:35.043–12:37.102
and help you guys get clear on what you want to build
12:37.102–12:38.328
before you actually build it.
12:38.328–12:40.240
So, I always start with plan mode.
12:40.240–12:41.400
Now, I'm just going to start yapping.
12:41.400–12:44.126
And by the way, if you guys are curious about the tool I use for voice-to-text,
12:44.126–12:45.276
check it out in the description,
12:45.276–12:45.957
it's called Glido.
12:45.957–12:47.727
I'm now an official member of the Glido team,
12:47.727–12:48.732
which is super exciting.
12:48.732–12:51.090
I've fully switched over from Whisper to Glido
12:51.090–12:52.178
because it's faster,
12:52.178–12:53.145
it's more private,
12:53.145–12:54.777
and it is a way more agentic tool,
12:54.777–12:56.530
and we've got a really cool vision.
12:56.530–12:57.913
So, check it out in the description.
12:57.913–13:00.323
Okay, so now that you understand that context,
13:00.323–13:02.238
the first hurdle for us to overcome is
13:02.238–13:04.338
how do you actually connect to my YouTube
13:04.338–13:06.192
in order to be able to pull in my data.
13:06.192–13:07.796
I want you to be able to specifically
13:07.796–13:09.987
at this point be able to pull in a bunch of comments
13:09.987–13:11.280
so that you can analyze them.
13:11.280–13:12.894
So, help me figure out how we do that,
13:12.894–13:14.680
and then explain it to me step-by-step.
13:14.680–13:16.255
And that's really the mindset shift
13:16.255–13:17.831
with tools like Codex or Claude Code
13:17.831–13:19.721
is if you don't know something's possible,
13:19.721–13:20.982
instead of defaulting to oh,
13:20.982–13:21.927
I need to go to YouTube
13:21.927–13:24.342
or oh, I want to book in a consulting call with an expert,
13:24.342–13:26.266
just ask Codex or Claude Code.
13:26.266–13:28.514
Ask it to do research and explain things to you.
13:28.514–13:31.360
And that's basically how I learned everything that I know.
13:31.360–13:32.611
So while this is running,
13:32.611–13:34.696
I wanted to explain something real quick,
13:34.696–13:35.947
which is called plugins.
13:35.947–13:38.060
Plugins, MCP servers, skills, connectors,
13:38.060–13:39.544
whatever you want to call them.
13:39.544–13:42.210
We kind of have this interface inside of Codex
13:42.210–13:43.473
to do stuff like this.
13:43.473–13:44.414
And what you'll notice is
13:44.414–13:46.028
there's a bunch of different plugins here.
13:46.028–13:47.200
We've got hugging face,
13:47.200–13:48.079
we've got Vercel,
13:48.079–13:48.958
we've got GitHub,
13:48.958–13:50.072
we've got Game Studio.
13:50.072–13:52.121
We've got a bunch down here for design,
13:52.121–13:54.235
Remotion, Figma, Hyperframes, Canva.
13:54.235–13:55.655
We've got stuff for lifestyle,
13:55.655–13:56.366
productivity,
13:56.366–13:58.059
and this lets us basically connect to
13:58.059–14:00.200
a lot of the tools that we already know and love.
14:00.200–14:02.355
Google Drive, Slack, SharePoint, Teams,
14:02.355–14:03.524
whatever you may need,
14:03.524–14:05.433
a lot of that stuff is available here.
14:05.433–14:06.146
And if you can't find it,
14:06.146–14:06.966
you can go ahead and search.
14:06.966–14:07.605
So like Slack,
14:07.605–14:08.618
we have it right there.
14:08.618–14:09.260
But look,
14:09.260–14:10.623
if I search YouTube,
14:10.623–14:13.200
there is no default plugin right here.
14:13.200–14:14.905
And that's why I had to ask Codex,
14:14.905–14:16.357
okay, so there's no plugin,
14:16.357–14:18.377
how do I actually access YouTube data?
14:18.377–14:19.787
And so it comes back here
14:19.787–14:21.560
and it asks us some questions.
14:21.560–14:24.311
It says for the first comment analysis milestone,
14:24.311–14:26.800
which connection path should we plan around,
14:26.800–14:28.120
API key, OAuth, or both?
14:28.120–14:30.078
Um I'm just going to go with his recommendation
14:30.078–14:31.835
cuz let's say I don't know what I need to do,
14:31.835–14:33.200
and I'm going to click on API key.
14:33.200–14:34.870
What should the first comment pull focus on?
14:34.870–14:36.680
I'm just going to say recent videos.
14:36.680–14:38.575
And now if it has any other questions,
14:38.575–14:40.470
it'll go ahead and ask us those first.
14:40.480–14:41.701
Now one thing you'll notice is
14:41.701–14:44.680
because it already was searching through my other folders and projects,
14:44.680–14:46.487
it did find an API key in a different project,
14:46.487–14:49.026
but I'm still going to show you guys how you would get this set up
14:49.026–14:49.720
because it comes
14:49.720–14:51.005
back here with a plan,
14:51.005–14:52.800
which we can go ahead and read.
14:52.800–14:54.162
So what it wants to use is
14:54.162–14:55.388
it it found an API key,
14:55.388–14:56.410
so not full OAuth,
14:56.410–14:59.280
and then it needs to actually convert everything.
14:59.280–15:00.776
So what I'm just going to say is
15:00.776–15:02.092
instead of implementing,
15:02.092–15:02.930
I'm going to say,
15:02.930–15:04.784
"I'm glad that you found that API key,
15:04.784–15:06.100
but let's set up a fresh one
15:06.100–15:07.477
because in my Google Cloud,
15:07.477–15:09.511
I want to have a separate API key for Codex
15:09.511–15:09.760
and a
15:09.760–15:11.069
separate one for Claude code.
15:11.069–15:14.693
So let's just go ahead and assume that we're going to create a complete new one from scratch."
15:14.693–15:16.388
And now I'm able to shoot off those changes.
15:16.388–15:18.165
Codex is going to review the plan
15:18.165–15:19.087
and then edit it.
15:19.087–15:20.794
And then once we're aligned on the plan,
15:20.794–15:22.345
we'll go ahead and start executing.
15:22.345–15:23.275
So now it's come back
15:23.275–15:23.987
and it has okay,
15:23.987–15:26.240
we're going to do a brand new Google Cloud API key.
15:26.240–15:28.700
If you wanted to read through all of this step-by-step,
15:28.700–15:29.182
you could,
15:29.182–15:31.161
but I'm just going to go ahead and say submit,
15:31.161–15:32.080
implement the plan.
15:32.080–15:32.190
So,
15:32.190–15:33.835
there's some stuff that we're going to have to do here.
15:33.835–15:36.498
We're going to have to go into Google Cloud Console,
15:36.498–15:39.099
and we're going to have to create this new project,
15:39.099–15:40.089
um enable this API,
15:40.089–15:41.390
and then grab the API key,
15:41.390–15:43.619
and then get it configured inside of Codex.
15:43.619–15:43.756
So,
15:43.756–15:46.002
if this part of the tutorial isn't very interesting to you,
15:46.002–15:47.468
you don't want to watch me get it set up,
15:47.468–15:49.805
maybe you want to do some stuff first with the native plugins,
15:49.805–15:50.640
which is much easier.
15:50.640–15:51.165
Typically,
15:51.165–15:53.002
these plugins you just basically sign in,
15:53.002–15:55.311
the same way where you would open up Slack and sign in,
15:55.311–15:57.463
or the same way you would open up Gmail and sign in,
15:57.463–15:58.680
and that's a lot lot easier.
15:58.680–15:58.964
Okay,
15:58.964–16:00.330
so I have to go to Google Cloud
16:00.330–16:02.160
and get everything set up in a project.
16:02.160–16:03.674
If I didn't know exactly how to do this,
16:03.674–16:05.898
it would tell me step-by-step as you guys saw on the plan,
16:05.898–16:06.939
but what it's going to do is
16:06.939–16:08.169
it created another file for us.
16:08.169–16:08.348
So,
16:08.348–16:10.016
it created this one called for us.
16:10.016–16:10.144
So,
16:10.144–16:11.560
it created this one called .env.local.
16:11.560–16:11.732
So,
16:11.732–16:12.762
what I'm going to do is
16:12.762–16:14.536
head over to my Google Cloud Console.
16:14.536–16:16.296
I'm signed in with my YouTube account,
16:16.296–16:18.560
and I'm going to go ahead and create a new project.
16:18.560–16:21.799
So, I'm going to call this one um Codex demo.
16:21.799–16:24.194
I'm just going to go ahead and create this project,
16:24.194–16:26.304
and once that's spun up, it's pretty simple.
16:26.304–16:29.220
We just have to create a connection to YouTube Data API,
16:29.220–16:31.376
and then we're going to create an API key.
16:31.376–16:32.542
So, I'm going to select this project.
16:32.542–16:35.892
The first thing I'm going to do is search up here at the top for YouTube
16:35.892–16:38.066
is search up here at the top for YouTube Data,
16:38.066–16:40.358
and we're going to grab the YouTube Data API v3,
16:40.358–16:42.650
and then I'm going to go ahead and click enable.
16:42.650–16:46.714
And once that has been enabled, it should pull up a new screen that looks like this,
16:46.714–16:49.164
and then I'm going to go down here to credentials,
16:49.164–16:51.196
and I'm going to just create a new API key.
16:51.196–16:52.295
So, create API key.
16:52.295–16:56.331
This is just going to be called Codex YouTube demo.
16:56.331–16:59.522
And then right here for the restrictions, I'm just going to once again type in YouTube.
16:59.522–17:01.365
We're going to check YouTube Data API v3,
17:01.365–17:03.858
and then we're going to go ahead and create that API key.
17:03.858–17:05.946
And it gives me this value that I'm going to go ahead and copy.
17:05.946–17:07.443
So, I'm going to copy that,
17:07.443–17:11.458
and then I'm going to pull in that file that it created, the .env.local,
17:11.458–17:15.132
and I'm just going to open this file real quick with um my notepad,
17:15.132–17:18.058
and here is where I'm going to put my YouTube API key.
17:18.058–17:19.839
I'm just going to paste that in right there.
17:19.839–17:21.932
Hit save and then I can close out of that
17:21.932–17:25.800
because what we need to get next is we need to get our YouTube channel ID.
17:25.800–17:27.476
I'm not actually going to do the uploads playlist.
17:27.476–17:28.815
I don't think it needs that,
17:28.815–17:31.085
but I am going to go find the YouTube channel ID.
17:31.085–17:32.460
Oh, but this is actually cool.
17:32.460–17:34.244
My YouTube channel ID is already in there
17:34.244–17:35.924
and the playlist ID is already in there
17:35.924–17:38.548
because it was able to just pull it from a different project.
17:38.548–17:41.679
So obviously if you didn't have that already set up, it wouldn't do that,
17:41.679–17:44.497
but it would explain to you exactly how to do that if you needed to.
17:44.497–17:48.480
So now that we have that API key put in, let's just see if it works.
17:48.480–17:52.760
Okay, so I've given you the API key in that local.env.
17:52.760–17:55.198
Can you go ahead and test it to see if that connection works?
17:55.198–17:57.317
And if not, then we'll have to make some changes.
17:57.317–17:58.977
Okay, now while this is running,
17:58.977–18:01.497
what you guys might notice when you hop into Codex
18:01.497–18:04.387
is that it might pause a lot to actually ask you questions
18:04.387–18:05.678
and like approve things.
18:05.678–18:08.355
And that's what happens when you're on default permissions.
18:08.355–18:09.746
So if you want to be able to change that,
18:09.746–18:11.320
you're going to go up here to your settings.
18:11.320–18:12.339
And then in general,
18:12.339–18:13.478
you can see right here,
18:13.478–18:14.857
auto review or full access.
18:14.857–18:16.849
And this by default will be turned off.
18:16.849–18:17.849
So if I turn this on,
18:17.849–18:19.537
then when we're back in our chat,
18:19.537–18:20.788
we now have the ability,
18:20.788–18:21.600
see right here,
18:21.600–18:22.788
this is exact example,
18:22.788–18:23.914
allow network access
18:23.914–18:25.039
and I want to say yeah,
18:25.039–18:25.539
allow it.
18:25.539–18:27.263
Or if I switch this to full access,
18:27.263–18:30.772
now it's just going to do everything without asking for permission.
18:30.772–18:32.791
So obviously it comes up as orange here
18:32.791–18:36.828
because there's sometimes where you might not want full autonomous access.
18:36.828–18:39.651
And I think it's best practice when you're first getting started
18:39.651–18:41.585
and you're first building some automations
18:41.585–18:43.049
to maybe just leave it on default.
18:43.049–18:44.948
But once you start getting a hang of your skills
18:44.948–18:46.555
and you start getting a hang of the flow,
18:46.555–18:48.892
then moving to full access is going to save you a lot of time
18:48.892–18:50.791
so that you can actually not have to baby sit it.
18:50.791–18:52.522
But I had to call that out because,
18:52.522–18:53.017
you know,
18:53.017–18:55.922
we've seen horror stories of agents deleting databases
18:55.922–18:58.333
or sending out mass emails and stuff like that.
18:58.333–18:59.832
So you just want to be safe with it.
18:59.832–19:02.395
I personally have never had any sort of problem like that.
19:02.395–19:04.283
That usually comes from context rot
19:04.283–19:05.731
or very vague instructions
19:05.731–19:08.437
or or just not being super smart with your planning.
19:08.437–19:11.013
So you can see what's happening here is it's trying it out, right?
19:11.013–19:12.303
And it's running into some issues.
19:12.303–19:15.719
But what's great about this agentic loop is that it's going to keep trying things
19:15.719–19:17.096
until it actually goes through.
19:17.096–19:17.599
There we go.
19:17.599–19:19.658
You can see nice the key works for channel data,
19:19.658–19:21.031
and I'm going to do one more test
19:21.031–19:23.512
to make sure that I can pull comments from recent videos.
19:23.512–19:26.614
So a big mindset shift when you're using any of these tools
19:26.614–19:27.712
is to just let it run,
19:27.712–19:28.682
let it try things,
19:28.682–19:30.556
help steer in the right direction,
19:30.556–19:31.396
ask questions,
19:31.396–19:32.042
be curious,
19:32.042–19:34.045
and just take a look at what it's doing
19:34.045–19:34.960
because it tells
19:34.960–19:36.880
you every single thing that it's trying.
19:36.880–19:38.830
But now we can see I've tested the key.
19:38.840–19:40.836
I can get comments from your recent videos,
19:40.836–19:42.776
and it's completely working as expected.
19:42.776–19:46.614
However, PowerShell's built-in web request had a local TLS issue,
19:46.614–19:49.160
but Node and Python both connected cleanly.
19:49.160–19:50.618
For the project, that's fine.
19:50.618–19:54.120
We'll use Node and server-side code for the dashboard anyway.
19:54.120–19:56.400
Now, here's something to think about.
19:56.400–19:58.440
I don't really know what that means.
19:58.440–20:01.762
But what I want to make sure is that that doesn't happen again,
20:01.762–20:05.411
or I want to make sure that this project doesn't lose this knowledge
20:05.411–20:07.430
because it it it it ran into a failure.
20:07.430–20:09.014
And whenever you run into a failure,
20:09.014–20:10.862
you want to treat that as golden knowledge
20:10.862–20:14.136
because it means you have more data to make sure that it doesn't do it again.
20:14.136–20:17.934
So all I'm going to say is, "Okay, thanks for testing that.
20:17.934–20:20.655
I want to make sure that you don't ever run into that issue again,
20:20.655–20:23.529
and I want to make sure that that knowledge is saved in this project.
20:23.529–20:26.655
So can you just throw together a quick file somewhere in your memory,
20:26.655–20:29.616
somewhere in this project to make sure that you already know that
20:29.616–20:31.600
so that next time it doesn't happen again."
20:31.600–20:32.728
And doing stuff like this,
20:32.728–20:33.855
having this sort of habit,
20:33.855–20:36.418
is how you actually make these systems get smarter over time
20:36.418–20:39.186
rather than just feeling like you're always repeating yourself
20:39.186–20:41.400
or that you're always running into the same issues.
20:41.400–20:43.105
Another mindset shift for you right there.
20:43.105–20:45.643
So here it decided to add this into the agents.md.
20:45.643–20:47.659
Right now, I have no objections to that,
20:47.659–20:49.002
but as your projects grow,
20:49.002–20:51.506
you don't want to put everything in the agents.md
20:51.506–20:54.011
because if that agents.md file gets really huge,
20:54.011–20:55.904
it's going to use more of your tokens.
20:55.904–20:56.160
Okay.
20:56.160–20:57.303
So before we keep going,
20:57.303–20:59.590
I did want to point out one other thing down here,
20:59.590–21:00.800
which is this little bar.
21:00.800–21:04.500
This shows you how much of your context window is currently filled up.
21:04.500–21:07.140
Now, if If were using Claude Code and you're using Opus,
21:07.140–21:08.058
you have a million.
21:08.058–21:11.491
So, it's, you know, about four times as much as this in Codex.
21:11.491–21:15.056
However, Codex automatically compacts just like Opus does
21:15.056–21:16.838
and just like Cloud Code does.
21:16.838–21:17.595
So, it's really nice.
21:17.595–21:19.480
You don't have to worry about it too much,
21:19.480–21:23.085
but you still want to be thinking about some general context management tips.
21:23.085–21:25.099
I've got some videos on my channel about that
21:25.099–21:27.386
that are agnostic to whatever tool you want to use.
21:27.386–21:30.898
I'm not going to dive super deep into context window management in this video,
21:30.898–21:32.735
but just wanted to point that out as well.
21:32.735–21:33.929
Okay, so what's next?
21:33.929–21:37.447
What I want to do is I want to show you guys that it's able to pull comments
21:37.447–21:40.429
and that we're able to create an actual deliverable from it.
21:40.429–21:42.803
So, let me just once again go back to plan mode.
21:42.803–21:47.662
All right, so what I want you to do is pull in, you know, about 100 or 200 of my most recent comments
21:47.662–21:49.200
and I want you to analyze them.
21:49.200–21:50.908
I want you to find patterns
21:50.908–21:54.247
and I want you to display all of this in a Excel sheet.
21:54.247–21:56.967
And I want it to be a visual representation of this data
21:56.967–21:59.868
that has interesting insights for me as a content creator
21:59.868–22:02.346
so that I can keep making content that people want
22:02.346–22:05.680
and I can keep answering questions that are coming up frequently.
22:05.680–22:07.352
So, go ahead and do a plan for this
22:07.352–22:10.633
and structure what the Excel sheet deliverable will look like.
22:10.633–22:11.342
So, I shot that off.
22:11.342–22:13.575
I'm going to let you guys know when we have a plan
22:13.575–22:15.006
or if it asks me any questions.
22:15.006–22:17.607
A couple questions here to make sure that it understands what we want.
22:17.607–22:19.328
It's asking about the recent comments.
22:19.328–22:21.078
I'm just going to say across recent videos.
22:21.078–22:22.320
How many should we pull?
22:22.320–22:23.078
Let's say 200.
22:23.078–22:25.476
How should we classify and summarize the comments?
22:25.476–22:27.040
I'm just going with all of its recommendations.
22:27.040–22:27.796
Those were pretty good.
22:27.796–22:29.470
And so, if I switch over to a different tab,
22:29.470–22:30.857
let's say we're back on our slides,
22:30.857–22:32.962
you can see my pet down here has a little one next to it.
22:32.962–22:35.458
Well, the one's gone because I switched back into Codex,
22:35.458–22:36.361
but that little one,
22:36.361–22:37.742
if I would have hovered over it,
22:37.742–22:39.388
it would show me what it's working on.
22:39.388–22:43.400
So, now I can keep tabs on my workflow while I'm doing other things.
22:43.400–22:45.622
And Codex makes multitasking really easy.
22:45.622–22:48.049
Because of the fact that I could open up a new chat in this project
22:48.049–22:49.102
and work on something else.
22:49.102–22:50.679
Then I could open up a new chat in this project
22:50.679–22:51.660
and work on something else.
22:51.660–22:52.678
And it will color code
22:52.678–22:55.618
and give you like a little blue dot or yellow dot on the side here
22:55.618–22:57.597
if one of these sessions needs attention.
22:57.597–22:58.822
So, anyways, here is the plan.
22:58.822–23:01.593
What I would recommend is at this point you read through it.
23:01.593–23:03.842
You make any changes to specific sections if you want,
23:03.842–23:06.941
but for the sake of the video I'm just going to go ahead and submit that plan.
23:06.941–23:08.604
But while this is running real quick,
23:08.604–23:11.125
I wanted to show you a few other things that we can look at.
23:11.125–23:13.082
So, if you do {slash} inside of this chat,
23:13.082–23:15.280
there's things that you can actually look at.
23:15.280–23:22.440
So, we've got auto review, code review, feedback, MCP, memories, model, personality, pet, plan mode, reasoning.
23:22.440–23:29.120
There's all of these different skills that we can use like browser use, GitHub, Higgs Field, PDF, skill creator.
23:29.120–23:31.799
The {slash} is going to open up a lot of different things for you.
23:31.799–23:34.174
And of course, what you can do is you can also tag things.
23:34.174–23:35.086
So, if I do an {at},
23:35.086–23:40.433
this is going to let us tag either specific plugins or specific files that live somewhere in this project.
23:40.433–23:44.556
So, if you're ever trying to reference a specific plugin or something specific,
23:44.556–23:49.603
then it's probably best to try using the {slash} or using the {at} to actually tag that in your chat.
23:49.603–23:51.688
Now, the reason I wanted to bring up the {slash}
23:51.688–23:54.627
is because you'll see one right here called {slash} personality,
23:54.627–23:55.696
which if I shot that off,
23:55.696–23:57.888
it would actually let it, you know, do something.
23:57.888–23:58.731
So, what I can show you is
23:58.731–24:01.480
I don't want to interrupt this main don't want to interrupt this main session.
24:01.480–24:04.164
I could come up here and I could click on open side chat.
24:04.164–24:06.737
And that opens up a different little conversation here
24:06.737–24:08.136
that still lives in this chat,
24:08.136–24:09.478
still lives in this project.
24:09.478–24:11.594
So, if you're coming over from Cloud Code,
24:11.594–24:13.840
this is pretty similar to {slash} by the way.
24:13.840–24:16.209
So, what I can do over here is I can do {slash} personality.
24:16.209–24:19.755
And now I can set if I want the personality to be friendly or pragmatic.
24:19.755–24:22.548
And I guess I didn't actually need to switch over here
24:22.548–24:24.261
because it just opens like this,
24:24.261–24:25.975
but right now we're on friendly.
24:25.975–24:27.633
I'm actually going to switch this to pragmatic.
24:27.633–24:31.174
You can see this says concise, task-focused, and direct.
24:31.174–24:34.774
And honestly, most of the time I'd probably prefer pragmatic.
24:34.774–24:37.400
So, I'm usually working on pragmatic by default.
24:37.400–24:38.885
But now that we've opened the side chat,
24:38.885–24:40.414
let me just show you guys something else.
24:40.414–24:43.211
Um, give me a quick update about my YouTube channel and,
24:43.211–24:46.008
you know, the type of videos I've been making recently.
24:46.008–24:47.291
Just to show you guys that, okay,
24:47.291–24:49.430
if you have your agent working right here on something
24:49.430–24:50.809
and you don't want to interrupt it,
24:50.809–24:52.330
but you have some sort of side question
24:52.330–24:53.613
that is relevant to this project
24:53.613–24:56.000
or maybe relevant to something that you guys were working on
24:56.000–24:57.852
earlier, you can ask over here.
24:57.852–25:00.418
Because right here you can see it has the context
25:00.418–25:02.160
of what we talked about already.
25:02.160–25:03.630
And I could go back and forth a little bit,
25:03.630–25:05.272
and then I could just close out of the side chat
25:05.272–25:05.964
whenever I'm done.
25:05.964–25:07.464
Okay, so that has been created.
25:07.464–25:10.810
It pulled in 200 recent comments across three recent videos,
25:10.810–25:14.155
and I could open it up right here in this dashboard sort of view
25:14.155–25:15.992
right in CodaX, which is awesome.
25:15.992–25:17.715
And I could actually make some follow-ups
25:17.715–25:18.847
and chat with it right here,
25:18.847–25:20.570
but it's a little bit finicky to be honest.
25:20.570–25:22.322
So what I'm going to do is close out of that,
25:22.322–25:24.223
and I'm just going to open up our folder again,
25:24.223–25:25.124
which was right here.
25:25.124–25:26.936
And you can see there's a lot more that lives in here now.
25:26.936–25:29.075
Not only do we have our agents and our .env,
25:29.075–25:30.114
but we have scripts,
25:30.114–25:31.153
and we have outputs,
25:31.153–25:33.232
and we have different nodes and modules,
25:33.232–25:34.454
which has a lot of stuff.
25:34.454–25:36.759
So if at any point this starts to feel a little bit unorganized
25:36.759–25:38.295
and you don't understand the structure,
25:38.295–25:39.922
all you have to do is come into CodaX and say,
25:39.922–25:41.278
have to do is come into CodaX and say,
25:41.278–25:42.634
"Hey, help me like reorganize this,
25:42.634–25:45.520
or maybe give me a document that helps me navigate it a little bit better."
25:45.520–25:48.359
Because of course this lives in a local directory,
25:48.359–25:49.644
and CodaX can touch it,
25:49.644–25:50.117
read it,
25:50.117–25:50.861
organize it,
25:50.861–25:51.334
edit it.
25:51.334–25:52.373
So if I go to the outputs
25:52.373–25:54.233
and I go to the YouTube comment insights,
25:54.233–25:56.367
we see all of these different stuff that it did.
25:56.367–25:58.461
So it took some screenshots as you can see,
25:58.461–26:00.855
but then it also created the actual Excel sheet.
26:00.855–26:02.611
So I'll open this up right here,
26:02.611–26:03.826
and we can take a look.
26:03.826–26:05.485
All right, so we and we can take a look.
26:05.485–26:07.958
All right, so we have YouTube comment insights,
26:07.958–26:11.049
200 newest public comments across recent Nate Hurt videos,
26:11.049–26:12.595
generated May 5th, 11:00 a.m.
26:12.595–26:14.378
So we can see the question rate,
26:14.378–26:16.024
the content requested rate,
26:16.024–26:17.670
top mention tools CodaCode.
26:17.670–26:18.066
Uh-oh.
26:18.066–26:19.801
We've got high priority stuff,
26:19.801–26:20.602
top patterns,
26:20.602–26:21.269
skip video,
26:21.269–26:22.203
stuff like that.
26:22.203–26:23.916
It even started to create some visuals here,
26:23.916–26:24.611
which is awesome.
26:24.611–26:27.124
So this is content category mix over here.
26:27.124–26:31.596
It shows the mix between general feedback or questions with um actual values.
26:31.596–26:33.451
So 55 were general feedback,
26:33.451–26:34.688
53 were questions.
26:34.688–26:36.240
Some of these were access,
26:36.240–26:37.440
positive feedback,
26:37.440–26:38.498
tool comparison,
26:38.498–26:39.415
pricing stuff.
26:39.415–26:41.055
Over here we have different tools.
26:41.055–26:41.844
So CodaCode,
26:41.844–26:42.633
Higgs Field,
26:42.633–26:43.278
CodaX API.
26:43.278–26:45.501
And then over here we have some other stats as you can see.
26:45.501–26:47.254
Now we have a bunch of different tabs as well.
26:47.254–26:48.635
So we have creator insights.
26:48.635–26:51.496
So ranked comment patterns and recommended creator actions.
26:51.496–26:55.470
So I'm able to see the percentage breakdown of different types of comments
26:55.470–26:58.867
and it also gives me recommended actions with priority scores.
26:58.867–27:00.138
So, that's pretty cool.
27:00.138–27:01.640
I also can see frequent questions.
27:01.640–27:03.913
So, things that are coming up as patterns.
27:03.913–27:08.200
It's giving me content ideas now as well because it's analyzing those comments.
27:08.200–27:10.204
It's giving me nice reply opportunities
27:10.204–27:12.444
and then it's giving me just the raw comments.
27:12.444–27:16.696
So, this should be 200 rows of our actual comments that it pulled.
27:16.696–27:21.273
204 as you can see because the first three or four were just nonsense.
27:21.273–27:22.487
So, that is awesome.
27:22.487–27:25.628
And what you guys might be thinking is okay, is this actually useful?
27:25.628–27:29.916
Maybe not because we just said, "Hey, give me analytics." Right?
27:29.916–27:32.567
If you guys remember my actual prompt, it was very, very vague.
27:32.567–27:35.202
So, if we would have spent more time in the planning phase
27:35.202–27:38.062
or if we had certain analytics that we're tracking very heavy
27:38.062–27:40.641
or certain comments that we're really looking out for,
27:40.641–27:42.492
we would give that to Codex as knowledge
27:42.492–27:44.240
and it would make this actual, um, you
27:44.240–27:44.895
know, insights,
27:44.895–27:46.346
it would make it much know, insights,
27:46.346–27:48.359
it would make it much more customized and tailored.
27:48.359–27:50.696
So, now let's talk about how do we turn this into a skill?
27:50.696–27:52.200
So, first of all, what is a skill?
27:52.200–27:53.120
So, first of all, what is a skill?
27:53.120–27:55.405
Well, a skill is basically a repeatable recipe.
27:55.405–27:57.499
So, if I come back in here and I click on plugins,
27:57.499–27:58.949
we saw all these plugins, right?
27:58.949–28:00.691
These are actual like connections
28:00.691–28:02.133
and potentially MCP servers
28:02.133–28:03.995
and kind of like some other, you know,
28:03.995–28:06.698
it's a package that people are able to install and use.
28:06.698–28:09.969
But, skills are more of just like instructions.
28:09.969–28:11.850
So, there's an image gen skill.
28:11.850–28:13.950
There is a OpenAI doc skill.
28:13.960–28:16.294
There's a GitHub review follow-up skill,
28:16.294–28:17.295
a document skill.
28:17.295–28:20.798
And these are all basically just markdown file instructions
28:20.798–28:23.271
that tell Codex how to do something better.
28:23.271–28:25.091
So, how to design a website better
28:25.091–28:27.497
or how to, you know, give you a morning brief.
28:27.497–28:30.455
And so, what we want to do is we want to turn this,
28:30.455–28:32.882
exactly what we just did, into a skill.
28:32.882–28:35.863
So, that anytime I say, "Hey, go give me more YouTube insights."
28:35.863–28:37.325
It knows what endpoints to hit,
28:37.325–28:38.619
it knows how to pull them in,
28:38.619–28:40.307
it knows how to make the Excel sheet,
28:40.307–28:41.544
it knows how to do all this.
28:41.544–28:43.656
And the best way that I like to make skills is
28:43.656–28:46.588
I just basically brainstorm with with Codex to do something
28:46.588–28:48.348
and then after I get an output I like,
28:48.348–28:50.166
I say, "Okay, turn that into a skill."
28:50.166–28:52.454
So, this was the ultimate deliverable, right?
28:52.454–28:55.641
So, what you just did is you helped me pull in data from my YouTube.
28:55.641–28:56.512
You got comments,
28:56.512–28:57.499
you ran an analysis,
28:57.499–29:00.169
and you created me an awesome Excel sheet deliverable.
29:00.169–29:02.113
I want you to turn that into a skill
29:02.113–29:05.029
so that every time I say to grab my YouTube comments
29:05.029–29:06.556
and give me some insights,
29:06.556–29:07.876
you do this exact flow,
29:07.876–29:09.889
and that makes it more consistent.
29:09.889–29:11.593
So, I'm going to shoot off that message,
29:11.593–29:14.021
and while it's doing that, just think about it like this.
29:14.021–29:15.861
If someone asked you to create or not create
29:15.861–29:18.365
If someone asked you to make them chocolate chip pancakes,
29:18.365–29:19.950
you're going to open up your cookbook
29:19.950–29:20.870
or pull up your phone,
29:20.870–29:22.301
and you're going to read a recipe,
29:22.301–29:23.640
and you're going to follow it to
29:23.640–29:23.788
a T.
29:23.788–29:25.165
You're going to follow the measurements,
29:25.165–29:25.756
the ingredients,
29:25.756–29:26.464
and the temperature,
29:26.464–29:26.976
and the timing,
29:26.976–29:27.566
and temperature,
29:27.566–29:28.078
and the timing,
29:28.078–29:28.560
and whatever.
29:28.560–29:31.318
And then next time someone asked you to make chocolate chip cookies
29:31.318–29:31.859
or pancakes,
29:31.859–29:33.337
you would just use that same recipe,
29:33.337–29:35.405
and they'd come out pretty much the exact same way.
29:35.405–29:37.062
Because if you didn't use the recipe,
29:37.062–29:38.292
you would just be guessing,
29:38.292–29:40.057
and you'd be you'd be sort of measuring,
29:40.057–29:41.019
and you'd be feeling,
29:41.019–29:42.623
and it just wouldn't be consistent.
29:42.623–29:43.564
And the cool thing is,
29:43.564–29:45.133
now that you have this recipe to use,
29:45.133–29:46.440
every time you use the recipe,
29:46.440–29:47.957
you might be able to make it better.
29:47.957–29:49.210
If one time you experiment,
29:49.210–29:50.952
and you add some more chocolate chips,
29:50.952–29:51.878
you either like that
29:51.878–29:52.477
or you don't,
29:52.477–29:53.512
you update the recipe.
29:53.512–29:56.820
Maybe one time you realize that you're actually leaving too much raw batter inside.
29:56.820–29:57.744
So, what do you do?
29:57.744–30:03.609
You update the recipe to say, "Okay, you leave it on 4 minutes on each side rather than 3 and 1/2 minutes on each side."
30:03.609–30:09.240
You're able to, each time you use the recipe, have it be updated, and that is the power of building these skills.
30:09.240–30:13.914
And you can see that it's able to work backwards and reverse engineer a skill from our output.
30:13.914–30:17.389
And what it does is it puts them in a file called the dot Codex,
30:17.389–30:19.126
which kind of lives globally,
30:19.126–30:22.949
which means whenever you're working inside of any Codex project,
30:22.949–30:25.312
you're going to be able to use that skill.
30:25.312–30:27.508
And all you have to do to call it is you'll do a slash command,
30:27.508–30:28.897
and then you will just name the skill.
30:28.897–30:31.372
So, if you guys remember, down here we have all these other ones.
30:31.372–30:34.848
I could do slash browser use slash image gen slash PDF,
30:34.848–30:37.551
and that's how I could be able to call them.
30:37.551–30:40.867
The other way you can call them is you can actually just have them be natural language.
30:40.867–30:42.942
So, just to show you guys another example,
30:42.942–30:44.246
if I go to my Herc 2 project,
30:44.246–30:46.617
and I know this is more optimized for cloud code,
30:46.617–30:48.099
but we have a dot cloud folder,
30:48.099–30:48.880
which is local.
30:48.880–30:50.042
So, if I click into here,
30:50.042–30:51.901
I can see I have a folder called skills,
30:51.901–30:53.818
and all of these are my different skills
30:53.818–30:55.677
that currently live inside of my AI OS.
30:55.677–30:57.671
So, let's say here I have a morning coffee skill,
30:57.671–31:00.711
and I'm going to open this up real quick in my notepad just to show you guys.
31:00.711–31:02.192
All this is is a markdown file.
31:02.192–31:03.519
We have the name of the skill,
31:03.519–31:04.680
we have the description.
31:04.680–31:09.128
So, here it says, "Use when someone asks for morning coffee to prep or plan their day."
31:09.128–31:12.511
So, anytime in cloud code I say, "Hey, can you help me plan my day?"
31:12.511–31:15.017
cloud code will grab this morning coffee skill,
31:15.017–31:15.456
read it,
31:15.456–31:16.521
and then execute it.
31:16.521–31:18.186
And it says, "Okay, here's the context,
31:18.186–31:19.548
here's the recurring meetings,
31:19.548–31:20.607
here is the meeting prep,
31:20.607–31:22.322
here are these different reference IDs,
31:22.322–31:23.836
here's everything you need to know,
31:23.836–31:24.441
and the order.
31:24.441–31:25.305
So, step one,
31:25.305–31:25.933
step two,
31:25.933–31:26.719
step three.
31:26.719–31:29.987
Here is what you do whenever Nate asks for a morning coffee skill."
31:29.987–31:32.186
So, that is all that is happening right here.
31:32.186–31:35.435
You can see it created this skill called YouTube comment insights,
31:35.435–31:37.117
and it did this at the global level.
31:37.117–31:39.954
What I mean by that is this lives locally in our directory
31:39.954–31:42.549
directory that sits across any Codex project ever.
31:42.549–31:45.717
So, if I open up this other project, I could use the skill,
31:45.717–31:48.009
or we could put it locally in our project,
31:48.009–31:53.199
which would mean I could only use the skill in this specific YouTube analytics demo project.
31:53.199–31:55.615
And all you have to do to change that differentiation is say,
31:55.615–31:58.562
"Hey, instead of putting that global, put that locally in this project."
31:58.562–32:01.364
Or, instead of having that locally in this project, make that global.
32:01.364–32:06.040
So, now if I do a slash and I do YouTube comment insights, we have this right here.
32:06.040–32:10.670
YouTube comment insights analyze comments into an Excel report.
32:10.680–32:12.396
Which is the skill that we just built together,
32:12.396–32:13.100
so that is awesome.
32:13.100–32:13.570
All right,
32:13.570–32:15.449
so before we move on to the next step of this,
32:15.449–32:17.067
I wanted to talk about pets real quick
32:17.067–32:20.199
just because I know you guys are dying to understand how you can get this.
32:20.199–32:20.932
It's really simple,
32:20.932–32:21.795
you go to your settings,
32:21.795–32:23.433
and then you're going to go to your appearance
32:23.433–32:24.425
and scroll all the way down,
32:24.425–32:25.805
and you can see right here we have pets.
32:25.805–32:27.755
And we can choose between different ones.
32:27.755–32:27.996
So,
32:27.996–32:30.567
right now I'm just using the Codex pet,
32:30.567–32:32.255
but I could choose Dewey,
32:32.255–32:32.657
or CD,
32:32.657–32:33.380
or Beasod,
32:33.380–32:34.103
or Stacky.
32:34.103–32:36.653
So, I'm just going to go ahead and switch this to Fireball for fun,
32:36.653–32:38.069
and you can see down here it changes.
32:38.069–32:40.286
And yes, it's kind of a fun little UI thing,
32:40.286–32:44.214
but remember if I'm not inside of Codex and I'm in this dashboard over here,
32:44.214–32:49.473
we can still see the pet and it will tell us when it's working on things and when it's done with things.
32:49.473–32:51.578
So, it is a little bit practical as well.
32:51.578–32:52.160
All right.
32:52.160–32:54.422
So, now we have a deliverable.
32:54.422–32:58.738
We have an Excel sheet and we're going to use that as the back end that basically powers this next section.
32:58.738–33:03.726
So, I'm going to open up a new project because we're kind of starting a new goal, a new a new deliverable.
33:03.726–33:09.680
So, I want to open up a new chat and this will still be able to access everything that's in this folder.
33:09.680–33:11.562
So, I'm going to go ahead and switch over to plan mode here.
33:11.562–33:13.209
Okay, so here's the idea I have.
33:13.209–33:19.189
You have access to a file inside of this project and what I'm going to do is actually reference the exact file.
33:19.189–33:23.169
So, I'm going to look for the YouTube comment insights right here
33:23.169–33:25.307
and I'm going to tag that right here
33:25.307–33:27.160
and I'm going to tag that file.
33:27.160–33:29.756
So, what I want you to do is create me a dashboard,
33:29.756–33:31.248
spin this up on a local host,
33:31.248–33:33.584
and I want it to have really nice UI elements
33:33.584–33:36.114
and, you know, charts and graphics and things,
33:36.114–33:37.347
so visualizing my data
33:37.347–33:38.720
and I want to be able to see
33:38.720–33:41.680
different insights about my YouTube different insights about my YouTube comments.
33:41.680–33:44.383
What I want you to do here is I want you to use GPT image 2
33:44.383–33:48.068
and create some really nice concepts of how this dashboard should look.
33:48.068–33:51.851
And also, if you want to use it for maybe like a nice logo in the top
33:51.851–33:53.707
or any of the other UI elements,
33:53.707–33:57.490
utilize GPT image 2 to make this thing just look really polished
33:57.490–33:58.775
and really aesthetic
33:58.775–34:00.631
and really fun at the same time.
34:00.631–34:02.520
So, that is the idea I have.
34:02.520–34:04.094
I want you to help plan this out,
34:04.094–34:06.152
ask me any questions you have about this,
34:06.152–34:07.968
and then we'll go ahead and execute.
34:07.968–34:09.988
And so also, this default switch to extra high again,
34:09.988–34:12.101
I'm just going to go ahead and switch that back to medium
34:12.101–34:13.019
and then shoot that off.
34:13.019–34:16.021
And you can see down here the pet has started to think
34:16.021–34:17.766
and it's talking a little bit.
34:17.766–34:20.744
But, the reason why you want to be careful about which models you're using,
34:20.744–34:21.608
there's two reasons.
34:21.608–34:26.317
The first one is because sometimes if you chuck extra high at a task that's really simple,
34:26.317–34:27.600
like over engineers it.
34:27.600–34:31.992
And the second piece is because each of these cost you different amounts of your tokens or your session.
34:31.992–34:33.318
Obviously, low cost the least
34:33.318–34:34.591
and extra high cost the most.
34:34.591–34:36.347
If you go over here to your settings
34:36.347–34:38.346
and you click on rate limits remaining,
34:38.346–34:40.829
it shows you how much of your session you have left
34:40.829–34:41.859
and when it expires.
34:41.859–34:43.743
So, every 5 hours it resets
34:43.743–34:46.142
and right now I have 97% remaining
34:46.142–34:48.198
and then every week it resets
34:48.198–34:51.120
and right now I have 99% remaining there.
34:51.120–34:54.545
And so, it's really nice to be able to keep tabs on that right here,
34:54.545–34:57.335
but that's why you want to be careful about, you know,
34:57.335–34:59.048
your context window management
34:59.048–34:59.999
and your planning
34:59.999–35:01.014
and your prompting
35:01.014–35:02.663
and your model usage down here.
35:02.663–35:07.844
In general though, I have seen that my session is lasting way longer in Codex
35:07.844–35:09.571
than it is in Claude Code.
35:09.571–35:15.511
And a big part of that is because ChatGPT 5.5 is really, really efficient with tokens,
35:15.511–35:18.105
with output tokens and input tokens.
35:18.105–35:20.610
And if you guys go watch that video that I was talking about,
35:20.610–35:24.445
you will see that exact experiment and it's really interesting to understand and look at,
35:24.445–35:27.257
but I've generally found that it's really efficient with tokens.
35:27.257–35:28.625
Now, we have some feedback here.
35:28.625–35:34.400
It says, "Which visual direction should guide the GPT image two concepts and the final dashboard UI?"
35:34.400–35:37.270
Creator Ops, Playful Studio or Executive Clean.
35:37.270–35:39.001
I'm just going to go with the recommendation.
35:39.001–35:42.112
For this first version, how should the dashboard get its YouTube comment data?
35:42.112–35:46.340
I'm going to say to use the existing output, which was the um Excel file.
35:46.340–35:49.356
And then what should the first screen prioritize most?
35:49.356–35:51.431
Reply and ideas, analytics overview.
35:51.431–35:54.257
I'm actually going to go with analytics overview for this one.
35:54.257–35:54.911
And by the way,
35:54.911–35:55.784
if you're in the app
35:55.784–35:57.856
and you want to get rid of the pet really quick,
35:57.856–35:59.055
you can just do {slash} pet
35:59.055–36:00.691
and then that will just tuck it away.
36:00.691–36:01.042
Okay,
36:01.042–36:03.356
so it came up with a plan pretty quickly.
36:03.356–36:05.112
You can see here that I can expand this
36:05.112–36:05.962
and read about it.
36:05.962–36:06.116
So,
36:06.116–36:07.191
we've got like a summary,
36:07.191–36:08.164
we've got key changes,
36:08.164–36:09.445
we've got all this other stuff
36:09.445–36:11.801
and this is where we would once again iterate with Codex
36:11.801–36:14.004
before we say, "Yep, go ahead and build that for me."
36:14.004–36:15.960
But I'm just going to go ahead and say, "Yep, go
36:15.960–36:17.125
ahead and build that for me."
36:17.125–36:19.795
You can see that it's using the image generation for GPT image two,
36:19.795–36:21.057
which is really, really solid.
36:21.057–36:24.280
And here is one of the kind of versions that it came up with.
36:24.280–36:28.334
And I've just found if If using Codex to build games or websites or whatever it is,
36:28.334–36:30.997
it just helps to give it the ability to test things out
36:30.997–36:32.691
and generate some concepts first
36:32.691–36:35.112
before it actually designs the rest of the site.
36:35.112–36:36.868
You can see this is the little logo that it came up with,
36:36.868–36:37.571
which is kind of cool.
36:37.571–36:39.496
It's got like a YouTube play button
36:39.496–36:40.360
with some noise
36:40.360–36:41.953
and some comments coming in.
36:41.953–36:43.040
And what it's going to do is
36:43.040–36:46.102
it's going to store all of these assets locally somewhere in this project,
36:46.102–36:49.066
so that later if we wanted to spin up different versions of the dashboard
36:49.066–36:50.251
or a different landing page,
36:50.251–36:51.200
it would have access to
36:51.200–36:52.629
all of these assets already.
36:52.629–36:53.978
And this is super cool, guys.
36:53.978–36:56.276
It has like this built-in verification loop
36:56.276–36:58.016
where it's going to check its work
36:58.016–37:00.066
before it actually gives you an output,
37:00.066–37:01.184
which is pretty cool.
37:01.184–37:04.008
So, it said the automated browser verification passed.
37:04.008–37:05.599
I'm now doing one visual pass
37:05.599–37:07.323
to see what else there might be,
37:07.323–37:08.384
what other issues.
37:08.384–37:09.726
And it found three issues
37:09.726–37:11.515
when it did an actual visual scan.
37:11.515–37:12.772
So, now it's fixing those.
37:12.772–37:14.341
It says, "Okay, those UI fixes are in.
37:14.341–37:15.600
I'm going to stop the server.
37:15.600–37:16.457
I'm going to rebuild,
37:16.457–37:18.981
and then I'm going to verify it one more time with screenshots."
37:18.981–37:20.219
And then it comes back and says,
37:20.219–37:22.172
"Okay, the second visual pass looks a lot better.
37:22.172–37:25.090
Here is your dashboard to actually go ahead and test out."
37:25.090–37:28.798
So, let's just real quick open this up right here locally in the explorer.
37:28.798–37:30.805
And now we have our creator ops signal desk.
37:30.805–37:32.635
So, I'm going to expand this a little bit.
37:32.635–37:34.895
We see the logo up here that it made.
37:34.895–37:36.796
We see 83% creator replies,
37:36.796–37:37.870
78 total likes.
37:37.870–37:40.041
We can switch between overview,
37:40.041–37:40.685
replies,
37:40.685–37:41.167
ideas,
37:41.167–37:41.972
questions,
37:41.972–37:43.178
and the explorer.
37:43.178–37:44.317
And this is really cool.
37:44.317–37:46.284
It looks like every single comment has a link.
37:46.284–37:47.452
So, if I click on this,
37:47.452–37:48.751
does it actually take us
37:48.751–37:49.280
Okay, no.
37:49.280–37:51.820
It didn't actually sync up every single comment to a link.
37:51.820–37:53.254
But it's cool that it showed us that
37:53.254–37:54.886
because that gave us a nice idea of like,
37:54.886–37:55.430
"Okay, cool.
37:55.430–37:56.675
I do actually want a link."
37:56.675–37:59.729
Now, you can actually go ahead and work that into the back end code
37:59.729–38:02.558
where every single comment should be associated with a link
38:02.558–38:04.538
so that I could open it up and respond to it.
38:04.538–38:06.281
Or we could take it one step further
38:06.281–38:06.701
and say,
38:06.701–38:10.848
"Okay, what would it look like for me to be able to respond right in this dashboard?"
38:10.848–38:14.934
And you actually fire off that API call to YouTube to respond on the right comment.
38:14.934–38:16.405
Because that is 100% doable.
38:16.405–38:19.227
You guys have seen how I've automated my comment section a little bit.
38:19.227–38:19.805
Anyways, let's
38:19.805–38:21.051
Let's take a look at the overview.
38:21.051–38:23.216
We can see we have this really nice chart.
38:23.216–38:24.957
We have some AI insights over here
38:24.957–38:26.822
where I can click on work reply queue
38:26.822–38:28.563
and that goes over to the replies.
38:28.563–38:30.491
I could also click on more content ideas
38:30.491–38:31.952
and that takes us to the ideas.
38:31.952–38:33.678
We can look at top tool mentions,
38:33.678–38:34.574
reply priority,
38:34.574–38:35.405
common themes.
38:35.405–38:37.752
We can also see the videos that are driving comments
38:37.752–38:40.535
and this would obviously grow as we pull in more and more data.
38:40.535–38:42.637
So let's say at this point we like this output
38:42.637–38:44.285
and we want to actually deploy this
38:44.285–38:47.760
because what you'll notice is this says that it's running on a localhost.
38:47.760–38:49.342
So if I copy this link right here
38:49.342–38:50.194
and I go to Chrome
38:50.194–38:51.167
and I paste that in,
38:51.167–38:53.601
it's going to pull up exactly what we saw, right?
38:53.601–38:54.429
And it works
38:54.429–38:55.680
and it looks fine.
38:55.680–38:57.444
But if I gave you this localhost
38:57.444–39:00.294
and you copy and pasted that into your own browser,
39:00.294–39:01.515
you would get nothing
39:01.515–39:03.144
because this lives locally.
39:03.144–39:06.041
It's being served on a server from our codebase.
39:06.041–39:08.284
So what I'm going to show you how to do now
39:08.284–39:11.546
is how do you actually get this from a localhost to the web?
39:11.546–39:12.518
And what we're going to do
39:12.518–39:13.722
is we're going to use two tools.
39:13.722–39:16.000
We're going to use The first tool is called GitHub
39:16.000–39:17.723
and the second tool is called Vercel.
39:17.723–39:19.004
So the first thing you're going to do
39:19.004–39:20.156
is you're going to type in GitHub
39:20.156–39:21.266
and you're going to go over here
39:21.266–39:22.504
and you're going to make a profile.
39:22.504–39:23.838
It's completely free to set up,
39:23.838–39:25.634
pretty much completely free to maintain.
39:25.634–39:27.320
Once you've created your GitHub,
39:27.320–39:29.367
all you have to do is connect this to Codex
39:29.367–39:33.039
and we're going to have Codex help us set up something called a repository
39:33.039–39:36.240
which is basically just a collection of your files and folders.
39:36.240–39:38.455
Remember how if we open up my file explorer
39:38.455–39:40.606
and we look inside of our YouTube comment
39:40.606–39:42.821
or sorry, YouTube analytics demo folder,
39:42.821–39:45.163
all of these files and folders are important
39:45.163–39:48.074
and all we have to do is get these off of our local machine
39:48.074–39:48.400
or not
39:48.400–39:50.320
off, they'll still live here locally.
39:50.320–39:52.710
But we're going to get them into some sort of repository
39:52.710–39:54.113
where I can access them publicly
39:54.113–39:56.243
or if you wanted to share these with other people,
39:56.243–39:57.594
they could access them as well.
39:57.594–39:59.473
So it's kind of like having a Word doc locally
39:59.473–40:02.368
but instead you're putting it on into Microsoft's cloud on OneDrive
40:02.368–40:03.333
or something like that
40:03.333–40:04.602
so that other people can use it
40:04.602–40:06.532
and you could use it from a different machine.
40:06.532–40:07.771
So that's the first step.
40:07.771–40:09.425
So let's go back into Codex
40:09.425–40:13.561
and what do you do when you don't exactly know how something works?
40:13.561–40:14.320
You just ask.
40:14.320–40:15.039
know how something works?
40:15.039–40:15.412
You just ask.
40:15.412–40:16.493
So this looks really good.
40:16.493–40:17.552
What I want to do is
40:17.552–40:19.175
I want to sync this code base
40:19.175–40:20.869
for this specific dashboard
40:20.869–40:22.280
to a GitHub repository.
40:22.280–40:24.105
So, help me get that signed up.
40:24.105–40:26.177
Help me get connected here to GitHub,
40:26.177–40:29.052
and then I want you to help me create that actual repo
40:29.052–40:31.057
and push everything into that repo.
40:31.057–40:32.924
And it even mentioned that right here.
40:32.924–40:34.954
Note, this folder is not currently a Git repo,
40:34.954–40:36.877
so there is no diff and status to summarize.
40:36.877–40:38.755
So, I'm going to shoot off that message,
40:38.755–40:41.372
and now it's going to help us actually sync up to GitHub.
40:41.372–40:43.683
Now, there is a difference between Git and GitHub.
40:43.683–40:47.031
Really the same thing of version control and all this stuff,
40:47.031–40:47.901
but Git is local
40:47.901–40:49.374
and GitHub is on the cloud.
40:49.374–40:51.449
And what's important here is that it says,
40:51.449–40:54.590
"I'll avoid committing secrets, especially the .env.local."
40:54.590–40:57.850
And so, that's why I told you to always paste your keys in that .env,
40:57.850–40:59.925
not into some random file called secrets.
40:59.925–41:01.306
It has to be in the .env
41:01.306–41:03.839
because that dot in front of the word env
41:03.839–41:07.830
basically tells Codex or Cloud Code or whatever you're using,
41:07.830–41:11.821
it tells it to exclude this from any, you know, public commits.
41:11.821–41:14.102
So, this point I've already set up the GitHub CLI.
41:14.102–41:15.311
If you haven't, it would just say,
41:15.311–41:16.477
"Hey, do you want to set this up?"
41:16.477–41:17.772
And you'll say, "Yes." Very simple.
41:17.772–41:19.425
And then you'll authenticate,
41:19.425–41:22.223
which means it'll basically just pop up a browser tab
41:22.223–41:25.465
and you'll sign in with the account you used to create GitHub,
41:25.465–41:28.400
and then boom, you will be connected to GitHub in Codex.
41:28.400–41:29.455
And while this is syncing up,
41:29.455–41:31.345
let me show you guys the next tool we're going to use.
41:31.345–41:33.221
This one is called Vercel.
41:33.221–41:35.320
Now, Vercel has a pretty generous free tier.
41:35.320–41:36.713
You can see I've got a few products on here.
41:36.713–41:41.049
You're going to be able to get working on Vercel for free just to get started.
41:41.049–41:44.281
And what Vercel does is it basically takes that code,
41:44.281–41:46.705
it takes, you know, this exact website,
41:46.705–41:49.496
which is on the back end, all this is it's code,
41:49.496–41:52.434
and it takes this and it serves it on a actual URL,
41:52.434–41:55.078
on an actual domain that anyone can access.
41:55.078–41:59.880
And what's really cool about this is Vercel and GitHub have a really nice partnership.
41:59.880–42:01.534
They actually like talk to each other.
42:01.534–42:03.868
So, anytime I make a change to our GitHub repo,
42:03.868–42:06.510
Vercel automatically picks that up and deploys it.
42:06.510–42:08.342
So, I know there's three tools here,
42:08.342–42:09.747
Codex, GitHub, and Vercel,
42:09.747–42:12.434
but that doesn't mean we have to manage three places.
42:12.434–42:14.374
All we have to do is manage Codex.
42:14.374–42:17.168
So it said that it's created a private repo for us.
42:17.168–42:17.812
If I open this up,
42:17.812–42:19.053
I don't want to open this up here.
42:19.053–42:20.671
And the reason why it doesn't show up here
42:20.671–42:21.955
is because this is a private repo
42:21.955–42:23.573
and over here I'm not signed in to GitHub.
42:23.573–42:25.459
So if I open this up in a browser
42:25.459–42:27.346
where I am signed in to GitHub,
42:27.346–42:29.534
we can see YouTube Analytics Demo.
42:29.534–42:30.667
This is a private repo
42:30.667–42:33.751
and what's in here is all of the different folders and files
42:33.751–42:36.646
that we've actually created to spin up this dashboard.
42:36.646–42:38.211
And now what's really cool is
42:38.211–42:39.189
if I go into Vercel
42:39.189–42:41.472
and I go ahead and click on add new project,
42:41.472–42:42.972
I can connect this to GitHub
42:42.972–42:44.537
and it already is connected.
42:44.537–42:45.929
So you would then just sign in
42:45.929–42:48.074
and you would connect your Vercel to GitHub.
42:48.074–42:50.432
And now you can import any of your repos.
42:50.432–42:53.720
So right here you can see YouTube Analytics Demo 1 minute ago.
42:53.720–42:55.111
I'm going to click on import.
42:55.111–42:56.370
And that's literally that simple.
42:56.370–42:57.921
I'm going to click on deploy
42:57.921–42:59.473
and then in maybe 30 seconds
42:59.473–43:02.103
we will have our YouTube Analytics Dashboard,
43:02.103–43:03.924
but we'll have it up on a live URL.
43:03.924–43:04.416
Awesome.
43:04.416–43:05.724
So it says congratulations,
43:05.724–43:07.142
you have deployed a new project
43:07.142–43:09.486
and I'm going to go ahead and continue to dashboard.
43:09.486–43:12.347
And this gives us a youtube-analytics-demo.vercel.app
43:12.347–43:14.800
a youtube-analytics-demo.vercel.app domain.
43:14.800–43:17.107
And if you wanted to switch this off to your own domain,
43:17.107–43:18.040
you certainly could.
43:18.040–43:21.100
You would just basically have to move the DNS records over here.
43:21.100–43:22.333
But I'm going to click on this
43:22.333–43:25.519
so you guys can see that this is the exact same thing we were just looking at.
43:25.519–43:26.108
Our replies,
43:26.108–43:26.589
our ideas,
43:26.589–43:27.285
our questions,
43:27.285–43:27.927
our explorer,
43:27.927–43:29.212
everything here is the same.
43:29.212–43:30.578
Except for now I could take this URL
43:30.578–43:31.850
and I could open it up on my phone.
43:31.850–43:33.279
Or I could open it up on my laptop.
43:33.279–43:34.522
Or you guys could open it up.
43:34.522–43:35.232
And like I said,
43:35.232–43:36.380
what's cool about that is
43:36.380–43:38.347
we basically are able to then test in Codex.
43:38.347–43:39.775
We can iterate right here.
43:39.775–43:40.957
We can make changes.
43:40.957–43:42.057
But just because we make changes
43:42.057–43:43.727
doesn't mean that it's actually going to go live.
43:43.727–43:48.079
So if I said, "Hey, I want you to change the entire background instead of blue to be red."
43:48.079–43:49.600
And it would say, "Okay, cool.
43:49.600–43:50.488
Here's the red background.
43:50.488–43:53.075
Here's the localhost to test it out on."
43:53.075–43:57.240
And if we like it, we say, "Okay, push those changes to our repo."
43:57.240–44:01.475
And then as soon as we push those changes, Vercel would automatically deploy those onto the real URL.
44:01.475–44:02.633
But if we said, "You know what?
44:02.633–44:03.300
I don't like that.
44:03.300–44:04.344
Just keep it as is."
44:04.344–44:07.019
then our main production site never got touched.
44:07.019–44:11.175
And that's how we keep a clean separation to test and to have something in production.
44:11.175–44:12.415
Okay, awesome.
44:12.415–44:14.092
So, what do we have now?
44:14.092–44:15.311
We have a working project,
44:15.311–44:16.696
and I'm opening up this folder
44:16.696–44:18.746
just to show you how much we've actually done
44:18.746–44:19.300
in the past,
44:19.300–44:19.909
I don't know,
44:19.909–44:21.128
30 to 40 minutes together.
44:21.128–44:23.474
And we've set up a bunch of different stuff.
44:23.474–44:25.499
Now, what do I want to talk about next
44:25.499–44:26.444
is automations.
44:26.444–44:27.367
So, already over here
44:27.367–44:29.110
you can see this tab called automations.
44:29.120–44:31.314
Automate work by setting up scheduled chats.
44:31.314–44:33.576
You can set up things like a status report,
44:33.576–44:34.352
release prep.
44:34.352–44:35.982
There's bunch of different things here
44:35.982–44:37.612
that give you sort of some inspiration.
44:37.612–44:38.951
But, what's really cool is
44:38.951–44:40.472
you can turn all of your skills
44:40.472–44:42.298
or any of your repeatable workflows
44:42.298–44:43.272
into an automation
44:43.272–44:44.246
that Codex will run
44:44.246–44:45.960
without needing your oversight.
44:45.960–44:47.281
So, I'm going to open up a new chat
44:47.281–44:48.896
in our YouTube Analytics Demo project,
44:48.896–44:49.875
and I'm going to go ahead
44:49.875–44:51.245
and start chatting to Codex here.
44:51.245–44:53.793
Okay, so we've just done a lot of stuff together.
44:53.793–44:57.617
We built a skill that grabs YouTube comments from my YouTube,
44:57.617–45:01.600
and it puts them into an Excel sheet after it does some analysis.
45:01.600–45:03.098
And that's coming out really nice.
45:03.098–45:07.344
And then we built a dashboard served on then we built a dashboard served on Vercel
45:07.344–45:12.360
that actually displays visually all of those analytics and statistics from that Excel sheet.
45:12.360–45:16.869
Now, what I want to do is I want to set up an automation that just refreshes this every week.
45:16.869–45:19.824
So, let's just say every Sunday at 5:00 p.m.,
45:19.824–45:23.498
I want you to run the YouTube comments analytics skill.
45:23.498–45:28.130
And then what I want you to do with that is update that data on that Excel sheet,
45:28.130–45:29.578
you know, add more rows,
45:29.578–45:31.025
update the statistics,
45:31.025–45:34.210
and that will automatically sync to the GitHub repo.
45:34.210–45:35.797
So, after you make those changes,
45:35.797–45:38.971
you'll have to also reflect those changes onto the actual code base
45:38.971–45:40.274
where the dashboard lives,
45:40.274–45:42.371
and then you'll push those changes to GitHub
45:42.371–45:44.865
so that they automatically get reflected in Vercel.
45:44.865–45:46.769
So, a lot of moving pieces here,
45:46.769–45:48.454
but basically high-level,
45:48.454–45:50.285
you need to get more comments,
45:50.285–45:51.457
redo the analysis,
45:51.457–45:53.216
refresh the data into Excel,
45:53.216–45:56.072
and that way I'm always getting a weekly report
45:56.072–45:59.222
of what's going on with my YouTube comment replies.
45:59.222–46:01.993
Okay, so honestly felt like a little bit of a messy prompt,
46:01.993–46:03.840
but Codex should be able to do a good job
46:03.840–46:05.398
of asking us any questions it has
46:05.398–46:08.804
and making sure that it's able to actually set up this automation for us
46:08.804–46:09.680
the way we want it.
46:09.680–46:12.114
Now, something I want you guys to think about here
46:12.114–46:16.093
is the way that I approach building AI automations and skills and stuff like this
46:16.093–46:18.052
is remember when we talked about skills
46:18.052–46:19.596
and I said every time you use it,
46:19.596–46:20.783
it's going to get better
46:20.783–46:22.040
cuz you can get feedback?
46:22.040–46:24.391
You should honestly think of these automations in a similar way.
46:24.391–46:27.035
You should think about it like you're teaching a kid to ride a bike.
46:27.035–46:28.796
You're not going to just chuck a kid on a bike
46:28.796–46:29.970
and say, "Okay, go have fun."
46:29.970–46:31.926
You're going to start off by holding the handles
46:31.926–46:33.149
and walking alongside the kid
46:33.149–46:35.448
and saying, "Okay, you're leaning too much to the right.
46:35.448–46:36.565
You need to lean more to the left
46:36.565–46:37.769
and you need to center your weight
46:37.769–46:39.230
and you need to make sure you're pedaling
46:39.230–46:40.219
and you need to do all this."
46:40.219–46:42.110
And slowly over time you'll start getting more trust
46:42.110–46:43.280
and you'll take your hand off the
46:43.280–46:43.758
handlebars
46:43.758–46:45.863
and you'll start to walk a little bit farther behind.
46:45.863–46:48.662
And eventually maybe you'll take off the training wheels and stuff like that.
46:48.662–46:49.817
The point I'm making here
46:49.817–46:53.228
is don't expect your automations or skills to be perfect on the first shot.
46:53.228–46:54.375
That's just unrealistic.
46:54.375–46:56.214
You should be expecting them to get better
46:56.214–46:57.108
the more you use them
46:57.108–46:59.262
because every time you use them you get more data.
46:59.262–47:00.939
But look how quickly it set that up.
47:00.939–47:02.520
It set up a weekly automation.
47:02.520–47:04.219
It'll run every Sunday at 5:00 p.m.
47:04.219–47:06.798
and it will just basically run inside of this project
47:06.798–47:09.493
and it will run the YouTube comment insights workflow.
47:09.493–47:11.324
It will regenerate the Excel workbook.
47:11.324–47:13.575
It will preserve and merge comment rows.
47:13.575–47:14.921
It will refresh the workbook.
47:14.921–47:16.599
It will verify the dashboard
47:16.599–47:19.396
and it will commit only those changes to our repo
47:19.396–47:21.563
and it will push it to the right branch
47:21.563–47:24.160
so that Vercel actually deploys all of that.
47:24.160–47:25.934
And what you want to do is you come into the automations.
47:25.934–47:27.523
You can see that we have this one
47:27.523–47:28.929
which is Sunday at 5:00 p.m.
47:28.929–47:31.183
We can click into it to see the actual prompt
47:31.183–47:32.685
that it will submit to Codex.
47:32.685–47:34.501
We could add some stuff here if we wanted,
47:34.501–47:35.409
but we don't want to.
47:35.409–47:37.769
This will get injected into a new Codex chat
47:37.769–47:39.014
inside of our project.
47:39.014–47:40.160
So, just as a test,
47:40.160–47:41.458
if I click on run now,
47:41.458–47:44.600
you can see that this starts a new chat right here.
47:44.600–47:46.403
This injected that exact prompt
47:46.403–47:48.540
that we looked at with the automation,
47:48.540–47:48.940
the ID,
47:48.940–47:49.608
the memory,
47:49.608–47:50.342
the last run,
47:50.342–47:51.611
and the actual prompt.
47:51.611–47:53.808
And then it starts up this little progress sheet
47:53.808–47:55.291
which is kind of like a to-do list
47:55.291–47:57.048
and it's going to go down in this order.
47:57.048–47:59.939
And we have the full Codex Agentic loop going on here.
47:59.939–48:01.524
So, if you're used to Cloud Code,
48:01.524–48:03.108
this is basically the same thing
48:03.108–48:05.573
as running a local scheduled routine in Cloud Code
48:05.573–48:06.571
or in Cloud Co-work.
48:06.571–48:09.644
Now, the one thing you're going to have to think about here
48:09.644–48:11.693
is because this is kind of a local cron,
48:11.693–48:13.357
if you close out of the Codex app
48:13.357–48:15.470
or if you turn off your PC or your laptop,
48:15.470–48:16.760
this will stop running.
48:16.760–48:19.639
In order for this to be truly 24/7 all the time,
48:19.639–48:23.957
you would have to get this sort of Codex routine on the cloud somehow.
48:23.957–48:26.830
And that's what Cloud Code just added with their cloud routines.
48:26.830–48:28.553
Okay, so while this automation is running,
48:28.553–48:31.185
and we know we're going to make sure that it's working as expected,
48:31.185–48:32.812
and if not, we'll correct it a little bit.
48:32.812–48:35.518
But, I realized that I wanted to show you guys a little bit more
48:35.518–48:36.738
of that kind of computer use
48:36.738–48:38.330
and and browser use functionality.
48:38.330–48:41.796
So, if I go back into the actual um dashboard
48:41.796–48:43.240
where it built it,
48:43.240–48:45.560
which I believe was this one.
48:45.560–48:46.350
Yep, it was this one.
48:46.350–48:50.498
What I'm going to say here is before we kind of keep making changes,
48:50.498–48:52.308
I want you to test the UI here.
48:52.308–48:54.821
I want you to open up this um dashboard,
48:54.821–48:57.178
and I want you to open it up in this app
48:57.178–48:58.680
so I can watch you do it.
48:58.680–49:00.975
I want you to use your browser use skill
49:00.975–49:02.051
and click around.
49:02.051–49:03.289
I want you to click on the buttons.
49:03.289–49:04.842
I want you to try to break this thing.
49:04.842–49:06.248
I want you to stress test it
49:06.248–49:06.759
and QA it.
49:06.759–49:08.401
And let me know what you find,
49:08.401–49:09.495
what bugs you find,
49:09.495–49:11.410
and what we might need to improve.
49:11.410–49:14.665
And so, all I did here is I explained in natural language what I wanted,
49:14.665–49:17.246
and we're going to be able to see it use the right skills.
49:17.246–49:19.002
So, browser use is great for a lot of things.
49:19.002–49:21.370
It's great for um QA-ing, like you just saw here,
49:21.370–49:25.880
because it can find bugs and click around on things that typically it wouldn't be able to do.
49:25.880–49:27.862
It's also really great for certain automations.
49:27.862–49:29.981
So, maybe you don't have an API for something,
49:29.981–49:33.885
and you want to be able to go in and download reports or go in and change some settings.
49:33.885–49:36.167
I've done a few of those automations on my channel as well,
49:36.167–49:38.212
and browser use can be really, really good for that.
49:38.212–49:40.608
And you can even use it to just search the web,
49:40.608–49:44.104
because you can use browser use in a way where it has like cookies,
49:44.104–49:46.370
and it's able to remember your login info.
49:46.370–49:48.315
So, you could log into something like school,
49:48.315–49:50.413
where you'd have to get past the authentication,
49:50.413–49:52.716
and then the browser can automate and control things.
49:52.716–49:56.057
But anyways, what you see right here is the in-app browser open.
49:56.057–50:00.398
And this little mouse right here, which kind of looks like the ChatGPT Alice logo,
50:00.398–50:01.739
is going to click around.
50:01.739–50:02.811
You guys already saw it
50:02.811–50:04.390
switch from overview to replies.
50:04.390–50:07.080
You can see it's moving around even more now.
50:07.080–50:09.367
And as it's clicking these different links
50:09.367–50:10.384
and moving around,
50:10.384–50:12.036
it's going to start to document
50:12.036–50:13.815
what might be wrong with this app.
50:13.815–50:15.314
And then we can obviously say,
50:15.314–50:15.974
"Okay, cool.
50:15.974–50:17.486
Go make all of those changes for us."
50:17.486–50:17.990
Right here,
50:17.990–50:19.703
it found the thing with the YouTube link.
50:19.703–50:21.751
So, it said they have the correct URLs,
50:21.751–50:25.526
but the in-app browser did not visibly open the new tab after clicking.
50:25.526–50:28.361
So, that's one of the things that we actually did notice ourselves.
50:28.361–50:29.585
Now, browser use is pretty,
50:29.585–50:30.170
I don't know,
50:30.170–50:32.680
it can feel kind of subjective when you're looking at it.
50:32.680–50:34.409
I mean, this is pretty cool to watch it move live.
50:34.409–50:39.129
But that also happens in Cloud Code when I use like the Playwright CLI or something.
50:39.129–50:40.378
But from my testing,
50:40.378–50:43.024
Codex browser use has been much more smooth
50:43.024–50:44.641
and much more intelligent
50:44.641–50:49.419
than any other sort of browser use automations that I've built or used before.
50:49.419–50:55.650
So, that is something that is really cool about Codex in this app here is that the browser use is really good.
50:55.650–50:59.614
Now, you could obviously use it still from a CLI or whatever, but it is pretty good.
50:59.614–51:03.325
And like I said, there's just so many really cool use cases with browser automation.
51:03.325–51:07.971
If you want to check out a few more, even though this video was Cloud Code, you would set it up the exact same way in Codex.
51:07.971–51:09.888
I'll tag a video right up here.
51:09.888–51:10.922
I mean, I love this.
51:10.922–51:12.672
It's literally going through the filters.
51:12.672–51:14.336
You guys saw it had something else up here.
51:14.336–51:15.717
It's changing these check boxes.
51:15.717–51:16.809
It's changing the stuff.
51:16.809–51:18.024
It did another search here,
51:18.024–51:20.402
and it's really going to actually stress test this app
51:20.402–51:22.252
to make sure that it didn't miss anything.
51:22.252–51:24.341
And what else is really cool is
51:24.341–51:27.683
you can build in this sort of QA check into skills
51:27.683–51:29.271
or into the knowledge.
51:29.271–51:31.641
So, next time when you're building another dashboard
51:31.641–51:33.221
or next time you're building a game,
51:33.221–51:34.644
before it ever comes back to you,
51:34.644–51:36.276
it already does a few passes visually
51:36.276–51:38.225
and, you know, from like a code perspective,
51:38.225–51:38.910
but you can make
51:38.920–51:43.635
sure that, "Hey, don't ever ever ever come back to me until you've stress tested with your own browser use."
51:43.635–51:47.185
And that's how you can really just make this stuff smarter and smarter every day.
51:47.185–51:49.384
All right, so it decided that it's done testing now.
51:49.384–51:53.798
You can see that we have a bunch of things that passed, but it found a ton of improvements.
51:53.798–51:55.345
It ended up finding six things.
51:55.345–51:58.489
The external links for YouTube aren't really working.
51:58.489–52:00.533
The empty explorer state is too bare.
52:00.533–52:01.776
Search is too literal.
52:01.776–52:03.538
Active tab state is mostly visual.
52:03.538–52:06.116
And there's some other things that are just coming through awkward
52:06.116–52:07.958
and little changes that we need to make to the UI.
52:07.958–52:09.316
So, what's really cool now is
52:09.316–52:11.465
I can say, "Okay, take all of these six changes
52:11.465–52:14.519
and build a plan around exactly how you're going to solve those."
52:14.519–52:16.782
And then once it comes back with its proper plan,
52:16.782–52:18.196
we would go ahead and execute.
52:18.196–52:19.619
But now that I showed you guys that,
52:19.619–52:22.122
let's check back in on our actual automation that's running.
52:22.122–52:24.244
You can see that it is still going through the checks.
52:24.244–52:25.491
It's been about 10 minutes.
52:25.491–52:27.417
So, I will just check back in with you guys
52:27.417–52:29.060
once this has been fully committed
52:29.060–52:32.063
and we'll see what changes we have on our actual live dashboard.
52:32.063–52:32.880
Oh my goodness.
52:32.880–52:34.708
So, this was pushing like 20 minutes,
52:34.708–52:37.184
so I stopped it and said, "Why is it taking so long?"
52:37.184–52:40.191
And it's because it couldn't overwrite a file that I had open.
52:40.191–52:41.284
So, don't do that.
52:41.284–52:44.505
But now we're going to go ahead and just keep this going.
52:44.505–52:46.210
But honestly, there is a lesson there,
52:46.210–52:48.448
which is sometimes it is nice to be able to watch it,
52:48.448–52:52.338
especially before, like I said, before we know that this automation is really refined,
52:52.338–52:54.480
because if it is going down the wrong path or it's
52:54.480–53:00.217
hitting some sort of roadblock that you the human should be able to just be able to solve in like a quick 20 seconds,
53:00.217–53:03.696
then stop it and ask a question or stop it and steer it in the right way,
53:03.696–53:05.720
because it's going to help not only save
53:05.720–53:07.331
you time, but it's also going to save you session limit.
53:07.331–53:09.794
Because if it was just burning tokens trying things,
53:09.794–53:12.089
when the fix was for me to just close out of the app,
53:12.089–53:16.792
then, you know, you'd rather have stopped that earlier before it's going down multiple wrong paths.
53:16.792–53:18.761
And another thing that I just noticed,
53:18.761–53:20.976
which is really important to call out here,
53:20.976–53:23.007
is that when you look at the automation,
53:23.007–53:25.837
this automation is set up by default to run with GPT 5.2,
53:25.837–53:27.437
which obviously we don't want.
53:27.437–53:30.706
So, you're going to want to make sure that your model is set up correctly,
53:30.706–53:32.504
that the reasoning is set up correctly,
53:32.504–53:34.629
and all of this other stuff is set up correctly,
53:34.629–53:37.789
because that is also a reason why that run was probably taking so long.
53:37.789–53:41.120
So, I just went ahead and retriggered a new run using GPT 5.5,
53:41.120–53:43.519
and I decided to try this one out using high.
53:43.519–53:46.112
Now, you also might be curious about the speed thing,
53:46.112–53:48.233
the difference between standard and fast.
53:48.233–53:51.226
And honestly, I never really ever touch fast.
53:51.226–53:55.180
I'm never working in something that's super time-sensitive where I need to go fast,
53:55.180–53:57.553
because that also eats up your usage a lot quicker.
53:57.553–53:58.917
But this is much more like it.
53:58.917–54:00.304
We can actually see it thinking
54:00.304–54:02.918
and now we're going to be able to get this back much quicker.
54:02.918–54:04.751
Okay, so finally that has finished up.
54:04.751–54:09.308
You can see that it was able to make changes to that Excel sheet.
54:09.308–54:11.428
And it says that it analyzed 208 comments.
54:11.428–54:12.934
Now, because we just did this,
54:12.934–54:14.199
you know, earlier today,
54:14.199–54:16.729
I'm curious if it actually analyzed 200 of the same
54:16.729–54:18.235
or if it knew not to duplicate.
54:18.235–54:19.748
And that's something that we'll want to take a look at.
54:19.748–54:22.285
But let's actually head over to my GitHub real quick.
54:22.285–54:24.087
This is the repo that we just set up, right?
54:24.087–54:25.832
And if I go ahead and give this a refresh,
54:25.832–54:27.683
we should now see that we have two commits.
54:27.683–54:29.155
So, in the second commit,
54:29.155–54:31.397
this shows we refreshed the comments.
54:31.397–54:33.746
So, every single time that you make a change to this repo,
54:33.746–54:34.645
it'll show that here.
54:34.645–54:36.291
So, you can check at the version control
54:36.291–54:37.588
and you can see what's going on.
54:37.588–54:41.662
But what that means is because our GitHub repo here got a new commit,
54:41.662–54:42.899
if we go to Vercel now
54:42.899–54:45.009
and we look at this actual project,
54:45.009–54:46.391
if I go to deployments,
54:46.391–54:50.029
we should be able to see that this just picked up a new change.
54:50.029–54:50.791
1 minute ago,
54:50.791–54:52.729
it picked up this new deployment.
54:52.729–54:54.531
So, now if we go to the dashboard
54:54.531–54:55.987
and I give this a refresh,
54:55.987–54:57.027
this has new data.
54:57.027–54:58.875
So, this used to say 200 videos,
54:58.875–55:00.297
or sorry, 200 comments,
55:00.297–55:01.434
and now it says 208.
55:01.434–55:05.407
So, that is just proof that we were able to actually get some fresh insights.
55:05.407–55:10.413
Now, what's really nice is that it looks like it just basically added on eight new ones.
55:10.413–55:11.763
It didn't like add on 200
55:11.763–55:12.708
and then 200 more
55:12.708–55:13.855
and then eight more,
55:13.855–55:16.555
because it realized that they were duplicated.
55:16.555–55:19.804
And if we actually go and open up the actual source of truth,
55:19.804–55:20.931
if I go into our repo,
55:20.931–55:21.793
I go to outputs,
55:21.793–55:23.583
I go to YouTube comment insights
55:23.583–55:27.362
and I click on the Excel sheet that we accidentally had open earlier,
55:27.362–55:29.560
we see that the dashboard is exactly the
55:29.560–55:29.866
same,
55:29.866–55:32.497
except for now we've analyzed eight extra comments
55:32.497–55:33.965
instead of the original 200.
55:33.965–55:37.080
But I wanted to show you guys what happened inside of this run.
55:37.080–55:38.048
So, as you guys know,
55:38.048–55:40.952
we ran into that issue where I had the Excel sheet open, right?
55:40.952–55:42.174
That was the first mistake.
55:42.174–55:44.593
The second mistake was that this was running with 5.2.
55:44.593–55:46.251
So, we reset the automation,
55:46.251–55:48.254
and now it's running with 5.5 high.
55:48.254–55:50.537
But then what happened is this was running for quite a while again.
55:50.537–55:51.083
So, I stopped it
55:51.083–55:52.891
and said, "Hey, you've been running for a long time.
55:52.891–55:54.218
Why is it taking so long?
55:54.218–55:55.447
This is a very simple task."
55:55.447–55:56.142
So, basically,
55:56.142–55:57.852
I knew that something went wrong here.
55:57.852–56:00.570
Because when we built this dashboard from scratch,
56:00.570–56:02.160
it only took about 20 minutes.
56:02.160–56:04.031
But updating it took 40 minutes
56:04.031–56:05.542
or probably even longer.
56:05.542–56:06.847
So, I knew something was going wrong.
56:06.847–56:07.521
So, I stopped it,
56:07.521–56:09.352
and I wanted to dig into it a little bit better.
56:09.352–56:10.841
And it And I was able to find out
56:10.841–56:12.509
that it was stuck on some process.
56:12.509–56:13.857
So, I said, "What do you need from me
56:13.857–56:15.903
in order to make sure that this doesn't happen again,
56:15.903–56:18.042
and that you're able to just basically actually give us
56:18.042–56:19.715
this deliverable that we're looking for?"
56:19.715–56:21.203
And it had me make some confirmations.
56:21.203–56:22.450
And then as soon as I did that,
56:22.450–56:23.488
it took about 7 minutes,
56:23.488–56:25.566
and then it was able to make all of those changes.
56:25.566–56:27.316
So, the reason why I wanted to show you this
56:27.316–56:29.265
is because once again, this stuff is not magic.
56:29.265–56:30.370
You don't deploy something,
56:30.370–56:31.935
and you just expect it to work perfectly.
56:31.935–56:35.237
But what's really cool is I could say, "Awesome.
56:35.237–56:37.607
So, everything worked as expected on the dashboard.
56:37.607–56:39.195
The analytics have been updated.
56:39.195–56:41.064
Now, I want you to dig into what you just did
56:41.064–56:42.079
with this automation,
56:42.079–56:43.147
and help me understand,
56:43.147–56:45.870
are there any opportunities to streamline this automation?
56:45.870–56:48.228
Are there any opportunities to make this better
56:48.228–56:49.053
and more robust?
56:49.053–56:50.805
Do you have any recommendations here?"
56:50.805–56:52.292
And I'll go ahead and fire that off
56:52.292–56:55.213
and see if there's any way that we can make this automation better.
56:55.213–56:56.255
It's really important
56:56.255–56:58.448
because there's this concept called dark code,
56:58.448–57:00.860
which basically means you're writing a bunch of code
57:00.860–57:02.176
when you do your vibe coding,
57:02.176–57:04.150
but you don't actually know what's going on
57:04.150–57:05.640
in the Python script or whatever
57:05.640–57:07.195
language you're using there.
57:07.195–57:09.520
And not to say that you need to understand every line
57:09.520–57:10.115
of your code,
57:10.115–57:12.008
but you need to understand fundamentally
57:12.008–57:13.089
what it's doing and why.
57:13.089–57:16.194
And if there are any opportunities to get rid of some code,
57:16.194–57:17.617
or if you have to, you know,
57:17.617–57:20.204
bake in some more guardrails in a certain place,
57:20.204–57:21.433
or anything like that.
57:21.433–57:22.869
So, it's basically looking at this
57:22.869–57:24.108
to see if we can make it faster,
57:24.108–57:25.148
or if we can make it safer.
57:25.148–57:27.091
Now, ultimately, as long as it's working,
57:27.091–57:28.646
I don't really care how fast it is.
57:28.646–57:30.623
Because if this is running once a week,
57:30.623–57:32.538
I don't care if it happens at 6:00 p.m.
57:32.538–57:33.156
or 6:30 p.m.
57:33.156–57:34.021
or even 7:00 p.m.
57:34.021–57:35.460
As long as it's actually working.
57:35.460–57:38.689
But sometimes speed is a big deal in your automations.
57:38.689–57:38.867
So,
57:38.867–57:39.993
it comes back and says,
57:39.993–57:40.289
"Yes,
57:40.289–57:40.882
this works,
57:40.882–57:41.060
but
57:41.060–57:42.779
it is still too agent orchestrated
57:42.779–57:42.957
and
57:42.957–57:44.794
too heavy for a weekly data refresh."
57:44.794–57:44.972
So,
57:44.972–57:46.335
we could add one repo script
57:46.335–57:47.817
to basically run the builder.
57:47.817–57:51.230
We could stop running the full next build for these sorts of updates.
57:51.240–57:53.439
And it's giving us all these different insights
57:53.439–57:55.033
that we could then go ahead and push
57:55.033–57:57.341
to make our automation and our system better here.
57:57.341–57:59.851
So, that's how you can kind of keep iterating upon it.
57:59.851–58:04.436
Even if you yourself don't really know exactly how you would make this better,
58:04.436–58:07.187
you can use the AI to figure out and brainstorm.
58:07.187–58:07.472
Okay.
58:07.472–58:10.854
So, what you guys saw here is we created this product from scratch, right?
58:10.854–58:12.335
It was our YouTube analytics demo.
58:12.335–58:13.687
We connected to YouTube,
58:13.687–58:14.588
we set up a skill,
58:14.588–58:15.875
we set up an automation,
58:15.875–58:17.033
we set up a dashboard,
58:17.033–58:18.385
we used some browser use,
58:18.385–58:22.569
and now we have an actual system where every week it will pull in more comments,
58:22.569–58:23.856
it will update our data,
58:23.856–58:24.757
our Excel sheet,
58:24.757–58:24.960
and
58:24.960–58:28.888
then it pushes all of those changes to our actual live dashboard completely automatically.
58:28.888–58:32.027
So, I hope you guys enjoyed seeing that flow from basically idea,
58:32.027–58:33.073
setting up a project,
58:33.073–58:34.119
all the way to the end.
58:34.119–58:35.062
And just remember,
58:35.062–58:37.713
what's really important is that this entire project,
58:37.713–58:39.128
everything that we just did,
58:39.128–58:41.308
is literally just a folder on your computer.
58:41.308–58:46.259
And what that means is you can customize this folder to be used by OpenClaw or CloudCode or whatever you want.
58:46.259–58:48.883
Any agent can work inside of this directory now.
58:48.883–58:51.786
And if I wanted to explicitly do this inside of Codex,
58:51.786–58:53.963
well, I could go ahead and click on view.
58:53.963–58:55.836
I could open up the terminal.
58:55.836–58:58.360
And now, because we're in this directory,
58:58.360–58:59.730
I could call on Claude.
58:59.730–59:00.764
And so, right here,
59:00.764–59:02.637
I could be working with ClaudeCode
59:02.637–59:04.511
inside of this actual repository.
59:04.511–59:05.385
So, maybe right here
59:05.385–59:06.979
I'm using Claude to help brainstorm,
59:06.979–59:08.624
and it creates me a brainstorming file
59:08.624–59:10.115
inside of this project somewhere.
59:10.115–59:11.517
And then what I could do is
59:11.517–59:13.520
I could just go back up here to Codex,
59:13.520–59:15.589
and I could go ahead and tag that file.
59:15.589–59:17.666
So, say, "Hey, here is a planning file,
59:17.666–59:20.523
a brainstorm file that I just generated with Claude.
59:20.523–59:21.492
I want you to be the one
59:21.492–59:22.785
who actually takes this file
59:22.785–59:23.862
and executes it for me."
59:23.862–59:26.178
So, you can really start to play with these together
59:26.178–59:26.986
and mix and match.
59:26.986–59:28.546
Just like I've shown you before
59:28.546–59:30.887
where we would build something with Cloud Code
59:30.887–59:32.867
and then we would actually loop in Codex
59:32.867–59:33.887
to do the review on it
59:33.887–59:35.387
and to find like security bugs
59:35.387–59:37.788
or any just like code-based functionality bugs
59:37.788–59:38.448
inside of it.
59:38.448–59:43.185
So, in my mind it's always about which tool is best for this specific use case,
59:43.185–59:44.591
not which tool is best.
59:44.591–59:46.819
All right, so I really hope that you guys enjoyed that.
59:46.819–59:49.193
You should have a really good understanding of the interface of Codex.
59:49.193–59:51.861
You should have a really good understanding of how you come in here,
59:51.861–59:52.957
you connect to other tools,
59:52.957–59:53.624
you use plugins,
59:53.624–59:54.720
you start building skills.
59:54.720–59:57.864
And really the next unlock is start building more and more skills.
59:57.864–1:00:00.695
So, try to think about what are you doing on a daily basis?
1:00:00.695–1:00:02.587
What are you doing on a weekly basis?
1:00:02.587–1:00:05.350
And write down some of those things that are boring and repetitive
1:00:05.350–1:00:07.309
and that you just wish happened when you slept.
1:00:07.309–1:00:09.154
And then start to bring those into Codex
1:00:09.154–1:00:10.552
and start to just brainstorm.
1:00:10.552–1:00:12.178
And as you're going through this process,
1:00:12.178–1:00:14.733
you're going to want to set up kind of your own AI operating system.
1:00:14.733–1:00:14.889
So,
1:00:14.889–1:00:16.448
I'm going to tag a video right up here
1:00:16.448–1:00:18.163
that you guys should 100% go watch next.
1:00:18.163–1:00:20.398
This one was kind of based on Cloud Code,
1:00:20.398–1:00:23.320
but remember everything is just files and folders.
1:00:23.320–1:00:23.497
So,
1:00:23.497–1:00:25.326
if you follow the steps in this video,
1:00:25.326–1:00:27.450
you will be able to replicate this in Codex,
1:00:27.450–1:00:28.640
absolutely no problem.
1:00:28.640–1:00:29.773
And what's really cool is
1:00:29.773–1:00:32.470
every project that I've moved over from Cloud Code to Codex,
1:00:32.470–1:00:35.113
I've said, "Hey, this is something I built with Cloud Code.
1:00:35.113–1:00:36.301
Go ahead and analyze it
1:00:36.301–1:00:38.927
and help me figure out what files you need to create
1:00:38.927–1:00:41.303
in order to make this compatible with Codex."
1:00:41.303–1:00:42.616
And all it's going to do is
1:00:42.616–1:00:43.866
maybe change a few names
1:00:43.866–1:00:46.440
and maybe change the cloud.md to the agent.md and
1:00:46.440–1:00:47.425
it's really, really simple.
1:00:47.425–1:00:48.642
It'll take like 30 seconds
1:00:48.642–1:00:50.468
and then you have your project in Codex.
1:00:50.468–1:00:50.625
So,
1:00:50.625–1:00:51.045
anyways,
1:00:51.045–1:00:53.773
I'll see you guys over there at that AI operating system video.
1:00:53.773–1:00:55.317
Please give it a like if you enjoyed.
1:00:55.317–1:00:56.191
It helps me out a ton.
1:00:56.191–1:00:57.111
And as always,
1:00:57.111–1:00:59.000
I appreciate you guys making it to the end of the video.
0:00.000–0:02.407
So, Codex is an absolutely incredible super app.
所以,Codex 是一個絕對令人驚嘆的超級應用程式。
0:02.407–0:03.862
I've been using it a lot more lately,
我最近使用它的頻率更高了,
0:03.862–0:05.851
and I'm not saying that I'm ditching Claude Code.
但我並不是說我要拋棄 Claude Code。
0:05.851–0:07.240
I still use them both regularly
我仍然定期同時使用這兩者,
0:07.240–0:09.378
because they're both good at different things.
因為它們各自擅長不同的領域。
0:09.378–0:13.460
So, today's video, I'm going to break down every single important thing that you need to know about Codex
所以,今天的影片,我將詳細拆解關於 Codex 你需要知道的所有重要事項,
0:13.460–0:15.619
to be able to, you know, open up the app for the first time
以便你能夠,你知道的,第一次打開這個應用程式,
0:15.619–0:18.960
and then actually have finished automations and websites and whatever you want to do
然後實際完成自動化、網站以及你想做的任何事情
0:18.960–0:21.080
in Codex done by the end of this video.
Codex 中做的任何事項,到本影片結束時。
0:21.080–0:23.249
So, whether you've never opened up a tool like this before
所以,無論你以前從未打開過這類工具,
0:23.249–0:25.283
or if you're already kind of used to using Claude Code,
還是你已經有點習慣使用 Claude Code,
0:25.283–0:27.271
I'm going to break down everything as simple as I can.
我都會盡可能簡單地拆解所有內容。
0:27.271–0:32.126
So, first of all, if you fit in this bucket of someone that uses ChatGPT just on the web or uses Claude,
所以,首先,如果你屬於那種只在網頁上使用 ChatGPT 或使用 Claude 的人,
0:32.126–0:33.939
you are going to get this really quick
你會很快掌握這些
0:33.939–0:36.513
because what we're looking at right here is ChatGPT.
因為我們現在看到的是 ChatGPT。
0:36.513–0:38.098
We have the ability to make new chats,
我們有能力建立新的對話,
0:38.098–0:39.325
we can search through chats,
我們可以搜尋對話,
0:39.325–0:40.705
we can have different projects,
我們可以擁有不同的專案,
0:40.705–0:42.750
we can have all of our different chats over here,
我們可以在此處擁有我們所有的不同對話,
0:42.750–0:44.232
and then we talk to chat right here.
然後我們在此處與聊天機器人對話。
0:44.232–0:48.163
And if I open up the Codex app, which is what we're going to be using today for the entire video,
如果我打開 Codex 應用程式,也就是今天整部影片都會使用的工具,
0:48.163–0:49.695
it looks pretty much the exact same.
它的外觀幾乎完全一樣。
0:49.695–0:51.130
We have projects on the left,
我們在左側有專案,
0:51.130–0:52.387
we have chats on the left,
左側有聊天記錄,
0:52.387–0:54.480
and then we can talk to ChatGPT right here.
然後我們可以在這裡與 ChatGPT 對話。
0:54.480–0:56.654
We use this toggle to change the model
我們使用這個切換按鈕來變更模型,
0:56.654–0:59.670
whether we want to use GPT 5.5, 5.4, or other models.
無論是使用 GPT 5.5、5.4 還是其他模型。
0:59.670–1:00.787
We can change the speed,
我們可以變更速度,
1:00.787–1:02.910
and then we can also change the intelligence.
然後也可以變更智慧程度。
1:02.910–1:04.911
So, low, medium, high, or extra high.
也就是低、中、高或超高。
1:04.911–1:08.054
And I'll get into this stuff a little bit later in more depth.
我會在稍後更深入地探討這些內容。
1:08.054–1:10.576
And this is also very similar to the Claude Code desktop app
這與 Claude Code 桌面應用程式也非常相似,
1:10.576–1:12.995
where we have the ability to chat with Claude right here,
我們可以在這裡與 Claude 對話,
1:12.995–1:15.877
and then on the left-hand side we can see our chats and our projects.
然後在左側可以看到我們的聊天記錄和專案。
1:15.877–1:17.187
So, that is the interface.
這就是介面。
1:17.187–1:18.320
Don't get overwhelmed.
別被搞混了。
1:18.320–1:20.563
So, I'm going to get you guys all familiar with the interface
所以,我會讓大家熟悉這個介面,
1:20.563–1:22.403
and go over all the settings that you need to know,
並介紹所有您需要知道的設定,
1:22.403–1:25.499
and then I'm going to show you a full project from beginning to end building skills,
接著我會展示一個完整的專案,從頭到尾建立技能,
1:25.499–1:26.351
connecting to things,
連接各種服務,
1:26.351–1:27.505
building automations,
建立自動化流程,
1:27.505–1:29.859
and then deploying on some sort of website.
然後部署到某種網站上。
1:29.859–1:30.571
So, buckle up.
所以,請坐穩了。
1:30.571–1:32.440
All right, so what actually is Codex?
好的,那麼 Codex 到底是什麼呢?
1:32.440–1:35.270
Codex is basically a massive super app.
Codex 基本上是一個龐大的超級應用程式。
1:35.270–1:37.788
We can use ChatGPT same way you talk to it on the web,
我們可以像使用網頁版 ChatGPT 那樣與它對話,
1:37.788–1:39.166
but now we work in projects,
但現在我們是在專案中工作,
1:39.166–1:40.905
and Codex can create Excel sheets,
Codex 可以建立 Excel 試算表,
1:40.905–1:41.864
read Excel sheets,
讀取 Excel 試算表,
1:41.864–1:43.602
look through all your local files.
瀏覽你所有的本機檔案。
1:43.602–1:45.594
It can do basically anything on your computer
它基本上可以在你的電腦上執行任何操作,
1:45.594–1:47.324
including using the mouse and keyboard
包括使用滑鼠和鍵盤,
1:47.324–1:48.216
and clicking around
點擊各個項目,
1:48.216–1:49.369
and automating a browser.
以及自動化瀏覽器操作。
1:49.369–1:51.632
It also lets us build these reusable skills.
它還讓我們能夠建立這些可重複使用的技能。
1:51.632–1:52.679
We can build websites,
我們可以建立網站,
1:52.679–1:53.506
we can build apps,
我們可以建立應用程式,
1:53.506–1:54.664
we can build video games,
我們可以建立電子遊戲,
1:54.664–1:55.766
and then we can automate
然後我們可以自動化
1:55.766–1:56.813
and push all that stuff
並將所有這些內容推送
1:56.813–1:57.916
so that it actually runs
讓它真正運行起來
1:57.916–1:59.514
while we're sleeping every night.
在我們每晚睡覺的時候。
1:59.514–2:01.398
So, the main difference here between web chat
所以這裡網頁聊天主要的差異在於
2:01.398–2:03.035
is that you're basically just talking.
的主要區別在於,你基本上只是在說話。
2:03.035–2:04.693
And you have these connectors in chat GPT now,
而現在聊天 GPT 有這些連接器,
2:04.693–2:06.395
so you can get a little bit more functionality.
所以你可以獲得更多一點的功能。
2:06.395–2:10.080
You can give that AI brain a bit more of like hands.
你可以給那個 AI 大腦更多一點像雙手一樣的能力。
2:10.080–2:13.040
But, in Codex, it can do everything.
但是,在 Codex 中,它可以做所有事情。
2:13.040–2:14.088
It's one of those things
這是其中一種情況,
2:14.088–2:16.132
where Codex can do everything that chat can do,
其中 Codex 可以做聊天能做的所有事情,
2:16.132–2:18.438
but chat cannot do nearly as much as what Codex can do.
但聊天能做的遠不及 Codex 能做的。
2:18.438–2:21.022
So, you might as well just switch over to something like Codex.
所以,你最好直接切換到像 Codex 這樣的東西。
2:21.022–2:23.950
And if you are curious about the Claude code versus Codex difference,
如果你對 Claude code 與 Codex 的差異感到好奇,
2:23.950–2:25.565
they're different harnesses, right?
它們是不同的框架,對吧?
2:25.565–2:28.012
So, they fundamentally work a little bit different,
所以,它們在根本上運作方式略有不同,
2:28.012–2:28.958
but very similarly.
但非常相似。
2:28.958–2:30.588
They also use different models.
它們也使用不同的模型。
2:30.588–2:33.041
So, Claude code natively under the hood uses Opus
所以,Claude code 在底層原生使用 Opus
2:33.041–2:33.580
and Sonnet
和 Sonnet
2:33.580–2:34.118
and Haiku,
以及 Haiku,
2:34.118–2:37.120
and Codex under the hood uses the different chat GPT models.
而 Codex 底層使用的是不同的 ChatGPT 模型。
2:37.120–2:38.438
Now, I did do a full breakdown
現在,我確實做了一個完整的分析
2:38.438–2:40.689
where I actually tested Opus 4.7 against GPT 5.5,
我實際測試了 Opus 4.7 與 GPT 5.5,
2:40.689–2:42.666
and I got some really interesting results.
並得到了一些非常有趣的結果。
2:42.666–2:44.513
So, if you guys want to check out this video next,
所以,如果你們接下來想看這部影片,
2:44.513–2:45.575
I'll tag that right up here.
我會直接在這裡標註出來。
2:45.575–2:47.901
I definitely think it's worth just at least skimming through.
我絕對認為至少瀏覽一下是值得的。
2:47.901–2:50.683
Because ultimately, these models have very different strengths
因為這些模型最終具有非常不同的優勢
2:50.683–2:53.009
is what I've noticed after playing with them non-stop.
這是我在不停使用它們後所觀察到的。
2:53.009–2:55.728
I really like Claude for being sort of like exploratory
我真的很喜歡 Claude 那種探索性的特質
2:55.728–2:56.674
and brainstorming
以及發想創意
2:56.674–2:58.033
and helping me get creative
幫助我發揮創意
2:58.033–2:59.274
and think through things
以及思考事情
2:59.274–2:59.747
and plan.
以及規劃。
2:59.747–3:02.440
But then, I really like Codex for being pragmatic.
但另一方面,我真的很喜歡 Codex 的務實風格。
3:02.440–3:05.093
And it feels like it does better at following my plan
而且當計畫變得越來越長時,
3:05.093–3:06.944
if the plan grows longer and longer.
它似乎更擅長遵循我的計畫。
3:06.944–3:08.528
And it's really good at executing,
它非常擅長執行,
3:08.528–3:10.275
and it's really good at finding issues
而且非常擅長發現問題
3:10.275–3:11.586
and troubleshooting things
以及進行除錯
3:11.586–3:14.098
that sometimes Claude, for some reason, can't handle.
有時克勞德出於某些原因無法處理的問題。
3:14.098–3:14.251
So,
所以,
3:14.251–3:16.850
I'm not in here saying that I love Codex more than Claude code.
我不是在這裡說我比克勞德程式碼更喜歡Codex。
3:16.850–3:18.550
I'm saying that I'm using them both,
我是說我同時使用這兩者,
3:18.550–3:20.589
and I'm learning more about both every day.
而且我每天對這兩者的了解都更多。
3:20.589–3:23.706
And one other thing I really like about Codex is you can see my little pet down here,
我還很喜歡Codex的另一點是,你可以在這裡看到我的小寵物,
3:23.706–3:25.494
which I'll tell you guys how you get this later.
稍後我會告訴大家如何獲得這個。
3:25.494–3:26.096
But this pet,
但這隻寵物,
3:26.096–3:27.135
while you're working,
在你工作時,
3:27.135–3:28.830
it stays in the bottom of your screen,
它會停留在螢幕底部,
3:28.830–3:30.526
and it tells you what it's working on.
並告訴你它正在處理什麼。
3:30.526–3:30.691
So,
所以,
3:30.691–3:32.505
it's really nice to be able to multitask
能夠多工處理真的很棒
3:32.505–3:34.440
and see what's happening inside of Codex.
並查看Codex內部的狀況真的很好。
3:34.440–3:35.770
And the pet's kind of funny.
而且這隻寵物有點有趣。
3:35.770–3:37.117
And it's more than just having chats.
而且不僅僅是聊天功能。
3:37.117–3:39.959
It's the ability to have everything organized on your workspace.
它能夠讓你的工作區中的所有內容都有條理。
3:39.959–3:43.428
So, if you guys watch my recent video about Claude code operating system,
所以,如果你們看過我最近關於克勞德程式碼作業系統的影片,
3:43.428–3:45.588
or you've seen my executive assistant video,
或者看過我的行政助理影片,
3:45.588–3:46.953
this is my heart two project,
這就是我的Heart Two專案,
3:46.953–3:49.512
which is basically where I live inside of Claude code.
基本上,這就是我在 Claude Code 裡的生活空間。
3:49.512–3:52.029
And all of this is is a bunch of folders and files.
而這裡面全都是一堆資料夾和檔案。
3:52.029–3:53.388
I've got a bunch of files here.
我這裡有很多檔案。
3:53.388–3:54.727
I've got a bunch of different folders.
我有很多不同的資料夾。
3:54.727–3:55.401
I've got settings.
我有設定檔。
3:55.401–3:56.114
I've got skills.
我有技能設定。
3:56.114–3:56.849
I've got agents.
我有代理程式(agents)。
3:56.849–3:57.798
I've got projects.
我有專案。
3:57.798–3:58.959
I've got all these things
我有這些東西
3:58.959–3:59.898
that I'm working on.
我正在處理的專案。
3:59.898–4:00.819
And all this is
而這些全都是
4:00.819–4:02.440
is a bunch of local files.
一堆本機檔案。
4:02.440–4:04.176
Which means I can have Codex work
這意味著我可以讓 Codex 在
4:04.176–4:05.527
inside of this directory
這個目錄裡運作
4:05.527–4:06.942
and do everything as well.
並完成所有工作。
4:06.942–4:07.856
All that we're doing
我們在使用這些不同模型時
4:07.856–4:09.685
when we're using these different models
當我們使用這些不同的模型時
4:09.685–4:11.729
is we're organizing things into a structure.
就是將事物組織成某種結構。
4:11.729–4:13.803
A structure that different agent harnesses can understand.
一種不同的代理程式框架能夠理解的結構。
4:13.803–4:15.425
And whether you want to use Codex
無論你想使用 Codex
4:15.425–4:16.145
or Claude Code
或是 Claude Code
4:16.145–4:16.626
or Cursor
或是 Cursor
4:16.626–4:17.827
or, you know, Open Claw,
或是,你知道的,Open Claw,
4:17.827–4:18.608
whatever it is,
無論是什麼,
4:18.608–4:20.600
they can all work out of that directory.
它們都可以從該目錄中運作。
4:20.600–4:22.796
As long as you have some sort of instructions
只要你有一些類型的指示
4:22.796–4:25.170
and guidelines over what actually lives where.
以及關於實際內容存放位置的指導方針。
4:25.170–4:28.348
Okay, so basically what I'm going to be building with you guys today
好的,所以基本上我今天要與各位一起建構的
4:28.348–4:30.732
is a bit of a YouTube comment intelligence system.
是一個 YouTube 留言智慧系統。
4:30.732–4:34.179
So we want to be able to pull in YouTube comments from my channel.
所以我們希望能夠從我的頻道擷取 YouTube 留言。
4:34.179–4:35.986
We want to be able to have those be analyzed.
我們希望能夠對這些留言進行分析。
4:35.986–4:37.241
We want a workbook in Excel.
我們希望有一個 Excel 工作簿。
4:37.241–4:39.184
We want like some data visualization.
我們希望有一些資料視覺化呈現。
4:39.184–4:41.833
And we want a dashboard that lives somewhere on the web
我們還希望有一個位於網路某處的儀表板
4:41.833–4:44.306
so I could go check it on my phone if I'm out on a walk.
這樣我在散步時可以透過手機去查看。
4:44.306–4:46.701
And I'm going to show you how we ship and deploy all of that.
我將展示如何部署和發布所有這些內容。
4:46.701–4:50.356
So basically from zero to a working project is what I'm going to show you guys today.
所以基本上,我今天要展示的是如何從零開始建構一個可運作的專案。
4:50.356–4:50.529
So,
所以,
4:50.529–4:51.219
let me go ahead
讓我繼續
4:51.219–4:52.370
and open up the Codex app
打開 Codex 應用程式
4:52.370–4:53.923
and show you guys how this works.
並向大家展示它是如何運作的。
4:53.923–4:54.765
Now real quick,
現在,快速說明一下,
4:54.765–4:55.736
what you have to do
你需要做的是
4:55.736–4:57.560
is have some sort of ChatGPT plan.
擁有一個某種形式的 ChatGPT 訂閱方案。
4:57.560–4:58.264
The good news is
好消息是,
4:58.264–4:59.076
if you're on free,
如果你使用的是免費方案,
4:59.076–5:00.322
you can still try out Codex.
你仍然可以試用 Codex。
5:00.322–5:01.907
You have limited Codex access.
你將擁有有限的 Codex 使用權限。
5:01.907–5:02.961
But I would recommend
但我會建議
5:02.961–5:04.659
just hopping on the $20 a month plan
先選擇每月 20 美元的方案來開始使用。
5:04.659–5:05.420
to get started.
以此作為起點。
5:05.420–5:07.959
And if you're running into your limits pretty quickly,
如果你很快就會遇到使用限制,
5:07.959–5:09.670
then maybe you want to upgrade to Pro.
那麼也許你應該考慮升級到 Pro 方案。
5:09.680–5:12.631
Now what else is really nice about ChatGPT subscription is
現在,ChatGPT 訂閱方案另一個非常棒的地方是,
5:12.631–5:14.919
you can plug it into Open Claw or Hermes Agent,
你可以將其接入 Open Claw 或 Hermes Agent,
5:14.919–5:16.364
which is really really nice.
這真的非常棒。
5:16.364–5:19.096
Because obviously it's so much more expensive to pay per token
因為顯然按 token 計費會貴得多
5:19.096–5:21.197
rather than being on some sort of subscription.
比起使用某種訂閱方案要昂貴得多。
5:21.197–5:23.307
And then you're just going to go ahead and go to Codex
然後,你只需前往 Codex
5:23.307–5:25.663
and then just download the app for your operating system.
並下載適用於你作業系統的版本。
5:25.663–5:27.908
That's the way that we're going to be using it today.
這就是我們今天要使用它的方式。
5:27.908–5:31.170
Ultimately, you will be getting more full functionality
最終,如果您在 VS Code 擴充功能或終端機中使用 Codex,您將獲得更完整的功能。
5:31.170–5:33.548
if you're using Codex in VS Code extension
如果您在 VS Code 擴充功能中使用 Codex,
5:33.548–5:34.635
or in the terminal.
或在終端機中使用,
5:34.635–5:36.214
But for the sake of the video,
但為了影片簡潔起見,
5:36.214–5:39.120
using the app is going to get you super far either way.
無論哪種方式,使用應用程式都能讓您獲得極大的便利。
5:39.120–5:40.996
There's just a few little things you want to keep in mind,
只是有幾件小事您需要注意,
5:40.996–5:42.433
which is why I'm making this YouTube video.
這也是我製作這部 YouTube 影片的原因。
5:42.433–5:44.707
All right, so let's go ahead and get started.
好的,那麼我們就開始吧。
5:44.707–5:46.224
So, on the left-hand side you can see
所以,在左側您可以看到
5:46.224–5:47.337
I've got one project open,
我開啟了一個專案,
5:47.337–5:51.028
and this project is actually how I built the slide deck that you were looking at earlier.
而這個專案實際上就是用來建構您剛才看到的簡報投影片。
5:51.028–5:53.624
So, this slide deck I built right here in this project,
所以,這個簡報投影片是我在這個專案中建構的,
5:53.624–5:55.412
and you can see because I'm in the app,
您可以看到因為我在使用應用程式,
5:55.412–5:59.449
Codex lets us basically navigate this right here in this little localhost browser.
Codex 讓我們基本上可以在這個本地主機瀏覽器中進行導航。
5:59.449–6:00.967
And this is also where if I said,
而且這也是如果我說
6:00.967–6:05.403
"Hey, can you use browser use and test out this slide deck to make sure everything looks good
「嘿,你能使用瀏覽器操作功能來測試這個簡報投影片,確保一切看起來沒問題
6:05.403–6:08.040
and make sure it functionally like clicks and moves?"
並確保它在功能上像點擊和移動那樣運作嗎?」
6:08.040–6:09.693
Then it would bring up a mouse over here,
那麼它就會在這裡顯示一個滑鼠游標,
6:09.693–6:10.995
and we would see it move around,
我們會看到它移動,
6:10.995–6:12.046
and we would see it click,
我們會看到它點擊,
6:12.046–6:13.849
which I'll show you guys later in the video.
這部分我稍後會在影片中展示給各位看。
6:13.849–6:15.533
But anyways, what we're going to do is
不過,總之我們要做的是
6:15.533–6:17.054
we're going to start a new project
我們要開始一個新專案
6:17.054–6:19.771
because over here you can see we have a bunch of random chats,
因為在這裡你可以看到我們有很多隨意的對話,
6:19.771–6:23.791
which can still do things like building games and building automations and simulators.
這些對話仍然可以執行像是建立遊戲、建置自動化流程和模擬器等任務。
6:23.791–6:26.523
But what we want to do is we want to work inside of an actual project
但我們想要做的是,我們希望在實際專案中工作
6:26.523–6:29.914
because these chats, any deliverable that we create doesn't really have a home,
因為這些對話,我們創建的任何交付成果都沒有真正的歸屬,
6:29.914–6:32.393
you know, it just lives somewhere random in our documents.
你知道,它們只是隨機存在於我們的文件中的某個地方。
6:32.393–6:34.625
But when we're working in a certain project,
但當我們在特定專案中工作時,
6:34.625–6:37.098
I can actually grab the local working directory,
我實際上可以取得本地的工作目錄,
6:37.098–6:37.821
so I copy that,
所以我複製它,
6:37.821–6:40.294
and if I go into my file explorer and paste that in,
如果我進入檔案總管並貼上它,
6:40.294–6:43.320
now I'm inside of the actual project that we're working on in
現在我進入了我們正在實際運作的專案
6:43.320–6:43.638
Codex.
Codex 中實際工作的專案。
6:43.638–6:46.265
So, now I can see different assets that live in this project,
所以,現在我可以看到這個專案中存在的不同資產,
6:46.265–6:47.053
all these images.
所有這些圖片。
6:47.053–6:48.602
I can see different guides,
我可以看到不同的指南,
6:48.602–6:53.315
and I can have a little bit more organization to this ongoing project in my business.
我可以為我業務中這個持續進行的專案增加一點組織性。
6:53.315–6:55.315
All right, so we're going to start a new project.
好的,所以我們要開始一個新專案。
6:55.315–6:57.360
I'm going to click on new chat in the top,
我將點擊頂部的「新增聊天」
6:57.360–7:00.770
and then right here you can see I'm inside of the Codex 95% project,
然後在這裡你可以看到我目前位於 Codex 95% 專案中
7:00.770–7:03.249
but we're going to go ahead and add a new project.
但我們將繼續新增一個新專案
7:03.249–7:06.394
So, that's going to open up a little um file explorer over here,
這將在這裡開啟一個小型的檔案總管
7:06.394–7:08.752
and then you choose where you want this to live.
然後你選擇要將它存放在哪裡
7:08.752–7:11.824
So, for this example, I'm going to go to my desktop,
因此,在這個範例中,我將前往我的桌面
7:11.824–7:14.896
I'm going to go into a folder called Codex YouTube,
我會進入一個名為 Codex YouTube 的資料夾
7:14.896–7:20.747
and I'm going to create a new folder inside of this folder just called um YouTube analytics demo.
然後我將在此資料夾內建立一個新資料夾,命名為 YouTube analytics demo
7:20.747–7:23.477
And we're going to go ahead and open up this folder and select that,
我們將繼續開啟這個資料夾並選取它
7:23.477–7:27.697
and now you can see it's a new project over here on this left-hand side that we're going to be working in.
現在你可以看到左側出現了一個新專案,我們將在此進行操作
7:27.697–7:29.744
Now, right here you can see I have something called full access.
現在,在這裡你可以看到我擁有「完全存取權限」
7:29.744–7:31.181
By default, you won't see this,
預設情況下,你不會看到這個選項
7:31.181–7:32.960
it'll just be on default permissions.
它將僅顯示為預設權限
7:32.960–7:34.771
So, I'm going to kick off some sort of chat here,
因此,我將在此啟動某種聊天
7:34.771–7:36.814
and then I'll show you how we actually get that set up.
然後我會展示如何實際設定它
7:36.814–7:37.638
Real quick, guys,
快速說明一下,各位
7:37.638–7:40.276
I know we're going over a ton of information in this video,
我知道這段影片涵蓋了大量資訊
7:40.276–7:45.058
so what I did is I threw all of this into a complete PDF resource guide that you can use and reference later.
所以我將這些內容整理成一份完整的 PDF 資源指南,供你稍後使用與參考
7:45.058–7:47.423
All you have to do to get that is join my free school community.
你只需加入我的免費學校社群即可獲取該指南
7:47.423–7:48.897
The link for that is down in the description.
相關連結位於描述欄中
7:48.897–7:49.992
And once you get in here,
一旦你進入這裡,
7:49.992–7:52.510
go to the classroom and click on all YouTube resources,
前往教室並點擊所有 YouTube 資源,
7:52.510–7:54.372
and you'll be able to find all of my repos,
你就能找到我所有的程式碼倉庫,
7:54.372–7:55.138
all of my skills,
我所有的技能,
7:55.138–7:55.960
resource guides,
資源指南,
7:55.960–7:59.135
everything that I've ever dropped inside of here is completely free,
我曾經放在這裡的所有內容都是完全免費的,
7:59.135–8:00.240
and anything I've shown
我在 YouTube 上展示過的任何內容
8:00.240–8:01.910
on YouTube is usually dropped in here.
通常都會放在這裡。
8:01.920–8:02.749
So, join the community,
所以,加入這個社群,
8:02.749–8:03.620
link in the description,
連結在描述中,
8:03.620–8:04.698
and let's get back to the video.
讓我們回到影片內容。
8:04.698–8:05.171
Thanks, guys.
謝謝大家。
8:05.171–8:08.288
All right, so the first thing that I want to do in this project is
好的,所以這個專案中我想做的第一件事是
8:08.288–8:11.944
I want it to be able to just kind of familiarize with self with my workspace
我希望能夠藉此熟悉我的工作環境
8:11.944–8:12.783
and with who I am.
以及我是誰。
8:12.783–8:15.050
And the way that I'm going to do that is
而我要採取的方式是
8:15.050–8:16.586
I have a project locally.
我在本地有一個專案。
8:16.586–8:17.413
If I go to my um
如果我進入我的
8:17.413–8:18.616
if I go to my desktop
如果我進入我的桌面
8:18.616–8:21.473
and I go into a project here called YouTube OS,
並進入這裡名為 YouTube OS 的專案,
8:21.473–8:25.834
I have like all of my transcripts right here from some YouTube videos.
我這裡有來自一些 YouTube 影片的完整轉錄稿。
8:25.834–8:26.814
So, what I'm going to do is
所以,我要做的是
8:26.814–8:28.308
I'm not going to give it that file path.
我不會提供那個檔案路徑。
8:28.308–8:30.621
I'm just going to say, "Hey, in my desktop,
我只會說,「嘿,在我的桌面裡,
8:30.621–8:32.471
look inside my YouTube OS folder,
查看我的 YouTube OS 資料夾,
8:32.471–8:34.652
and just pull in 10 of my raw transcripts
然後直接讀取 10 份我的原始轉錄稿
8:34.652–8:35.719
and analyze them."
並對它們進行分析。」
8:35.719–8:39.481
This is just to show you guys how good it's going to be at finding different files locally
這只是要向你們展示它在本地尋找不同檔案方面的能力有多強
8:39.481–8:40.872
and being able to organize them,
以及能夠對它們進行組織,
8:40.872–8:41.336
move them,
移動它們,
8:41.336–8:41.903
delete them,
刪除它們,
8:41.903–8:42.727
whatever you want.
隨你怎麼做。
8:42.727–8:44.702
In this case, I'm just telling it to read them.
在這種情況下,我只是告訴它去讀取這些內容。
8:44.702–8:47.131
All right, so I want you to go onto my desktop,
好的,所以我要你去我的桌面,
8:47.131–8:49.889
and I want you to look at a folder called YouTube OS,
然後查看一個名為 YouTube OS 的資料夾,
8:49.889–8:52.712
and I just want you to familiarize yourself with me.
我只希望你熟悉一下我的情況。
8:52.712–8:55.299
I make YouTube videos on AI automation,
我會製作關於 AI 自動化的 YouTube 影片,
8:55.299–8:57.023
and inside of this folder,
而這個資料夾裡面,
8:57.023–8:59.375
I have a bunch of my raw transcripts.
有我大量的原始轉錄稿。
8:59.375–9:01.586
So, I just want you to read through like 5 to 10 of those
所以,我只希望你讀取大約 5 到 10 份這些內容
9:01.586–9:04.350
just to familiarize yourself with the type of content that I make.
只是為了讓你熟悉我所製作的內容類型。
9:04.350–9:05.655
You shouldn't do any organization.
你不需要進行任何整理。
9:05.655–9:07.432
I just want you to read those for context.
我只是希望你閱讀這些內容以作為背景參考。
9:07.432–9:09.048
Now, what's cool about this is
現在,這部分有趣的地方在於
9:09.048–9:11.762
Codex, once again, is an agent that lives locally.
Codex 再次成為了一個在本地運行的代理程式。
9:11.762–9:14.683
So, just because it's working inside of one project,
所以,僅僅因為它是在一個專案內運作,
9:14.683–9:17.670
which is our, you know, um YouTube sort of demo folder,
也就是我們的,你知道,YouTube 類型的示範資料夾,
9:17.670–9:22.251
that doesn't mean that it can't navigate anywhere else inside of your local files.
這並不意味著它無法導航到你本地檔案中的其他任何地方。
9:22.251–9:23.874
And because we're telling it to do so,
而且因為我們指示它這麼做,
9:23.874–9:24.816
it's going to search.
它將會進行搜尋。
9:24.816–9:27.318
Right here, you can see it's searching inside of my desktop.
就在這裡,你可以看到它正在我的桌面內搜尋。
9:27.318–9:29.037
And then it's going to find the YouTube OS,
然後它會找到 YouTube OS,
9:29.037–9:30.903
and it's going to drill down into that folder.
並深入進入該資料夾。
9:30.903–9:33.960
And it's going to keep searching until it finds what it wants.
它會持續搜尋,直到找到它想要的東西為止。
9:33.960–9:35.028
Now, a quick warning.
現在,一個快速警告。
9:35.028–9:37.543
This is not the most effective use of Codex
這並不是使用 Codex
9:37.543–9:38.621
or of your tokens.
或你的 token 最有效的方式。
9:38.621–9:44.200
The more effective use would be to say, "Hey, this is the folder right here with all my raw transcripts.
更有效的方式會是說:「嘿,這個資料夾就在這裡,裡面有我所有的原始轉錄檔。
9:44.200–9:45.570
I'm going to copy this path,
我將複製這個路徑,
9:45.570–9:48.132
and I'm now just going to give Codex this exact path,
然後我現在只是將這個確切的路徑提供給 Codex,
9:48.132–9:51.706
so it can just look in there instead of having to search for it on its own."
所以它可以直接查看那裡,而不必自己搜尋。
9:51.706–9:54.268
But I just wanted to show you how it's able to do this.
但我只是想展示它如何能做到這一點。
9:54.268–9:55.478
Because you can see right here,
因為你可以看到這裡,
9:55.478–9:56.780
inside of my transcripts folder,
在我的轉錄資料夾內,
9:56.780–9:57.618
I have one called raw,
有一個名為 raw 的資料夾,
9:57.618–9:59.339
and that's the one that I wanted it to look at.
那就是我希望它查看的資料夾。
9:59.339–10:01.597
And right here it says there are two files,
而這裡顯示有兩個檔案,
10:01.597–10:02.888
raw and then processed.
分別是 raw 和 processed。
10:02.888–10:05.091
So it doesn't know which one to look through.
所以它不知道該查看哪一個。
10:05.091–10:05.589
So anyways,
所以,
10:05.589–10:07.583
the more specific you can be with your prompting
你在提示詞和指引上越具體,
10:07.583–10:08.580
and with your pointing,
效果就越好。
10:08.580–10:09.078
the better.
這樣會更好。
10:09.078–10:09.798
Now let's also,
現在讓我們在
10:09.798–10:10.851
while this is running,
這個程序運行的同時,
10:10.851–10:12.569
talk about the model stuff over here.
來討論這裡的模型設定。
10:12.569–10:14.829
So right now you've noticed that we're on extra high.
所以現在你應該注意到我們設定的是 extra high。
10:14.829–10:18.560
And I would say that extra high is probably overkill for that sort of job.
我認為對於這類工作來說,extra high 可能有點過度了。
10:18.560–10:19.495
For the most part,
在大多數情況下,
10:19.495–10:21.553
I'm using medium to do all of my planning
我使用 medium 來進行所有的規劃
10:21.553–10:22.738
and my brainstorming.
以及我的腦力激盪。
10:22.738–10:24.096
And then every once in a while,
然後偶爾
10:24.096–10:25.182
if I'm doing a huge build
當我在進行大型建置
10:25.182–10:26.215
or some massive scale,
或某些大規模專案時,
10:26.215–10:27.138
I'll switch to high.
我會切換到 high。
10:27.138–10:29.333
I'm honestly hardly using extra high
老實說,我幾乎不使用 extra high
10:29.333–10:31.386
unless I'm hitting some sort of bug
除非我遇到某種它無法解決的錯誤
10:31.386–10:33.520
or issue that it's not able to solve.
或是它無法解決的問題。
10:33.520–10:33.968
Anyways,
總之,
10:33.968–10:35.369
it has read nine transcripts,
它已讀取了九份轉錄檔,
10:35.369–10:38.226
so it has a little bit of a better of an idea now about who we are.
所以它現在對我們是誰有了更好的了解。
10:38.226–10:39.290
But just to show you guys,
但只是要展示給各位看,
10:39.290–10:41.267
this is still the folder that we're working in,
這仍然是我們正在使用的資料夾,
10:41.267–10:42.483
the YouTube Analytics Demo,
YouTube 分析示範,
10:42.483–10:44.105
and there's nothing that exists here.
這裡沒有任何存在的內容。
10:44.105–10:45.712
So even though it knows this,
所以即使它知道這些,
10:45.712–10:49.327
this knowledge only really lives in our overall ChatGPT memory,
這些知識實際上只存在於我們整體的 ChatGPT 記憶體中,
10:49.327–10:51.202
and in this specific chat window.
以及在這個特定的聊天視窗裡。
10:51.202–10:52.406
If I opened up a new chat,
如果我開啟一個新的聊天,
10:52.406–10:55.357
it probably wouldn't still have the knowledge about this.
它可能就不會再擁有關於這些的知識了。
10:55.357–10:57.348
So what I'd probably want to do is say,
所以我大概會想說,
10:57.348–10:59.916
"What I want you to do is set up an agents.md file.
「我希望你做的是建立一個 agents.md 檔案。
10:59.916–11:01.676
This should have context about me
這個檔案應該包含關於我的背景資訊
11:01.676–11:03.876
and about what the goal of this project is.
以及這個專案的目標。
11:03.876–11:04.416
Ultimately,
最終,
11:04.416–11:05.596
what we're going to do here is
我們在這裡要做的是
11:05.596–11:06.922
we're going to build a dashboard
建立一個儀表板
11:06.922–11:08.495
that's going to be pushed to dashboard
這個儀表板會被部署到
11:08.495–11:09.969
that's going to be pushed to Vercel,
部署到 Vercel,
11:09.969–11:12.082
and it's going to have information about my channel
並且它會包含關於我頻道的資訊
11:12.082–11:13.320
and some analytics around the
以及相關的數據分析
11:13.320–11:14.717
comments and stuff like that.
評論等相關的分析數據。
11:14.717–11:15.661
So that's the end goal.
這就是最終目標。
11:15.661–11:17.192
We're going to have to connect to YouTube,
我們需要串接 YouTube,
11:17.192–11:18.461
we're going to have to pull in data,
我們需要拉取資料,
11:18.461–11:19.643
we're going to set up some skills
我們需要設定一些技能
11:19.643–11:20.474
and some automations.
和一些自動化流程。
11:20.474–11:22.804
But I just want you to get us started here
但我只希望你先幫我們建立一個快速的 agents.md 檔案來啟動專案,
11:22.804–11:24.498
with a quick agents.md file.
然後現在我要繼續
11:24.498–11:26.000
And now I'm going to go ahead
現在我將繼續
11:26.000–11:27.120
and shoot that off."
然後把它發送出去。
11:27.120–11:29.114
Now, why do we need to create an agents.md file?
那麼,為什麼我們需要建立 agents.md 檔案呢?
11:29.114–11:31.249
Well, if you're coming over from Cloud Code,
嗯,如果你是從 Cloud Code 過來的,
11:31.249–11:33.441
you know that we always want to start a project
你就知道我們總是希望從一個專案開始,
11:33.441–11:34.537
with a Claude.md file.
使用 Claude.md 檔案。
11:34.537–11:36.297
And this is just agents.md,
而這裡只是 agents.md,
11:36.297–11:37.598
it's the same thing,
這是一樣的東西,
11:37.598–11:40.440
but Codex expects a different terminology.
但 Codex 期望不同的術語。
11:40.440–11:41.916
And what this agents file does is
這個 agents 檔案的作用是
11:41.916–11:42.846
it's basically like
基本上就像
11:42.846–11:43.840
it's onboarding doc.
一份入職文件。
11:43.840–11:45.573
Every time you open up a new chat,
每次你開啟新的對話時,
11:45.573–11:48.206
it's first of all going to read the agents.md file
它首先會讀取 agents.md 檔案,
11:48.206–11:49.875
and it's going to get organized
然後根據以下內容進行整理:
11:49.875–11:50.967
with what is my goal,
我的目標是什麼,
11:50.967–11:52.251
what is this user doing,
這位使用者在做什麼,
11:52.251–11:54.883
and how do I help them as effectively as possible.
以及我如何盡可能有效地幫助他們。
11:54.883–11:56.433
So, this document has been created.
所以,這個文件已經建立了。
11:56.433–11:58.649
If I click on open, we're going to be able to read it right here.
如果我點擊開啟,我們就能在這裡直接閱讀它。
11:58.649–12:00.460
And it's just a very simple markdown file.
這只是一個非常簡單的 Markdown 檔案。
12:00.460–12:02.013
This is the project right here.
就是這裡的專案。
12:02.013–12:04.443
This is about Nate's, Nate Herc does this.
這是關於 Nate 的部分,Nate Herc 負責這個。
12:04.443–12:05.960
This is the project goal.
這是專案目標。
12:05.960–12:07.183
This is the product direction.
這就是產品的方向
12:07.183–12:09.866
So, we're just giving it really important information
所以,我們只是提供它非常重要的資訊
12:09.866–12:11.800
that it needs to know about our project.
讓它了解我們的專案。
12:11.800–12:14.198
And you can see now if I pull the file explorer over,
現在你可以看到,如果我拉出檔案總管,
12:14.198–12:16.310
it has created this agents markdown folder,
它建立了這個 agents markdown 資料夾,
12:16.310–12:17.852
which is exactly what we wanted.
這正是我們想要的。
12:17.852–12:19.160
Sorry, not folder, file.
抱歉,不是資料夾,是檔案。
12:19.160–12:20.595
Okay, so now that that's out of the way,
好的,既然這部分已經完成,
12:20.595–12:22.344
I'm going to go ahead and close back out of that,
我將繼續關閉這個視窗,
12:22.344–12:23.520
and we're going to get started.
然後我們開始。
12:23.520–12:24.400
So, what I'm going to do is
所以,我要做的是
12:24.400–12:25.532
I'm going to click on this button
我會點擊這個按鈕
12:25.532–12:26.705
and I'm going to turn on plan mode.
並開啟計畫模式。
12:26.705–12:28.888
Plan mode is what I like to start with
計畫模式是我喜歡開始的方式
12:28.888–12:31.071
when I am creating some sort of plan.
當我在制定某種計畫時。
12:31.071–12:33.817
That basically means that Codex won't actually execute anything,
這基本上意味著 Codex 實際上不會執行任何操作,
12:33.817–12:35.043
it's just going to brainstorm
它只會進行腦力激盪
12:35.043–12:37.102
and help you guys get clear on what you want to build
並幫助大家釐清想要建構的內容
12:37.102–12:38.328
before you actually build it.
在實際建構之前。
12:38.328–12:40.240
So, I always start with plan mode.
所以,我總是從計畫模式開始。
12:40.240–12:41.400
Now, I'm just going to start yapping.
現在,我開始囉嗦一下。
12:41.400–12:44.126
And by the way, if you guys are curious about the tool I use for voice-to-text,
另外,如果你們好奇我使用的語音轉文字工具,
12:44.126–12:45.276
check it out in the description,
請在描述中查看,
12:45.276–12:45.957
it's called Glido.
它叫做 Glido。
12:45.957–12:47.727
I'm now an official member of the Glido team,
我現在已經是 Glido 團隊的正式成員,
12:47.727–12:48.732
which is super exciting.
這非常令人興奮。
12:48.732–12:51.090
I've fully switched over from Whisper to Glido
我已經完全從 Whisper 切換到 Glido
12:51.090–12:52.178
because it's faster,
因為它速度更快,
12:52.178–12:53.145
it's more private,
隱私性更高,
12:53.145–12:54.777
and it is a way more agentic tool,
而且它是一個更具代理能力的工具,
12:54.777–12:56.530
and we've got a really cool vision.
我們有著非常酷的願景。
12:56.530–12:57.913
So, check it out in the description.
所以,請在描述欄查看。
12:57.913–13:00.323
Okay, so now that you understand that context,
好的,現在你了解了這個背景,
13:00.323–13:02.238
the first hurdle for us to overcome is
我們需要克服的第一個障礙是
13:02.238–13:04.338
how do you actually connect to my YouTube
你實際上如何連接到我的 YouTube
13:04.338–13:06.192
in order to be able to pull in my data.
以便能夠拉取我的資料。
13:06.192–13:07.796
I want you to be able to specifically
我希望你能夠特別
13:07.796–13:09.987
at this point be able to pull in a bunch of comments
在這個階段,能夠匯入大量評論
13:09.987–13:11.280
so that you can analyze them.
以便你進行分析。
13:11.280–13:12.894
So, help me figure out how we do that,
所以,幫我弄清楚我們該如何做,
13:12.894–13:14.680
and then explain it to me step-by-step.
然後一步一步解釋給我聽。
13:14.680–13:16.255
And that's really the mindset shift
這確實是一種思維模式的轉變,
13:16.255–13:17.831
with tools like Codex or Claude Code
對於像 Codex 或 Claude Code 這樣的工具,
13:17.831–13:19.721
is if you don't know something's possible,
如果你不知道某件事是可能的,
13:19.721–13:20.982
instead of defaulting to oh,
與其預設為「哦,
13:20.982–13:21.927
I need to go to YouTube
我需要去 YouTube
13:21.927–13:24.342
or oh, I want to book in a consulting call with an expert,
」或「哦,我想預約與專家進行諮詢通話,
13:24.342–13:26.266
just ask Codex or Claude Code.
就直接詢問 Codex 或 Claude Code。
13:26.266–13:28.514
Ask it to do research and explain things to you.
請它幫你進行研究並解釋事情。
13:28.514–13:31.360
And that's basically how I learned everything that I know.
基本上,我就是透過這種方式學會我所知道的一切。
13:31.360–13:32.611
So while this is running,
因此,當這段程式正在執行時,
13:32.611–13:34.696
I wanted to explain something real quick,
我想快速解釋一件事,
13:34.696–13:35.947
which is called plugins.
那就是外掛程式(plugins)。
13:35.947–13:38.060
Plugins, MCP servers, skills, connectors,
外掛程式、MCP 伺服器、技能、連接器,
13:38.060–13:39.544
whatever you want to call them.
無論你怎麼稱呼它們。
13:39.544–13:42.210
We kind of have this interface inside of Codex
我們似乎在 Codex 內部擁有一個這樣的介面,
13:42.210–13:43.473
to do stuff like this.
來執行這類操作。
13:43.473–13:44.414
And what you'll notice is
你會注意到的是
13:44.414–13:46.028
there's a bunch of different plugins here.
這裡有很多不同的外掛程式。
13:46.028–13:47.200
We've got hugging face,
我們有 Hugging Face,
13:47.200–13:48.079
we've got Vercel,
我們有 Vercel,
13:48.079–13:48.958
we've got GitHub,
我們有 GitHub,
13:48.958–13:50.072
we've got Game Studio.
我們有 Game Studio。
13:50.072–13:52.121
We've got a bunch down here for design,
我們在這邊有很多設計相關的外掛,
13:52.121–13:54.235
Remotion, Figma, Hyperframes, Canva.
[未翻譯]
13:54.235–13:55.655
We've got stuff for lifestyle,
我們有生活風格相關的功能,
13:55.655–13:56.366
productivity,
生產力工具,
13:56.366–13:58.059
and this lets us basically connect to
這讓我們基本上可以連接
13:58.059–14:00.200
a lot of the tools that we already know and love.
到許多我們已經熟悉且喜愛的工具。
14:00.200–14:02.355
Google Drive, Slack, SharePoint, Teams,
[未翻譯]
14:02.355–14:03.524
whatever you may need,
無論你需要什麼,
14:03.524–14:05.433
a lot of that stuff is available here.
這裡都有很多相關功能可供使用。
14:05.433–14:06.146
And if you can't find it,
如果你找不到,
14:06.146–14:06.966
you can go ahead and search.
你可以直接進行搜尋。
14:06.966–14:07.605
So like Slack,
比如 Slack,
14:07.605–14:08.618
we have it right there.
我們就在這裡有它。
14:08.618–14:09.260
But look,
但是你看,
14:09.260–14:10.623
if I search YouTube,
如果我搜尋 YouTube,
14:10.623–14:13.200
there is no default plugin right here.
這裡沒有預設的外掛程式。
14:13.200–14:14.905
And that's why I had to ask Codex,
這就是為什麼我必須詢問 Codex,
14:14.905–14:16.357
okay, so there's no plugin,
好的,既然沒有外掛程式,
14:16.357–14:18.377
how do I actually access YouTube data?
我該如何實際存取 YouTube 的資料?
14:18.377–14:19.787
And so it comes back here
然後它會回到這裡
14:19.787–14:21.560
and it asks us some questions.
並向我們提出一些問題。
14:21.560–14:24.311
It says for the first comment analysis milestone,
它表示針對第一個評論分析里程碑,
14:24.311–14:26.800
which connection path should we plan around,
我們應該圍繞哪個連線路徑來規劃,
14:26.800–14:28.120
API key, OAuth, or both?
API 金鑰、OAuth,還是兩者都要?
14:28.120–14:30.078
Um I'm just going to go with his recommendation
嗯,我將直接採用他的建議
14:30.078–14:31.835
cuz let's say I don't know what I need to do,
因為假設我不知道該做什麼,
14:31.835–14:33.200
and I'm going to click on API key.
然後我會點擊 API 金鑰。
14:33.200–14:34.870
What should the first comment pull focus on?
第一個評論抓取應該聚焦於什麼?
14:34.870–14:36.680
I'm just going to say recent videos.
我只會說最近的影片。
14:36.680–14:38.575
And now if it has any other questions,
現在如果它還有其他問題,
14:38.575–14:40.470
it'll go ahead and ask us those first.
它會先繼續向我們提出那些問題。
14:40.480–14:41.701
Now one thing you'll notice is
現在你會注意到一件事是
14:41.701–14:44.680
because it already was searching through my other folders and projects,
因為它已經在搜尋我的其他資料夾和專案,
14:44.680–14:46.487
it did find an API key in a different project,
它確實在另一個專案中找到了 API 金鑰,
14:46.487–14:49.026
but I'm still going to show you guys how you would get this set up
但我還是要向大家展示如何進行設定
14:49.026–14:49.720
because it comes
因為它會
14:49.720–14:51.005
back here with a plan,
回到這裡並提出計畫,
14:51.005–14:52.800
which we can go ahead and read.
我們可以繼續閱讀該計畫。
14:52.800–14:54.162
So what it wants to use is
所以它想要使用的是
14:54.162–14:55.388
it it found an API key,
它找到了一個 API 金鑰,
14:55.388–14:56.410
so not full OAuth,
因此不是完整的 OAuth,
14:56.410–14:59.280
and then it needs to actually convert everything.
然後它需要實際轉換所有內容。
14:59.280–15:00.776
So what I'm just going to say is
所以我只會說
15:00.776–15:02.092
instead of implementing,
與其進行實作,
15:02.092–15:02.930
I'm going to say,
我會說,
15:02.930–15:04.784
"I'm glad that you found that API key,
「很高興你找到了那個 API 金鑰,
15:04.784–15:06.100
but let's set up a fresh one
但讓我們重新設定一個新的
15:06.100–15:07.477
because in my Google Cloud,
因為在我的 Google Cloud 中,
15:07.477–15:09.511
I want to have a separate API key for Codex
我希望為 Codex 設定一個單獨的 API 金鑰
15:09.511–15:09.760
and a
以及
15:09.760–15:11.069
separate one for Claude code.
為 Claude code 設定另一個單獨的金鑰。
15:11.069–15:14.693
So let's just go ahead and assume that we're going to create a complete new one from scratch."
所以我們就假設要從頭開始建立一個全新的金鑰。」
15:14.693–15:16.388
And now I'm able to shoot off those changes.
現在我可以送出這些變更了。
15:16.388–15:18.165
Codex is going to review the plan
Codex 將審查該計畫
15:18.165–15:19.087
and then edit it.
然後編輯它。
15:19.087–15:20.794
And then once we're aligned on the plan,
然後一旦我們對計劃達成一致,
15:20.794–15:22.345
we'll go ahead and start executing.
我們就繼續開始執行。
15:22.345–15:23.275
So now it's come back
所以現在它回來了
15:23.275–15:23.987
and it has okay,
並且顯示「好的」,
15:23.987–15:26.240
we're going to do a brand new Google Cloud API key.
我們將建立一個全新的 Google Cloud API 金鑰。
15:26.240–15:28.700
If you wanted to read through all of this step-by-step,
如果你想逐步閱讀所有內容,
15:28.700–15:29.182
you could,
你可以這麼做,
15:29.182–15:31.161
but I'm just going to go ahead and say submit,
但我將直接點擊提交,
15:31.161–15:32.080
implement the plan.
實施計劃。
15:32.080–15:32.190
So,
所以,
15:32.190–15:33.835
there's some stuff that we're going to have to do here.
這裡有一些我們必須做的事情。
15:33.835–15:36.498
We're going to have to go into Google Cloud Console,
我們必須進入 Google Cloud Console,
15:36.498–15:39.099
and we're going to have to create this new project,
並且我們必須建立這個新專案,
15:39.099–15:40.089
um enable this API,
嗯,啟用這個 API,
15:40.089–15:41.390
and then grab the API key,
然後取得 API 金鑰,
15:41.390–15:43.619
and then get it configured inside of Codex.
然後在 Codex 內進行配置。
15:43.619–15:43.756
So,
所以,
15:43.756–15:46.002
if this part of the tutorial isn't very interesting to you,
如果這個教程部分對你來說不太有趣,
15:46.002–15:47.468
you don't want to watch me get it set up,
你不想看我設定它,
15:47.468–15:49.805
maybe you want to do some stuff first with the native plugins,
也許你想先用原生外掛做一些事情,
15:49.805–15:50.640
which is much easier.
這會容易得多。
15:50.640–15:51.165
Typically,
通常,
15:51.165–15:53.002
these plugins you just basically sign in,
這些外掛你基本上只要登入,
15:53.002–15:55.311
the same way where you would open up Slack and sign in,
就像你打開 Slack 並登入的方式一樣,
15:55.311–15:57.463
or the same way you would open up Gmail and sign in,
或者就像你打開 Gmail 並登入的方式一樣,
15:57.463–15:58.680
and that's a lot lot easier.
這會容易得多。
15:58.680–15:58.964
Okay,
好的,
15:58.964–16:00.330
so I have to go to Google Cloud
所以我必須前往 Google Cloud
16:00.330–16:02.160
and get everything set up in a project.
並在專案中設定所有東西。
16:02.160–16:03.674
If I didn't know exactly how to do this,
如果我不完全知道該如何做,
16:03.674–16:05.898
it would tell me step-by-step as you guys saw on the plan,
它會像你們在計畫中看到的那樣,一步步告訴我,
16:05.898–16:06.939
but what it's going to do is
但它會做的是
16:06.939–16:08.169
it created another file for us.
它為我們創建了另一個檔案。
16:08.169–16:08.348
So,
所以,
16:08.348–16:10.016
it created this one called for us.
它為我們創建了這個名為
16:10.016–16:10.144
So,
所以,
16:10.144–16:11.560
it created this one called .env.local.
它為我們創建了這個名為 .env.local 的檔案。
16:11.560–16:11.732
So,
所以,
16:11.732–16:12.762
what I'm going to do is
我要做的是
16:12.762–16:14.536
head over to my Google Cloud Console.
前往我的 Google Cloud Console。
16:14.536–16:16.296
I'm signed in with my YouTube account,
我已使用我的 YouTube 帳戶登入,
16:16.296–16:18.560
and I'm going to go ahead and create a new project.
接著我將建立一個新專案。
16:18.560–16:21.799
So, I'm going to call this one um Codex demo.
所以,我將這個專案命名為 Codex demo。
16:21.799–16:24.194
I'm just going to go ahead and create this project,
我將直接建立這個專案,
16:24.194–16:26.304
and once that's spun up, it's pretty simple.
一旦專案建立完成,操作就相當簡單。
16:26.304–16:29.220
We just have to create a connection to YouTube Data API,
我們只需建立與 YouTube Data API 的連線,
16:29.220–16:31.376
and then we're going to create an API key.
然後建立一個 API 金鑰。
16:31.376–16:32.542
So, I'm going to select this project.
所以,我將選取這個專案。
16:32.542–16:35.892
The first thing I'm going to do is search up here at the top for YouTube
我要做的第一件事是在頂部搜尋 YouTube
16:35.892–16:38.066
is search up here at the top for YouTube Data,
是在頂部搜尋 YouTube Data,
16:38.066–16:40.358
and we're going to grab the YouTube Data API v3,
接著我們將取得 YouTube Data API v3,
16:40.358–16:42.650
and then I'm going to go ahead and click enable.
接著我會點擊啟用
16:42.650–16:46.714
And once that has been enabled, it should pull up a new screen that looks like this,
啟用後,應該會顯示如下畫面
16:46.714–16:49.164
and then I'm going to go down here to credentials,
接著我將往下捲動至憑證(Credentials),
16:49.164–16:51.196
and I'm going to just create a new API key.
並建立一個新的 API 金鑰。
16:51.196–16:52.295
So, create API key.
所以,建立 API 金鑰。
16:52.295–16:56.331
This is just going to be called Codex YouTube demo.
這將命名為 Codex YouTube demo。
16:56.331–16:59.522
And then right here for the restrictions, I'm just going to once again type in YouTube.
接著在限制(restrictions)部分,我將再次輸入 YouTube。
16:59.522–17:01.365
We're going to check YouTube Data API v3,
我們將勾選 YouTube Data API v3,
17:01.365–17:03.858
and then we're going to go ahead and create that API key.
接著我們繼續建立該 API 金鑰。
17:03.858–17:05.946
And it gives me this value that I'm going to go ahead and copy.
它會給我這個值,我將複製它。
17:05.946–17:07.443
So, I'm going to copy that,
所以,我會複製那個,
17:07.443–17:11.458
and then I'm going to pull in that file that it created, the .env.local,
然後我會載入它建立的檔案,也就是 .env.local,
17:11.458–17:15.132
and I'm just going to open this file real quick with um my notepad,
我只會用我的記事本快速開啟這個檔案,
17:15.132–17:18.058
and here is where I'm going to put my YouTube API key.
這裡是我放入 YouTube API 金鑰的地方。
17:18.058–17:19.839
I'm just going to paste that in right there.
我只會把它貼到那裡。
17:19.839–17:21.932
Hit save and then I can close out of that
按下儲存,然後我可以關閉它
17:21.932–17:25.800
because what we need to get next is we need to get our YouTube channel ID.
因為我們接下來需要取得的是我們的 YouTube 頻道 ID。
17:25.800–17:27.476
I'm not actually going to do the uploads playlist.
我實際上不會使用上傳播放清單。
17:27.476–17:28.815
I don't think it needs that,
我認為不需要那個,
17:28.815–17:31.085
but I am going to go find the YouTube channel ID.
但我會去尋找 YouTube 頻道 ID。
17:31.085–17:32.460
Oh, but this is actually cool.
哦,但這其實很酷。
17:32.460–17:34.244
My YouTube channel ID is already in there
我的 YouTube 頻道 ID 已經在裡面了
17:34.244–17:35.924
and the playlist ID is already in there
播放清單 ID 也已經在裡面了
17:35.924–17:38.548
because it was able to just pull it from a different project.
因為它能夠從另一個專案直接擷取。
17:38.548–17:41.679
So obviously if you didn't have that already set up, it wouldn't do that,
所以顯然如果你沒有事先設定好,它就不會那樣做,
17:41.679–17:44.497
but it would explain to you exactly how to do that if you needed to.
但如果你需要,它會詳細說明如何操作。
17:44.497–17:48.480
So now that we have that API key put in, let's just see if it works.
所以現在我們已經輸入 API 金鑰,讓我們看看它是否運作。
17:48.480–17:52.760
Okay, so I've given you the API key in that local.env.
好的,所以我已經在 local.env 中提供了 API 金鑰。
17:52.760–17:55.198
Can you go ahead and test it to see if that connection works?
你可以繼續測試一下,看看連線是否正常運作?
17:55.198–17:57.317
And if not, then we'll have to make some changes.
如果不行的話,我們就得做一些調整。
17:57.317–17:58.977
Okay, now while this is running,
好的,現在當這個程式正在執行時,
17:58.977–18:01.497
what you guys might notice when you hop into Codex
你們進入 Codex 時可能會注意到
18:01.497–18:04.387
is that it might pause a lot to actually ask you questions
它可能會經常暫停,實際上是為了詢問你們問題
18:04.387–18:05.678
and like approve things.
或是要求批准某些事項。
18:05.678–18:08.355
And that's what happens when you're on default permissions.
這就是使用預設權限時會發生的情況。
18:08.355–18:09.746
So if you want to be able to change that,
所以,如果你想變更這個設定,
18:09.746–18:11.320
you're going to go up here to your settings.
你需要前往這裡的設定選單。
18:11.320–18:12.339
And then in general,
然後在一般設定中,
18:12.339–18:13.478
you can see right here,
你可以看到這裡,
18:13.478–18:14.857
auto review or full access.
自動審查或完全存取。
18:14.857–18:16.849
And this by default will be turned off.
預設情況下,這個選項是關閉的。
18:16.849–18:17.849
So if I turn this on,
所以如果我開啟這個選項,
18:17.849–18:19.537
then when we're back in our chat,
那麼當我們回到聊天視窗時,
18:19.537–18:20.788
we now have the ability,
我們現在就具備了這個功能,
18:20.788–18:21.600
see right here,
就在這裡可以看到,
18:21.600–18:22.788
this is exact example,
這是一個具體的例子,
18:22.788–18:23.914
allow network access
允許網路存取
18:23.914–18:25.039
and I want to say yeah,
我想說好的,
18:25.039–18:25.539
allow it.
允許它。
18:25.539–18:27.263
Or if I switch this to full access,
或者如果我將此切換為完全存取,
18:27.263–18:30.772
now it's just going to do everything without asking for permission.
現在它就不會再詢問許可而直接執行所有操作。
18:30.772–18:32.791
So obviously it comes up as orange here
所以很明顯,這裡會顯示為橘色,
18:32.791–18:36.828
because there's sometimes where you might not want full autonomous access.
因為有時你可能不希望擁有完全自主的存取權。
18:36.828–18:39.651
And I think it's best practice when you're first getting started
我認為在剛開始使用時,最佳做法是
18:39.651–18:41.585
and you're first building some automations
並初次建構一些自動化流程時,
18:41.585–18:43.049
to maybe just leave it on default.
最好將其保留在預設值。
18:43.049–18:44.948
But once you start getting a hang of your skills
但一旦你開始熟悉你的技能
18:44.948–18:46.555
and you start getting a hang of the flow,
並開始熟悉整個流程,
18:46.555–18:48.892
then moving to full access is going to save you a lot of time
那麼切換到完全存取將為你節省大量時間,
18:48.892–18:50.791
so that you can actually not have to baby sit it.
這樣你實際上就不需要一直盯著它看。
18:50.791–18:52.522
But I had to call that out because,
但我必須特別指出這一點,因為,
18:52.522–18:53.017
you know,
你知道,
18:53.017–18:55.922
we've seen horror stories of agents deleting databases
我們看過過多的恐怖故事,例如代理程式刪除資料庫
18:55.922–18:58.333
or sending out mass emails and stuff like that.
或發送大量電子郵件等情況。
18:58.333–18:59.832
So you just want to be safe with it.
所以你要對它保持謹慎。
18:59.832–19:02.395
I personally have never had any sort of problem like that.
我個人從未遇過類似的問題。
19:02.395–19:04.283
That usually comes from context rot
這通常來自於情境腐敗
19:04.283–19:05.731
or very vague instructions
或非常模糊的指令
19:05.731–19:08.437
or or just not being super smart with your planning.
或是規劃時不夠周全
19:08.437–19:11.013
So you can see what's happening here is it's trying it out, right?
所以你可以看到這裡正在嘗試,對吧?
19:11.013–19:12.303
And it's running into some issues.
它遇到了一些問題。
19:12.303–19:15.719
But what's great about this agentic loop is that it's going to keep trying things
但這個代理循環(agentic loop)很棒的地方在於,它會持續嘗試各種方法
19:15.719–19:17.096
until it actually goes through.
直到成功完成為止。
19:17.096–19:17.599
There we go.
成功了。
19:17.599–19:19.658
You can see nice the key works for channel data,
你可以看到金鑰對頻道資料運作良好,
19:19.658–19:21.031
and I'm going to do one more test
我還要再做一次測試
19:21.031–19:23.512
to make sure that I can pull comments from recent videos.
以確保我能從最近的影片中擷取留言。
19:23.512–19:26.614
So a big mindset shift when you're using any of these tools
所以當你使用這些工具時,一個重大的心態轉變
19:26.614–19:27.712
is to just let it run,
就是讓它運行,
19:27.712–19:28.682
let it try things,
讓它嘗試各種方法,
19:28.682–19:30.556
help steer in the right direction,
在正確的方向上給予協助,
19:30.556–19:31.396
ask questions,
提出問題,
19:31.396–19:32.042
be curious,
保持好奇心,
19:32.042–19:34.045
and just take a look at what it's doing
並查看它正在做什麼
19:34.045–19:34.960
because it tells
因為它會告訴
19:34.960–19:36.880
you every single thing that it's trying.
你它嘗試的每一個步驟。
19:36.880–19:38.830
But now we can see I've tested the key.
但現在我們可以看到我已經測試過金鑰。
19:38.840–19:40.836
I can get comments from your recent videos,
我可以從你最近的影片中取得留言,
19:40.836–19:42.776
and it's completely working as expected.
且運作完全符合預期。
19:42.776–19:46.614
However, PowerShell's built-in web request had a local TLS issue,
然而,PowerShell 內建的網頁請求功能存在本地 TLS 問題,
19:46.614–19:49.160
but Node and Python both connected cleanly.
但 Node 和 Python 都順利連線。
19:49.160–19:50.618
For the project, that's fine.
對這個專案來說,這樣沒問題。
19:50.618–19:54.120
We'll use Node and server-side code for the dashboard anyway.
反正我們會使用 Node 和伺服器端程式碼來建置儀表板。
19:54.120–19:56.400
Now, here's something to think about.
現在,這裡有件事值得思考。
19:56.400–19:58.440
I don't really know what that means.
我其實不太明白那代表什麼意思。
19:58.440–20:01.762
But what I want to make sure is that that doesn't happen again,
但我想確保的是,這種情況不要再發生,
20:01.762–20:05.411
or I want to make sure that this project doesn't lose this knowledge
或者我想確保這個專案不會因為遇到失敗而失去這項知識
20:05.411–20:07.430
because it it it it ran into a failure.
因為它遇到了失敗。
20:07.430–20:09.014
And whenever you run into a failure,
每當你遇到失敗時,
20:09.014–20:10.862
you want to treat that as golden knowledge
你要將它視為寶貴的知識,
20:10.862–20:14.136
because it means you have more data to make sure that it doesn't do it again.
因為這意味著你有更多資料可以確保它不會再次發生。
20:14.136–20:17.934
So all I'm going to say is, "Okay, thanks for testing that.
所以我只會說:「好的,謝謝你做了這個測試。
20:17.934–20:20.655
I want to make sure that you don't ever run into that issue again,
我想確保你永遠不會再遇到這個問題,
20:20.655–20:23.529
and I want to make sure that that knowledge is saved in this project.
並且我想確保這項知識已保存在這個專案中。
20:23.529–20:26.655
So can you just throw together a quick file somewhere in your memory,
所以你能不能在記憶體中的某個地方,
20:26.655–20:29.616
somewhere in this project to make sure that you already know that
或者這個專案中的某個地方,快速建立一個檔案,以確保你已經知道
20:29.616–20:31.600
so that next time it doesn't happen again."
這樣下次就不會再發生了
20:31.600–20:32.728
And doing stuff like this,
而像這樣做
20:32.728–20:33.855
having this sort of habit,
養成這種習慣,
20:33.855–20:36.418
is how you actually make these systems get smarter over time
才能真正讓這些系統隨著時間推移變得更聰明,
20:36.418–20:39.186
rather than just feeling like you're always repeating yourself
而不是一直覺得自己在重複同樣的工作,
20:39.186–20:41.400
or that you're always running into the same issues.
或是總是遇到相同的問題。
20:41.400–20:43.105
Another mindset shift for you right there.
這是另一個思維上的轉變。
20:43.105–20:45.643
So here it decided to add this into the agents.md.
所以這裡它決定將這個加入 agents.md。
20:45.643–20:47.659
Right now, I have no objections to that,
目前我對這個沒有意見,
20:47.659–20:49.002
but as your projects grow,
但隨著你的專案規模擴大,
20:49.002–20:51.506
you don't want to put everything in the agents.md
你不想把所有東西都塞進 agents.md,
20:51.506–20:54.011
because if that agents.md file gets really huge,
因為如果那個 agents.md 檔案變得非常龐大,
20:54.011–20:55.904
it's going to use more of your tokens.
它會消耗你更多的 token。
20:55.904–20:56.160
Okay.
好的。
20:56.160–20:57.303
So before we keep going,
所以在我們繼續之前,
20:57.303–20:59.590
I did want to point out one other thing down here,
我想指出這裡的另一個東西,
20:59.590–21:00.800
which is this little bar.
就是這個小條。
21:00.800–21:04.500
This shows you how much of your context window is currently filled up.
這會顯示你目前上下文視窗的使用情況。
21:04.500–21:07.140
Now, if If were using Claude Code and you're using Opus,
現在,如果你使用的是 Claude Code 並使用 Opus,
21:07.140–21:08.058
you have a million.
你有一百萬的容量。
21:08.058–21:11.491
So, it's, you know, about four times as much as this in Codex.
所以,你知道,這大約是 Codex 的四倍。
21:11.491–21:15.056
However, Codex automatically compacts just like Opus does
然而,Codex 會自動進行壓縮,就像 Opus 一樣
21:15.056–21:16.838
and just like Cloud Code does.
就像 Cloud Code 一樣。
21:16.838–21:17.595
So, it's really nice.
所以,這真的很棒。
21:17.595–21:19.480
You don't have to worry about it too much,
你不需要太擔心這個問題,
21:19.480–21:23.085
but you still want to be thinking about some general context management tips.
但你仍然需要考慮一些關於上下文管理的一般性建議。
21:23.085–21:25.099
I've got some videos on my channel about that
我的頻道上有相關的影片
21:25.099–21:27.386
that are agnostic to whatever tool you want to use.
這些影片適用於任何你想要的工具。
21:27.386–21:30.898
I'm not going to dive super deep into context window management in this video,
我不會在這部影片中深入探討上下文視窗管理的細節,
21:30.898–21:32.735
but just wanted to point that out as well.
但只是想指出這一點。
21:32.735–21:33.929
Okay, so what's next?
好的,那麼接下來要做什麼呢?
21:33.929–21:37.447
What I want to do is I want to show you guys that it's able to pull comments
我想做的是,我想向你們展示它能夠抓取評論
21:37.447–21:40.429
and that we're able to create an actual deliverable from it.
並且我們能夠從中創建實際的交付成果。
21:40.429–21:42.803
So, let me just once again go back to plan mode.
所以,讓我再次回到計劃模式。
21:42.803–21:47.662
All right, so what I want you to do is pull in, you know, about 100 or 200 of my most recent comments
好的,我想讓你們做的是,抓取大約 100 到 200 條我最近期的評論
21:47.662–21:49.200
and I want you to analyze them.
然後分析它們。
21:49.200–21:50.908
I want you to find patterns
我想讓你們找出其中的模式
21:50.908–21:54.247
and I want you to display all of this in a Excel sheet.
並將所有這些內容顯示在 Excel 表格中。
21:54.247–21:56.967
And I want it to be a visual representation of this data
我希望這是一個數據的可視化呈現
21:56.967–21:59.868
that has interesting insights for me as a content creator
為我作為內容創作者提供有趣的見解
21:59.868–22:02.346
so that I can keep making content that people want
這樣我就能持續製作大家想要的內容
22:02.346–22:05.680
and I can keep answering questions that are coming up frequently.
並且持續回答那些經常出現的問題。
22:05.680–22:07.352
So, go ahead and do a plan for this
所以,請繼續為此制定計劃
22:07.352–22:10.633
and structure what the Excel sheet deliverable will look like.
並規劃 Excel 檔案交付成果的格式。
22:10.633–22:11.342
So, I shot that off.
所以我已經發送出去了。
22:11.342–22:13.575
I'm going to let you guys know when we have a plan
我會讓大家知道我們什麼時候有計畫
22:13.575–22:15.006
or if it asks me any questions.
或如果它向我提出任何問題時,我會通知大家。
22:15.006–22:17.607
A couple questions here to make sure that it understands what we want.
這裡有幾個問題,以確保它理解我們的需求。
22:17.607–22:19.328
It's asking about the recent comments.
它正在詢問最近的評論。
22:19.328–22:21.078
I'm just going to say across recent videos.
我只會說針對最近的影片。
22:21.078–22:22.320
How many should we pull?
我們應該抓取多少條?
22:22.320–22:23.078
Let's say 200.
讓我們說 200 條。
22:23.078–22:25.476
How should we classify and summarize the comments?
我們該如何分類和總結這些評論?
22:25.476–22:27.040
I'm just going with all of its recommendations.
我直接採用它的所有建議。
22:27.040–22:27.796
Those were pretty good.
那些建議相當不錯。
22:27.796–22:29.470
And so, if I switch over to a different tab,
所以,如果我切換到不同的分頁,
22:29.470–22:30.857
let's say we're back on our slides,
假設我們回到了投影片頁面,
22:30.857–22:32.962
you can see my pet down here has a little one next to it.
你可以看到我下方的寵物旁邊有一個小圖示。
22:32.962–22:35.458
Well, the one's gone because I switched back into Codex,
那個小圖示不見了,因為我切換回了 Codex,
22:35.458–22:36.361
but that little one,
但那個小圖示,
22:36.361–22:37.742
if I would have hovered over it,
如果我將滑鼠懸停在它上面,
22:37.742–22:39.388
it would show me what it's working on.
它會顯示它正在處理的工作。
22:39.388–22:43.400
So, now I can keep tabs on my workflow while I'm doing other things.
所以,現在我可以在做其他事情的時候,隨時掌握我的工作流程。
22:43.400–22:45.622
And Codex makes multitasking really easy.
而 Codex 讓多工處理變得非常輕鬆。
22:45.622–22:48.049
Because of the fact that I could open up a new chat in this project
因為我可以在這個專案中開啟新的聊天視窗,
22:48.049–22:49.102
and work on something else.
並處理其他事情。
22:49.102–22:50.679
Then I could open up a new chat in this project
接著我可以在這個專案中開啟新的聊天視窗,
22:50.679–22:51.660
and work on something else.
並處理其他事情。
22:51.660–22:52.678
And it will color code
它會進行顏色編碼,
22:52.678–22:55.618
and give you like a little blue dot or yellow dot on the side here
並在側邊顯示藍色或黃色的小圓點,
22:55.618–22:57.597
if one of these sessions needs attention.
如果其中一個工作階段需要關注的話。
22:57.597–22:58.822
So, anyways, here is the plan.
所以,總之,這是計畫。
22:58.822–23:01.593
What I would recommend is at this point you read through it.
我建議你在這個階段先閱讀一遍。
23:01.593–23:03.842
You make any changes to specific sections if you want,
如果你願意,你可以對特定章節進行任何修改,
23:03.842–23:06.941
but for the sake of the video I'm just going to go ahead and submit that plan.
但為了影片效果,我將直接提交這個計畫。
23:06.941–23:08.604
But while this is running real quick,
但當這個計畫正在快速執行時,
23:08.604–23:11.125
I wanted to show you a few other things that we can look at.
我想向你展示一些我們可以查看的其他內容。
23:11.125–23:13.082
So, if you do {slash} inside of this chat,
所以,如果你在這個聊天中輸入 {slash},
23:13.082–23:15.280
there's things that you can actually look at.
你會看到一些你可以實際查看的功能。
23:15.280–23:22.440
So, we've got auto review, code review, feedback, MCP, memories, model, personality, pet, plan mode, reasoning.
我們有自動審查、程式碼審查、回饋、MCP、記憶、模型、個性、寵物、計畫模式、推理。
23:22.440–23:29.120
There's all of these different skills that we can use like browser use, GitHub, Higgs Field, PDF, skill creator.
還有各種不同的技能,例如瀏覽器使用、GitHub、Higgs Field、PDF、技能建立器。
23:29.120–23:31.799
The {slash} is going to open up a lot of different things for you.
{slash} 將為你開啟許多不同的功能。
23:31.799–23:34.174
And of course, what you can do is you can also tag things.
當然,你也可以使用標籤功能。
23:34.174–23:35.086
So, if I do an {at},
所以,如果我輸入@符號
23:35.086–23:40.433
this is going to let us tag either specific plugins or specific files that live somewhere in this project.
這樣就能讓我們標註這個專案中特定位置的插件或檔案
23:40.433–23:44.556
So, if you're ever trying to reference a specific plugin or something specific,
所以,如果你曾經想要參考特定的外掛程式或某些特定內容,
23:44.556–23:49.603
then it's probably best to try using the {slash} or using the {at} to actually tag that in your chat.
那麼最好嘗試使用斜線指令或是 at 標記來在聊天中實際標註該項目
23:49.603–23:51.688
Now, the reason I wanted to bring up the {slash}
現在我要提到斜線指令的原因
23:51.688–23:54.627
is because you'll see one right here called {slash} personality,
是因為你會在這裡看到一個叫做 / personality 的指令
23:54.627–23:55.696
which if I shot that off,
如果我把這個打出來
23:55.696–23:57.888
it would actually let it, you know, do something.
這樣它實際上就會執行某些動作
23:57.888–23:58.731
So, what I can show you is
所以我可以展示給你看的是
23:58.731–24:01.480
I don't want to interrupt this main don't want to interrupt this main session.
我不想打斷這個主要會議
24:01.480–24:04.164
I could come up here and I could click on open side chat.
我可以點這裡,然後點擊開啟側邊聊天
24:04.164–24:06.737
And that opens up a different little conversation here
這樣就會在這裡開啟另一個小對話視窗
24:06.737–24:08.136
that still lives in this chat,
它仍然存在於這個聊天中
24:08.136–24:09.478
still lives in this project.
仍然屬於這個專案
24:09.478–24:11.594
So, if you're coming over from Cloud Code,
所以,如果你是從 Cloud Code 過來的
24:11.594–24:13.840
this is pretty similar to {slash} by the way.
順便一提,這跟 {slash} 非常類似。
24:13.840–24:16.209
So, what I can do over here is I can do {slash} personality.
所以,我在這裡可以輸入 / personality
24:16.209–24:19.755
And now I can set if I want the personality to be friendly or pragmatic.
現在我可以設定人格是友善還是務實
24:19.755–24:22.548
And I guess I didn't actually need to switch over here
我想我其實不需要切換到這裡
24:22.548–24:24.261
because it just opens like this,
因為它就像這樣打開,
24:24.261–24:25.975
but right now we're on friendly.
但現在我們設定為友善模式。
24:25.975–24:27.633
I'm actually going to switch this to pragmatic.
我實際上要將這個切換為務實模式。
24:27.633–24:31.174
You can see this says concise, task-focused, and direct.
你可以看到這裡寫著簡潔、以任務為導向且直接。
24:31.174–24:34.774
And honestly, most of the time I'd probably prefer pragmatic.
老實說,大多數時候我可能更偏好務實模式。
24:34.774–24:37.400
So, I'm usually working on pragmatic by default.
所以,我通常預設都是在務實模式下工作。
24:37.400–24:38.885
But now that we've opened the side chat,
但現在我們已經打開了側邊聊天視窗,
24:38.885–24:40.414
let me just show you guys something else.
讓我給你們看點別的東西。
24:40.414–24:43.211
Um, give me a quick update about my YouTube channel and,
嗯,給我一個關於我的 YouTube 頻道的快速更新,以及,
24:43.211–24:46.008
you know, the type of videos I've been making recently.
你知道,我最近製作的那種類型影片。
24:46.008–24:47.291
Just to show you guys that, okay,
只是想讓你們知道,好吧,
24:47.291–24:49.430
if you have your agent working right here on something
如果你的代理程式正在這裡處理某件事,
24:49.430–24:50.809
and you don't want to interrupt it,
而你不想打斷它,
24:50.809–24:52.330
but you have some sort of side question
但你有一些相關的側邊問題,
24:52.330–24:53.613
that is relevant to this project
這個問題與這個專案有關,
24:53.613–24:56.000
or maybe relevant to something that you guys were working on
或者與你們之前處理過的事情有關,
24:56.000–24:57.852
earlier, you can ask over here.
你可以在這裡詢問。
24:57.852–25:00.418
Because right here you can see it has the context
因為在這裡你可以看到它擁有
25:00.418–25:02.160
of what we talked about already.
我們已經討論過的話題的上下文。
25:02.160–25:03.630
And I could go back and forth a little bit,
而且我可以來回稍微討論一下,
25:03.630–25:05.272
and then I could just close out of the side chat
然後我就可以關閉側邊聊天視窗
25:05.272–25:05.964
whenever I'm done.
在我完成操作時。
25:05.964–25:07.464
Okay, so that has been created.
好的,所以這個已經建立完成了。
25:07.464–25:10.810
It pulled in 200 recent comments across three recent videos,
它從最近的三部影片中匯入了 200 則最新的留言,
25:10.810–25:14.155
and I could open it up right here in this dashboard sort of view
我可以在這個儀表板類型的視圖中直接打開它
25:14.155–25:15.992
right in CodaX, which is awesome.
就在 CodaX 裡,這真的很棒。
25:15.992–25:17.715
And I could actually make some follow-ups
我實際上可以進行一些後續操作
25:17.715–25:18.847
and chat with it right here,
並在這裡與它聊天,
25:18.847–25:20.570
but it's a little bit finicky to be honest.
但老實說,它有點難用。
25:20.570–25:22.322
So what I'm going to do is close out of that,
所以我接下來要關閉那個視窗,
25:22.322–25:24.223
and I'm just going to open up our folder again,
然後我會重新打開我們的資料夾,
25:24.223–25:25.124
which was right here.
就在這裡
25:25.124–25:26.936
And you can see there's a lot more that lives in here now.
你可以看到現在裡面多了很多東西。
25:26.936–25:29.075
Not only do we have our agents and our .env,
我們不僅有我們的代理程式和 .env 檔案,
25:29.075–25:30.114
but we have scripts,
還有腳本,
25:30.114–25:31.153
and we have outputs,
還有輸出結果,
25:31.153–25:33.232
and we have different nodes and modules,
還有不同的節點和模組,
25:33.232–25:34.454
which has a lot of stuff.
裡面包含了很多內容。
25:34.454–25:36.759
So if at any point this starts to feel a little bit unorganized
所以如果任何時候這開始感覺有點雜亂無章
25:36.759–25:38.295
and you don't understand the structure,
而你不了解其結構,
25:38.295–25:39.922
all you have to do is come into CodaX and say,
你只需要進入 CodaX 並說,
25:39.922–25:41.278
have to do is come into CodaX and say,
你只需要進入 CodaX 並說,
25:41.278–25:42.634
"Hey, help me like reorganize this,
「嘿,幫我重新組織一下,
25:42.634–25:45.520
or maybe give me a document that helps me navigate it a little bit better."
或者給我一份文件,幫助我更好地導航。」
25:45.520–25:48.359
Because of course this lives in a local directory,
因為這當然存在於本地目錄中,
25:48.359–25:49.644
and CodaX can touch it,
而 CodaX 可以接觸它,
25:49.644–25:50.117
read it,
讀取它,
25:50.117–25:50.861
organize it,
組織它,
25:50.861–25:51.334
edit it.
編輯它。
25:51.334–25:52.373
So if I go to the outputs
所以如果我進入輸出資料夾
25:52.373–25:54.233
and I go to the YouTube comment insights,
並進入 YouTube 評論洞察,
25:54.233–25:56.367
we see all of these different stuff that it did.
我們會看到它所做的各種不同內容。
25:56.367–25:58.461
So it took some screenshots as you can see,
所以它截了一些螢幕截圖,你可以看到,
25:58.461–26:00.855
but then it also created the actual Excel sheet.
但隨後它也建立了實際的 Excel 試算表。
26:00.855–26:02.611
So I'll open this up right here,
所以我就在這裡打開它,
26:02.611–26:03.826
and we can take a look.
我們可以來看看。
26:03.826–26:05.485
All right, so we and we can take a look.
好的,我們可以來看看。
26:05.485–26:07.958
All right, so we have YouTube comment insights,
好的,我們有 YouTube 評論洞察,
26:07.958–26:11.049
200 newest public comments across recent Nate Hurt videos,
最近 Nate Hurt 影片中的 200 條最新公開評論,
26:11.049–26:12.595
generated May 5th, 11:00 a.m.
生成於 5 月 5 日上午 11:00
26:12.595–26:14.378
So we can see the question rate,
所以我們可以看到提問率,
26:14.378–26:16.024
the content requested rate,
內容請求率
26:16.024–26:17.670
top mention tools CodaCode.
最常提及的工具是 CodaCode。
26:17.670–26:18.066
Uh-oh.
哎呀。
26:18.066–26:19.801
We've got high priority stuff,
我們有高優先級的內容,
26:19.801–26:20.602
top patterns,
主要模式,
26:20.602–26:21.269
skip video,
跳過影片,
26:21.269–26:22.203
stuff like that.
諸如此類。
26:22.203–26:23.916
It even started to create some visuals here,
它甚至開始在這裡建立一些視覺效果,
26:23.916–26:24.611
which is awesome.
這太棒了。
26:24.611–26:27.124
So this is content category mix over here.
所以這裡是內容類別的組合。
26:27.124–26:31.596
It shows the mix between general feedback or questions with um actual values.
它顯示了一般意見或問題與實際價值之間的混合比例。
26:31.596–26:33.451
So 55 were general feedback,
所以有 55 條是一般意見,
26:33.451–26:34.688
53 were questions.
53 條是問題。
26:34.688–26:36.240
Some of these were access,
其中一些是存取權限,
26:36.240–26:37.440
positive feedback,
正面反饋,
26:37.440–26:38.498
tool comparison,
工具比較,
26:38.498–26:39.415
pricing stuff.
定價相關內容。
26:39.415–26:41.055
Over here we have different tools.
這裡有不同的工具。
26:41.055–26:41.844
So CodaCode,
所以 CodaCode,
26:41.844–26:42.633
Higgs Field,
希格斯場
26:42.633–26:43.278
CodaX API.
[未翻譯]
26:43.278–26:45.501
And then over here we have some other stats as you can see.
然後在這裡,你可以看到一些其他統計數據。
26:45.501–26:47.254
Now we have a bunch of different tabs as well.
現在我們還有一堆不同的標籤頁。
26:47.254–26:48.635
So we have creator insights.
所以我們有創作者洞察。
26:48.635–26:51.496
So ranked comment patterns and recommended creator actions.
也就是排名評論模式和推薦的創作者行動。
26:51.496–26:55.470
So I'm able to see the percentage breakdown of different types of comments
所以我能夠看到不同類型評論的百分比分解,
26:55.470–26:58.867
and it also gives me recommended actions with priority scores.
它還為我提供帶有優先級分數的推薦行動。
26:58.867–27:00.138
So, that's pretty cool.
所以,這真的很酷。
27:00.138–27:01.640
I also can see frequent questions.
我還能看到常見問題。
27:01.640–27:03.913
So, things that are coming up as patterns.
也就是那些作為模式出現的事物。
27:03.913–27:08.200
It's giving me content ideas now as well because it's analyzing those comments.
因為它正在分析這些評論,現在它也為我提供內容靈感。
27:08.200–27:10.204
It's giving me nice reply opportunities
它為我提供很好的回覆機會,
27:10.204–27:12.444
and then it's giving me just the raw comments.
然後它只提供原始評論。
27:12.444–27:16.696
So, this should be 200 rows of our actual comments that it pulled.
所以,這應該是它提取的我們實際評論的 200 行。
27:16.696–27:21.273
204 as you can see because the first three or four were just nonsense.
正如你所見,是 204 行,因為前三或四行只是胡言亂語。
27:21.273–27:22.487
So, that is awesome.
所以,這太棒了。
27:22.487–27:25.628
And what you guys might be thinking is okay, is this actually useful?
你們可能會想的是,好吧,這真的有用嗎?
27:25.628–27:29.916
Maybe not because we just said, "Hey, give me analytics." Right?
也許沒有用,因為我們剛才只是說,「嘿,給我分析數據。」對吧?
27:29.916–27:32.567
If you guys remember my actual prompt, it was very, very vague.
如果你們記得我的實際提示詞,它非常、非常模糊。
27:32.567–27:35.202
So, if we would have spent more time in the planning phase
所以,如果我們能在規劃階段多花點時間
27:35.202–27:38.062
or if we had certain analytics that we're tracking very heavy
或者我們有某些非常重點追蹤的數據分析
27:38.062–27:40.641
or certain comments that we're really looking out for,
或者某些我們特別留意的評論,
27:40.641–27:42.492
we would give that to Codex as knowledge
我們會將這些資訊提供給 Codex 作為知識
27:42.492–27:44.240
and it would make this actual, um, you
這樣它就能產生這些實際的、嗯,你
27:44.240–27:44.895
know, insights,
知道的洞察,
27:44.895–27:46.346
it would make it much know, insights,
它會產生這些洞察,
27:46.346–27:48.359
it would make it much more customized and tailored.
它會讓結果更加客製化且量身打造。
27:48.359–27:50.696
So, now let's talk about how do we turn this into a skill?
所以,現在讓我們來談談如何將這轉化為一項技能?
27:50.696–27:52.200
So, first of all, what is a skill?
首先,什麼是技能?
27:52.200–27:53.120
So, first of all, what is a skill?
首先,什麼是技能?
27:53.120–27:55.405
Well, a skill is basically a repeatable recipe.
基本上,技能就是一種可重複使用的配方。
27:55.405–27:57.499
So, if I come back in here and I click on plugins,
所以,如果我回到這裡並點擊外掛程式,
27:57.499–27:58.949
we saw all these plugins, right?
我們看到了所有這些外掛程式,對吧?
27:58.949–28:00.691
These are actual like connections
這些實際上是像連線
28:00.691–28:02.133
and potentially MCP servers
以及潛在的 MCP 伺服器
28:02.133–28:03.995
and kind of like some other, you know,
以及類似其他一些,你知道,
28:03.995–28:06.698
it's a package that people are able to install and use.
它是一個人們能夠安裝和使用的套件。
28:06.698–28:09.969
But, skills are more of just like instructions.
但是,技能更像是僅限於指示。
28:09.969–28:11.850
So, there's an image gen skill.
所以,有一個影像生成技能。
28:11.850–28:13.950
There is a OpenAI doc skill.
這裡有一個 OpenAI 文件技能。
28:13.960–28:16.294
There's a GitHub review follow-up skill,
有一個 GitHub 審查後續技能,
28:16.294–28:17.295
a document skill.
一個文件技能。
28:17.295–28:20.798
And these are all basically just markdown file instructions
這些基本上都只是 Markdown 檔案的指令,
28:20.798–28:23.271
that tell Codex how to do something better.
告訴 Codex 如何更好地完成某項任務。
28:23.271–28:25.091
So, how to design a website better
例如,如何更好地設計網站,
28:25.091–28:27.497
or how to, you know, give you a morning brief.
或是如何,你知道的,為你提供晨間簡報。
28:27.497–28:30.455
And so, what we want to do is we want to turn this,
所以,我們想要做的是,我們想把這個,
28:30.455–28:32.882
exactly what we just did, into a skill.
剛才我們所做的,轉化為一個技能。
28:32.882–28:35.863
So, that anytime I say, "Hey, go give me more YouTube insights."
這樣,只要我說:「嘿,給我更多 YouTube 洞察。」
28:35.863–28:37.325
It knows what endpoints to hit,
它知道要連線哪些端點
28:37.325–28:38.619
it knows how to pull them in,
它知道如何將它們拉取進來,
28:38.619–28:40.307
it knows how to make the Excel sheet,
它知道如何建立 Excel 試算表,
28:40.307–28:41.544
it knows how to do all this.
它知道如何完成所有這些工作。
28:41.544–28:43.656
And the best way that I like to make skills is
而我最喜歡建立技能的最佳方式是,
28:43.656–28:46.588
I just basically brainstorm with with Codex to do something
我基本上只是與 Codex 進行腦力激盪,以完成某項任務,
28:46.588–28:48.348
and then after I get an output I like,
然後在我得到滿意的輸出後,
28:48.348–28:50.166
I say, "Okay, turn that into a skill."
我會說:「好的,把那個轉化為一個技能。」
28:50.166–28:52.454
So, this was the ultimate deliverable, right?
所以,這就是最終的交付成果,對吧?
28:52.454–28:55.641
So, what you just did is you helped me pull in data from my YouTube.
所以,你剛才所做的,是幫助我從我的 YouTube 拉取資料。
28:55.641–28:56.512
You got comments,
你取得了留言,
28:56.512–28:57.499
you ran an analysis,
你進行了分析,
28:57.499–29:00.169
and you created me an awesome Excel sheet deliverable.
並為我建立了一份很棒的 Excel 檔案交付成果。
29:00.169–29:02.113
I want you to turn that into a skill
我希望你將這項任務轉化為一項技能,
29:02.113–29:05.029
so that every time I say to grab my YouTube comments
這樣每次我說要抓取我的 YouTube 留言
29:05.029–29:06.556
and give me some insights,
並提供某些洞察時,
29:06.556–29:07.876
you do this exact flow,
你都會執行完全相同的流程,
29:07.876–29:09.889
and that makes it more consistent.
這會讓結果更加一致。
29:09.889–29:11.593
So, I'm going to shoot off that message,
所以,我現在要發送那則訊息,
29:11.593–29:14.021
and while it's doing that, just think about it like this.
而在它執行的同時,請這樣想。
29:14.021–29:15.861
If someone asked you to create or not create
如果有人要求你建立或不建立
29:15.861–29:18.365
If someone asked you to make them chocolate chip pancakes,
如果有人要求你為他們製作巧克力碎片鬆餅,
29:18.365–29:19.950
you're going to open up your cookbook
你會打開你的食譜書
29:19.950–29:20.870
or pull up your phone,
或拿起手機,
29:20.870–29:22.301
and you're going to read a recipe,
然後你會去讀食譜
29:22.301–29:23.640
and you're going to follow it to
並嚴格按照指示執行,
29:23.640–29:23.788
a T.
一點都不差。
29:23.788–29:25.165
You're going to follow the measurements,
你會嚴格按照份量來操作
29:25.165–29:25.756
the ingredients,
食材
29:25.756–29:26.464
and the temperature,
以及溫度
29:26.464–29:26.976
and the timing,
以及時間,
29:26.976–29:27.566
and temperature,
以及溫度,
29:27.566–29:28.078
and the timing,
以及時間,
29:28.078–29:28.560
and whatever.
還有其他各種細節。
29:28.560–29:31.318
And then next time someone asked you to make chocolate chip cookies
然後下次有人要求你製作巧克力碎片餅乾
29:31.318–29:31.859
or pancakes,
或鬆餅時,
29:31.859–29:33.337
you would just use that same recipe,
你就會直接使用那同一個食譜,
29:33.337–29:35.405
and they'd come out pretty much the exact same way.
做出來的成品也會幾乎完全一樣。
29:35.405–29:37.062
Because if you didn't use the recipe,
因為如果你沒有使用食譜,
29:37.062–29:38.292
you would just be guessing,
你就只是在猜測,
29:38.292–29:40.057
and you'd be you'd be sort of measuring,
你只會憑感覺去測量,
29:40.057–29:41.019
and you'd be feeling,
憑感覺去判斷,
29:41.019–29:42.623
and it just wouldn't be consistent.
結果就不會一致。
29:42.623–29:43.564
And the cool thing is,
而最棒的是,
29:43.564–29:45.133
now that you have this recipe to use,
現在你有了這個可以使用的食譜,
29:45.133–29:46.440
every time you use the recipe,
每次使用這個食譜時,
29:46.440–29:47.957
you might be able to make it better.
你或許能把它做得更好。
29:47.957–29:49.210
If one time you experiment,
如果有一次你做了實驗,
29:49.210–29:50.952
and you add some more chocolate chips,
多加了一些巧克力碎片,
29:50.952–29:51.878
you either like that
無論你喜不喜歡
29:51.878–29:52.477
or you don't,
或者不喜歡,
29:52.477–29:53.512
you update the recipe.
你就更新食譜。
29:53.512–29:56.820
Maybe one time you realize that you're actually leaving too much raw batter inside.
也許有一次你發現自己其實留下了太多未熟的生麵糊。
29:56.820–29:57.744
So, what do you do?
那麼,你會怎麼做?
29:57.744–30:03.609
You update the recipe to say, "Okay, you leave it on 4 minutes on each side rather than 3 and 1/2 minutes on each side."
你會更新食譜,寫道:「好的,每邊煎4分鐘,而不是每邊3分半鐘。」
30:03.609–30:09.240
You're able to, each time you use the recipe, have it be updated, and that is the power of building these skills.
每次使用食譜時,你都能讓它更新,這就是建立這些技能的強大之處。
30:09.240–30:13.914
And you can see that it's able to work backwards and reverse engineer a skill from our output.
你可以看到,它能逆向運作,從我們的輸出中反向工程出一項技能。
30:13.914–30:17.389
And what it does is it puts them in a file called the dot Codex,
它會將這些技能存入一個名為 .codex 的檔案中,
30:17.389–30:19.126
which kind of lives globally,
這個檔案在全球範圍內生效,
30:19.126–30:22.949
which means whenever you're working inside of any Codex project,
這意味著無論你在任何 Codex 專案中工作,
30:22.949–30:25.312
you're going to be able to use that skill.
你都能夠使用這項技能。
30:25.312–30:27.508
And all you have to do to call it is you'll do a slash command,
要呼叫它,你只需要輸入斜線指令,
30:27.508–30:28.897
and then you will just name the skill.
然後直接輸入技能名稱即可。
30:28.897–30:31.372
So, if you guys remember, down here we have all these other ones.
所以,如果大家還記得的話,這裡有所有其他技能。
30:31.372–30:34.848
I could do slash browser use slash image gen slash PDF,
我可以輸入 /browser、/image gen、/PDF,
30:34.848–30:37.551
and that's how I could be able to call them.
這就是呼叫它們的方式。
30:37.551–30:40.867
The other way you can call them is you can actually just have them be natural language.
另一種呼叫它們的方式是,你可以直接使用自然語言。
30:40.867–30:42.942
So, just to show you guys another example,
所以,為了向大家展示另一個範例,
30:42.942–30:44.246
if I go to my Herc 2 project,
如果我進入我的 Herc 2 專案,
30:44.246–30:46.617
and I know this is more optimized for cloud code,
我知道這更適合雲端代碼,
30:46.617–30:48.099
but we have a dot cloud folder,
但我們有一個 .cloud 資料夾,
30:48.099–30:48.880
which is local.
這是本機端的。
30:48.880–30:50.042
So, if I click into here,
所以,如果我點擊進入這裡,
30:50.042–30:51.901
I can see I have a folder called skills,
我會看到一個名為 skills 的資料夾,
30:51.901–30:53.818
and all of these are my different skills
這些都是我的不同技能,
30:53.818–30:55.677
that currently live inside of my AI OS.
目前運行在我的 AI OS 內部。
30:55.677–30:57.671
So, let's say here I have a morning coffee skill,
所以,假設這裡有一個「晨間咖啡」技能,
30:57.671–31:00.711
and I'm going to open this up real quick in my notepad just to show you guys.
我現在要快速在記事本裡打開它,給大家看看。
31:00.711–31:02.192
All this is is a markdown file.
這其實只是一個 Markdown 檔案。
31:02.192–31:03.519
We have the name of the skill,
我們有技能的名称,
31:03.519–31:04.680
we have the description.
我們有描述內容
31:04.680–31:09.128
So, here it says, "Use when someone asks for morning coffee to prep or plan their day."
所以,這裡寫著:「當有人要求準備晨間咖啡以規劃或準備他們的一天時使用。」
31:09.128–31:12.511
So, anytime in cloud code I say, "Hey, can you help me plan my day?"
所以,無論何時在 Cloud Code 中我說:「嘿,你能幫我規劃我的一天嗎?」
31:12.511–31:15.017
cloud code will grab this morning coffee skill,
Cloud Code 會抓取這個晨間咖啡技能,
31:15.017–31:15.456
read it,
讀取它,
31:15.456–31:16.521
and then execute it.
然後執行它。
31:16.521–31:18.186
And it says, "Okay, here's the context,
它會說:「好的,這是背景資訊,
31:18.186–31:19.548
here's the recurring meetings,
這是常態性會議,
31:19.548–31:20.607
here is the meeting prep,
這是會議準備,
31:20.607–31:22.322
here are these different reference IDs,
這些是不同的參考 ID,
31:22.322–31:23.836
here's everything you need to know,
這裡有你需要知道的一切,
31:23.836–31:24.441
and the order.
以及順序。
31:24.441–31:25.305
So, step one,
所以,第一步,
31:25.305–31:25.933
step two,
第二步,
31:25.933–31:26.719
step three.
第三步。
31:26.719–31:29.987
Here is what you do whenever Nate asks for a morning coffee skill."
當 Nate 要求建立「早安咖啡」技能時,你會這樣做:
31:29.987–31:32.186
So, that is all that is happening right here.
所以,這就是這裡正在發生的所有事情。
31:32.186–31:35.435
You can see it created this skill called YouTube comment insights,
你可以看到它建立了一個名為 YouTube 評論洞察的技能,
31:35.435–31:37.117
and it did this at the global level.
並且它是在全域層級執行的。
31:37.117–31:39.954
What I mean by that is this lives locally in our directory
我所說的全域層級是指,這存在於我們目錄的本地,
31:39.954–31:42.549
directory that sits across any Codex project ever.
這個目錄位於任何 Codex 專案之上。
31:42.549–31:45.717
So, if I open up this other project, I could use the skill,
所以,如果我開啟這個其他專案,我就可以使用這個技能,
31:45.717–31:48.009
or we could put it locally in our project,
或者我們可以將其本地化放在我們的專案中,
31:48.009–31:53.199
which would mean I could only use the skill in this specific YouTube analytics demo project.
這意味著我只能在這個特定的 YouTube 分析示範專案中使用該技能。
31:53.199–31:55.615
And all you have to do to change that differentiation is say,
而你要做的唯一改變這種差異的方法就是說,
31:55.615–31:58.562
"Hey, instead of putting that global, put that locally in this project."
「嘿,不要把它設為全域,而是把它本地化放在這個專案中。」
31:58.562–32:01.364
Or, instead of having that locally in this project, make that global.
或者,不要把它本地化放在這個專案中,而是將其設為全域。
32:01.364–32:06.040
So, now if I do a slash and I do YouTube comment insights, we have this right here.
所以,現在如果我輸入斜線並輸入 YouTube 評論洞察,我們就會看到這個:
32:06.040–32:10.670
YouTube comment insights analyze comments into an Excel report.
YouTube 評論洞察:將評論分析為 Excel 報告。
32:10.680–32:12.396
Which is the skill that we just built together,
這就是我們剛才一起建立的技能,
32:12.396–32:13.100
so that is awesome.
所以這真的很棒。
32:13.100–32:13.570
All right,
好的,
32:13.570–32:15.449
so before we move on to the next step of this,
所以在我們進入下一步之前,
32:15.449–32:17.067
I wanted to talk about pets real quick
我想快速談談寵物功能
32:17.067–32:20.199
just because I know you guys are dying to understand how you can get this.
只是因為我知道你們都很想知道如何取得這個功能。
32:20.199–32:20.932
It's really simple,
這真的很簡單,
32:20.932–32:21.795
you go to your settings,
你進入你的設定,
32:21.795–32:23.433
and then you're going to go to your appearance
然後前往你的外觀設定
32:23.433–32:24.425
and scroll all the way down,
並一直往下捲動,
32:24.425–32:25.805
and you can see right here we have pets.
你就可以在這裡看到寵物功能。
32:25.805–32:27.755
And we can choose between different ones.
我們可以從不同的寵物中進行選擇。
32:27.755–32:27.996
So,
所以,
32:27.996–32:30.567
right now I'm just using the Codex pet,
目前我只是使用 Codex 寵物,
32:30.567–32:32.255
but I could choose Dewey,
但我可以選擇 Dewey,
32:32.255–32:32.657
or CD,
或是 CD,
32:32.657–32:33.380
or Beasod,
或是 Beasod,
32:33.380–32:34.103
or Stacky.
或是 Stacky。
32:34.103–32:36.653
So, I'm just going to go ahead and switch this to Fireball for fun,
所以,我打算為了好玩切換成 Fireball,
32:36.653–32:38.069
and you can see down here it changes.
你可以在這裡看到它發生了變化。
32:38.069–32:40.286
And yes, it's kind of a fun little UI thing,
是的,這確實是個有趣的小 UI 功能,
32:40.286–32:44.214
but remember if I'm not inside of Codex and I'm in this dashboard over here,
但請記住,如果我不在 Codex 裡面,而是在這裡的儀表板上,
32:44.214–32:49.473
we can still see the pet and it will tell us when it's working on things and when it's done with things.
我們仍然可以看到寵物,它會告訴我們它正在處理什麼,以及何時完成。
32:49.473–32:51.578
So, it is a little bit practical as well.
所以,它也有一點實用性。
32:51.578–32:52.160
All right.
好的。
32:52.160–32:54.422
So, now we have a deliverable.
現在我們有了交付成果。
32:54.422–32:58.738
We have an Excel sheet and we're going to use that as the back end that basically powers this next section.
我們有一個 Excel 試算表,我們將用它作為後端,基本上驅動下一個部分。
32:58.738–33:03.726
So, I'm going to open up a new project because we're kind of starting a new goal, a new a new deliverable.
所以,我要開啟一個新專案,因為我們開始了一個新的目標、新的交付成果。
33:03.726–33:09.680
So, I want to open up a new chat and this will still be able to access everything that's in this folder.
所以,我想開啟一個新的聊天,這仍然可以存取這個資料夾中的所有內容。
33:09.680–33:11.562
So, I'm going to go ahead and switch over to plan mode here.
所以,我要切換到這裡的計畫模式。
33:11.562–33:13.209
Okay, so here's the idea I have.
好的,這就是我的想法。
33:13.209–33:19.189
You have access to a file inside of this project and what I'm going to do is actually reference the exact file.
你可以存取這個專案內的一個檔案,而我實際上要參考確切的檔案。
33:19.189–33:23.169
So, I'm going to look for the YouTube comment insights right here
所以,我要在這裡尋找 YouTube 評論洞察,
33:23.169–33:25.307
and I'm going to tag that right here
然後在這裡標記它,
33:25.307–33:27.160
and I'm going to tag that file.
並標記該檔案。
33:27.160–33:29.756
So, what I want you to do is create me a dashboard,
所以,我希望你做的是為我建立一個儀表板,
33:29.756–33:31.248
spin this up on a local host,
在本地主機上啟動它,
33:31.248–33:33.584
and I want it to have really nice UI elements
我希望它擁有非常漂亮的 UI 元素,
33:33.584–33:36.114
and, you know, charts and graphics and things,
以及圖表和圖形等內容,
33:36.114–33:37.347
so visualizing my data
以視覺化我的資料,
33:37.347–33:38.720
and I want to be able to see
我希望能夠看到
33:38.720–33:41.680
different insights about my YouTube different insights about my YouTube comments.
關於我的 YouTube 評論,獲取不同的洞察。
33:41.680–33:44.383
What I want you to do here is I want you to use GPT image 2
我希望你使用 GPT Image 2。
33:44.383–33:48.068
and create some really nice concepts of how this dashboard should look.
並為這個儀表板的呈現方式創建一些非常棒的概念設計。
33:48.068–33:51.851
And also, if you want to use it for maybe like a nice logo in the top
此外,如果你想在頂部使用它來製作一個漂亮的標誌。
33:51.851–33:53.707
or any of the other UI elements,
或是其他任何 UI 元素,
33:53.707–33:57.490
utilize GPT image 2 to make this thing just look really polished
請利用 GPT Image 2 讓這個專案看起來更加精緻。
33:57.490–33:58.775
and really aesthetic
並且非常具有美感。
33:58.775–34:00.631
and really fun at the same time.
同時還要充滿趣味。
34:00.631–34:02.520
So, that is the idea I have.
這就是我的構想。
34:02.520–34:04.094
I want you to help plan this out,
我希望你協助規劃這個專案,
34:04.094–34:06.152
ask me any questions you have about this,
針對此事向我提出任何疑問,
34:06.152–34:07.968
and then we'll go ahead and execute.
然後我們就繼續執行。
34:07.968–34:09.988
And so also, this default switch to extra high again,
接著,這個預設切換回「額外高」模式,
34:09.988–34:12.101
I'm just going to go ahead and switch that back to medium
我將直接把它切換回「中等」模式,
34:12.101–34:13.019
and then shoot that off.
然後發送請求。
34:13.019–34:16.021
And you can see down here the pet has started to think
你可以在這裡看到,Pet 已經開始思考,
34:16.021–34:17.766
and it's talking a little bit.
並且正在進行一些對話。
34:17.766–34:20.744
But, the reason why you want to be careful about which models you're using,
但是,為什麼你要謹慎選擇所使用的模型,
34:20.744–34:21.608
there's two reasons.
有兩個原因。
34:21.608–34:26.317
The first one is because sometimes if you chuck extra high at a task that's really simple,
第一個原因是,有時如果你對非常簡單的任務使用「額外高」模式,
34:26.317–34:27.600
like over engineers it.
像是過度設計它。
34:27.600–34:31.992
And the second piece is because each of these cost you different amounts of your tokens or your session.
第二個原因是因為這些模型會消耗你不同數量的 token 或你的 session。
34:31.992–34:33.318
Obviously, low cost the least
顯然,低成本的消耗最少
34:33.318–34:34.591
and extra high cost the most.
而高成本的消耗最多。
34:34.591–34:36.347
If you go over here to your settings
如果你點到這裡的設定
34:36.347–34:38.346
and you click on rate limits remaining,
並點擊剩餘的速率限制,
34:38.346–34:40.829
it shows you how much of your session you have left
它會顯示你還剩多少 session
34:40.829–34:41.859
and when it expires.
以及何時過期。
34:41.859–34:43.743
So, every 5 hours it resets
所以,每 5 小時它會重置
34:43.743–34:46.142
and right now I have 97% remaining
而現在我還有 97% 的剩餘額度
34:46.142–34:48.198
and then every week it resets
然後每週它會重置
34:48.198–34:51.120
and right now I have 99% remaining there.
而現在我在那裡還有 99% 的剩餘額度。
34:51.120–34:54.545
And so, it's really nice to be able to keep tabs on that right here,
所以,能夠在這裡隨時掌握這些狀況真的很不錯,
34:54.545–34:57.335
but that's why you want to be careful about, you know,
但這就是為什麼你要小心,你知道的,
34:57.335–34:59.048
your context window management
你的上下文視窗管理
34:59.048–34:59.999
and your planning
以及你的規劃
34:59.999–35:01.014
and your prompting
和你的提示詞
35:01.014–35:02.663
and your model usage down here.
還有你這裡的模型使用情況。
35:02.663–35:07.844
In general though, I have seen that my session is lasting way longer in Codex
不過總體來說,我發現我的 session 在 Codex 中持續的時間遠比
35:07.844–35:09.571
than it is in Claude Code.
在 Claude Code 中要長。
35:09.571–35:15.511
And a big part of that is because ChatGPT 5.5 is really, really efficient with tokens,
這其中很大一部分原因是,ChatGPT 5.5 在 token 使用上真的非常高效,
35:15.511–35:18.105
with output tokens and input tokens.
無論是輸出 token 還是輸入 token。
35:18.105–35:20.610
And if you guys go watch that video that I was talking about,
如果你們去觀看我之前提到的那個影片,
35:20.610–35:24.445
you will see that exact experiment and it's really interesting to understand and look at,
你會看到那個確切的實驗,理解並觀察它真的很有趣,
35:24.445–35:27.257
but I've generally found that it's really efficient with tokens.
但我通常發現它在 token 使用上真的非常高效。
35:27.257–35:28.625
Now, we have some feedback here.
現在,我們這裡有一些回饋。
35:28.625–35:34.400
It says, "Which visual direction should guide the GPT image two concepts and the final dashboard UI?"
它說:「應該由哪種視覺方向來引導 GPT 的圖片、兩個概念以及最終的儀表板 UI?」
35:34.400–35:37.270
Creator Ops, Playful Studio or Executive Clean.
創作者營運、趣味工作室或專業簡潔風格。
35:37.270–35:39.001
I'm just going to go with the recommendation.
我就直接採用這個建議
35:39.001–35:42.112
For this first version, how should the dashboard get its YouTube comment data?
對於這個第一版,儀表板該如何獲取 YouTube 留言資料?
35:42.112–35:46.340
I'm going to say to use the existing output, which was the um Excel file.
我會說使用現有的輸出,也就是那個 Excel 檔案。
35:46.340–35:49.356
And then what should the first screen prioritize most?
然後,第一個畫面應該優先處理什麼?
35:49.356–35:51.431
Reply and ideas, analytics overview.
回覆與想法、分析概覽。
35:51.431–35:54.257
I'm actually going to go with analytics overview for this one.
對於這一項,我實際上會選擇分析概覽。
35:54.257–35:54.911
And by the way,
順便一提,
35:54.911–35:55.784
if you're in the app
如果你在應用程式中
35:55.784–35:57.856
and you want to get rid of the pet really quick,
而如果你想快速移除寵物
35:57.856–35:59.055
you can just do {slash} pet
你只需要輸入 {slash} pet
35:59.055–36:00.691
and then that will just tuck it away.
然後它就會被隱藏起來。
36:00.691–36:01.042
Okay,
好的,
36:01.042–36:03.356
so it came up with a plan pretty quickly.
所以它很快就提出了一個計畫。
36:03.356–36:05.112
You can see here that I can expand this
你可以在這裡看到我可以展開這個
36:05.112–36:05.962
and read about it.
並閱讀相關內容。
36:05.962–36:06.116
So,
所以,
36:06.116–36:07.191
we've got like a summary,
我們有一個摘要,
36:07.191–36:08.164
we've got key changes,
我們有關鍵變更,
36:08.164–36:09.445
we've got all this other stuff
我們還有其他所有這些內容
36:09.445–36:11.801
and this is where we would once again iterate with Codex
而這就是我們會再次與 Codex 進行迭代的地方
36:11.801–36:14.004
before we say, "Yep, go ahead and build that for me."
在我們說「好的,繼續為我建構那個」之前。
36:14.004–36:15.960
But I'm just going to go ahead and say, "Yep, go
但我直接說「好的,繼續
36:15.960–36:17.125
ahead and build that for me."
為我建構那個」。
36:17.125–36:19.795
You can see that it's using the image generation for GPT image two,
你可以看到它正在使用 GPT image two 的圖像生成功能,
36:19.795–36:21.057
which is really, really solid.
這真的非常穩固。
36:21.057–36:24.280
And here is one of the kind of versions that it came up with.
這裡是它生成的一個版本
36:24.280–36:28.334
And I've just found if If using Codex to build games or websites or whatever it is,
我發現如果使用 Codex 來建構遊戲或網站或其他東西,
36:28.334–36:30.997
it just helps to give it the ability to test things out
這樣做能賦予它測試的功能
36:30.997–36:32.691
and generate some concepts first
並先產生一些概念
36:32.691–36:35.112
before it actually designs the rest of the site.
在它實際設計網站其餘部分之前,會很有幫助。
36:35.112–36:36.868
You can see this is the little logo that it came up with,
你可以看到這是它提出的一個小標誌,
36:36.868–36:37.571
which is kind of cool.
這還挺酷的
36:37.571–36:39.496
It's got like a YouTube play button
它看起來有個 YouTube 播放按鈕
36:39.496–36:40.360
with some noise
加上一些雜訊
36:40.360–36:41.953
and some comments coming in.
以及進來的評論。
36:41.953–36:43.040
And what it's going to do is
接下來它會做的是
36:43.040–36:46.102
it's going to store all of these assets locally somewhere in this project,
它會將這些資產全部儲存在這個專案中的某個本地位置,
36:46.102–36:49.066
so that later if we wanted to spin up different versions of the dashboard
以便之後如果我們想要啟動儀表板的不同版本
36:49.066–36:50.251
or a different landing page,
或不同的登陸頁面,
36:50.251–36:51.200
it would have access to
它就能夠存取
36:51.200–36:52.629
all of these assets already.
這些已經存在的資產。
36:52.629–36:53.978
And this is super cool, guys.
這真的太酷了,各位。
36:53.978–36:56.276
It has like this built-in verification loop
它內建了一個驗證迴圈
36:56.276–36:58.016
where it's going to check its work
它會在這裡檢查自己的工作成果
36:58.016–37:00.066
before it actually gives you an output,
真正輸出結果之前檢查自己的工作,
37:00.066–37:01.184
which is pretty cool.
這真的很酷
37:01.184–37:04.008
So, it said the automated browser verification passed.
所以,它表示自動化瀏覽器驗證已通過。
37:04.008–37:05.599
I'm now doing one visual pass
我現在正在進行一次視覺檢查
37:05.599–37:07.323
to see what else there might be,
看看還可能有什麼其他情況,
37:07.323–37:08.384
what other issues.
以及其他問題。
37:08.384–37:09.726
And it found three issues
當它進行實際的視覺掃描時,
37:09.726–37:11.515
when it did an actual visual scan.
它發現了三個問題。
37:11.515–37:12.772
So, now it's fixing those.
所以,現在它正在修復這些問題。
37:12.772–37:14.341
It says, "Okay, those UI fixes are in.
它說:「好的,那些 UI 修復已經完成了。
37:14.341–37:15.600
I'm going to stop the server.
我將停止伺服器。
37:15.600–37:16.457
I'm going to rebuild,
我將重新建構,
37:16.457–37:18.981
and then I'm going to verify it one more time with screenshots."
然後我會再用截圖驗證一次
37:18.981–37:20.219
And then it comes back and says,
然後它回來並說:
37:20.219–37:22.172
"Okay, the second visual pass looks a lot better.
「好的,第二次視覺檢查看起來好多了。
37:22.172–37:25.090
Here is your dashboard to actually go ahead and test out."
這是您的儀表板,您可以繼續進行測試。」
37:25.090–37:28.798
So, let's just real quick open this up right here locally in the explorer.
所以,讓我們就在這裡的資源管理器中快速打開它。
37:28.798–37:30.805
And now we have our creator ops signal desk.
現在我們有了我們的創作者運營信號檯。
37:30.805–37:32.635
So, I'm going to expand this a little bit.
所以,我會稍微擴展它。
37:32.635–37:34.895
We see the logo up here that it made.
我們看到這裡顯示它製作的標誌。
37:34.895–37:36.796
We see 83% creator replies,
我們看到創作者回覆率為 83%,
37:36.796–37:37.870
78 total likes.
總共有 78 個讚。
37:37.870–37:40.041
We can switch between overview,
我們可以在總覽、
37:40.041–37:40.685
replies,
回覆、
37:40.685–37:41.167
ideas,
想法、
37:41.167–37:41.972
questions,
問題、
37:41.972–37:43.178
and the explorer.
和資源管理器之間切換。
37:43.178–37:44.317
And this is really cool.
這真的很酷。
37:44.317–37:46.284
It looks like every single comment has a link.
看起來每個留言都附帶了一個連結。
37:46.284–37:47.452
So, if I click on this,
所以,如果我點擊這裡,
37:47.452–37:48.751
does it actually take us
它真的會帶我們
37:48.751–37:49.280
Okay, no.
好的,不行。
37:49.280–37:51.820
It didn't actually sync up every single comment to a link.
它並沒有真的將每個留言同步對應到一個連結。
37:51.820–37:53.254
But it's cool that it showed us that
但顯示這個資訊很酷,
37:53.254–37:54.886
because that gave us a nice idea of like,
因為這給了我們一個很好的概念,
37:54.886–37:55.430
"Okay, cool.
「好的,很酷。
37:55.430–37:56.675
I do actually want a link."
我確實想要一個連結。」
37:56.675–37:59.729
Now, you can actually go ahead and work that into the back end code
現在,你可以繼續將這個功能整合到後端程式碼中,
37:59.729–38:02.558
where every single comment should be associated with a link
讓每個留言都應該與一個連結關聯,
38:02.558–38:04.538
so that I could open it up and respond to it.
這樣我就可以打開它並回覆。
38:04.538–38:06.281
Or we could take it one step further
或者我們可以再進一步,
38:06.281–38:06.701
and say,
說,
38:06.701–38:10.848
"Okay, what would it look like for me to be able to respond right in this dashboard?"
「好的,如果我能夠在這個儀表板上直接回覆,會是什麼樣子呢?」
38:10.848–38:14.934
And you actually fire off that API call to YouTube to respond on the right comment.
你實際上可以發送那個 API 呼叫到 YouTube,以回覆正確的留言。
38:14.934–38:16.405
Because that is 100% doable.
因為這絕對是可以做到的。
38:16.405–38:19.227
You guys have seen how I've automated my comment section a little bit.
你們已經看過我是如何稍微自動化我的留言區了。
38:19.227–38:19.805
Anyways, let's
總之,讓我們
38:19.805–38:21.051
Let's take a look at the overview.
讓我們來看看概覽。
38:21.051–38:23.216
We can see we have this really nice chart.
我們可以看到這個非常漂亮的圖表。
38:23.216–38:24.957
We have some AI insights over here
這裡有一些 AI 洞察
38:24.957–38:26.822
where I can click on work reply queue
我可以點擊「工作回覆佇列」
38:26.822–38:28.563
and that goes over to the replies.
然後就會進入回覆頁面。
38:28.563–38:30.491
I could also click on more content ideas
我也可以點擊「更多內容創意」
38:30.491–38:31.952
and that takes us to the ideas.
然後就會帶我們到創意頁面。
38:31.952–38:33.678
We can look at top tool mentions,
我們可以查看工具提及次數最多的內容、
38:33.678–38:34.574
reply priority,
回覆優先順序、
38:34.574–38:35.405
common themes.
常見主題。
38:35.405–38:37.752
We can also see the videos that are driving comments
我們也可以看到驅動留言的影片
38:37.752–38:40.535
and this would obviously grow as we pull in more and more data.
隨著我們匯入更多資料,這部分顯然會增長。
38:40.535–38:42.637
So let's say at this point we like this output
所以假設到目前為止我們喜歡這個輸出結果
38:42.637–38:44.285
and we want to actually deploy this
並且我們想要實際部署這個系統
38:44.285–38:47.760
because what you'll notice is this says that it's running on a localhost.
因為你會注意到這裡顯示它正在本機端(localhost)上運行。
38:47.760–38:49.342
So if I copy this link right here
所以如果我複製這裡的連結
38:49.342–38:50.194
and I go to Chrome
然後打開 Chrome
38:50.194–38:51.167
and I paste that in,
並貼上該連結,
38:51.167–38:53.601
it's going to pull up exactly what we saw, right?
它就會顯示出我們剛才看到的一模一樣的內容,對吧?
38:53.601–38:54.429
And it works
它運作正常
38:54.429–38:55.680
and it looks fine.
而且看起來也沒問題。
38:55.680–38:57.444
But if I gave you this localhost
但如果我給你這個 localhost
38:57.444–39:00.294
and you copy and pasted that into your own browser,
而你把它複製貼上到你自己的瀏覽器裡,
39:00.294–39:01.515
you would get nothing
你什麼也看不到
39:01.515–39:03.144
because this lives locally.
因為它只存在於本地。
39:03.144–39:06.041
It's being served on a server from our codebase.
它是從我們的程式碼庫中的伺服器提供服務的。
39:06.041–39:08.284
So what I'm going to show you how to do now
所以接下來我要展示給你看的是
39:08.284–39:11.546
is how do you actually get this from a localhost to the web?
你如何實際將這個從 localhost 部署到網路上?
39:11.546–39:12.518
And what we're going to do
而我們要做的是
39:12.518–39:13.722
is we're going to use two tools.
我們將使用兩個工具。
39:13.722–39:16.000
We're going to use The first tool is called GitHub
我們將使用第一個工具,叫做 GitHub
39:16.000–39:17.723
and the second tool is called Vercel.
第二個工具叫做 Vercel。
39:17.723–39:19.004
So the first thing you're going to do
所以你要做的第一件事
39:19.004–39:20.156
is you're going to type in GitHub
就是輸入 GitHub
39:20.156–39:21.266
and you're going to go over here
然後你到這裡來
39:21.266–39:22.504
and you're going to make a profile.
建立一個個人檔案。
39:22.504–39:23.838
It's completely free to set up,
設定完全免費,
39:23.838–39:25.634
pretty much completely free to maintain.
維護也幾乎完全免費。
39:25.634–39:27.320
Once you've created your GitHub,
一旦你建立了 GitHub,
39:27.320–39:29.367
all you have to do is connect this to Codex
你所要做的就是將這個與 Codex 連接
39:29.367–39:33.039
and we're going to have Codex help us set up something called a repository
我們將讓 Codex 幫助我們設定一個叫做儲存庫(repository)的東西
39:33.039–39:36.240
which is basically just a collection of your files and folders.
基本上就是您檔案和資料夾的集合。
39:36.240–39:38.455
Remember how if we open up my file explorer
記得我們打開檔案總管時
39:38.455–39:40.606
and we look inside of our YouTube comment
查看我們的 YouTube 評論
39:40.606–39:42.821
or sorry, YouTube analytics demo folder,
或者說,YouTube 分析示範資料夾,
39:42.821–39:45.163
all of these files and folders are important
這些檔案和資料夾都很重要
39:45.163–39:48.074
and all we have to do is get these off of our local machine
我們只需要將這些從本機電腦
39:48.074–39:48.400
or not
或者說不是
39:48.400–39:50.320
off, they'll still live here locally.
移出,它們仍會保留在本機。
39:50.320–39:52.710
But we're going to get them into some sort of repository
但我們會將它們放入某種儲存庫
39:52.710–39:54.113
where I can access them publicly
讓我可以公開存取它們
39:54.113–39:56.243
or if you wanted to share these with other people,
或者如果您想與其他人分享這些內容,
39:56.243–39:57.594
they could access them as well.
他們也可以存取它們。
39:57.594–39:59.473
So it's kind of like having a Word doc locally
所以這有點像是在本機上擁有 Word 文件
39:59.473–40:02.368
but instead you're putting it on into Microsoft's cloud on OneDrive
但相反地,您將其上傳至 Microsoft 雲端上的 OneDrive
40:02.368–40:03.333
or something like that
或類似的地方
40:03.333–40:04.602
so that other people can use it
以便其他人可以使用它
40:04.602–40:06.532
and you could use it from a different machine.
您也可以從不同的機器上使用它。
40:06.532–40:07.771
So that's the first step.
所以這是第一步。
40:07.771–40:09.425
So let's go back into Codex
所以讓我們回到 Codex
40:09.425–40:13.561
and what do you do when you don't exactly know how something works?
當您不完全了解某事如何運作時,該怎麼辦?
40:13.561–40:14.320
You just ask.
你只需要詢問。
40:14.320–40:15.039
know how something works?
知道某事是如何運作的?
40:15.039–40:15.412
You just ask.
你只需要詢問。
40:15.412–40:16.493
So this looks really good.
這看起來真的很好。
40:16.493–40:17.552
What I want to do is
我想要做的是
40:17.552–40:19.175
I want to sync this code base
我想要同步這個程式碼庫
40:19.175–40:20.869
for this specific dashboard
針對這個特定的儀表板
40:20.869–40:22.280
to a GitHub repository.
到 GitHub 儲存庫。
40:22.280–40:24.105
So, help me get that signed up.
所以,幫我註冊這個。
40:24.105–40:26.177
Help me get connected here to GitHub,
幫我在此處連線到 GitHub,
40:26.177–40:29.052
and then I want you to help me create that actual repo
然後我想要你幫我建立那個實際的儲存庫
40:29.052–40:31.057
and push everything into that repo.
並將所有內容推送到該儲存庫。
40:31.057–40:32.924
And it even mentioned that right here.
這裡甚至提到了這一點。
40:32.924–40:34.954
Note, this folder is not currently a Git repo,
注意,這個資料夾目前不是 Git 儲存庫,
40:34.954–40:36.877
so there is no diff and status to summarize.
因此沒有差異和狀態可供摘要。
40:36.877–40:38.755
So, I'm going to shoot off that message,
所以,我將發送該訊息,
40:38.755–40:41.372
and now it's going to help us actually sync up to GitHub.
現在它將幫助我們實際同步到 GitHub。
40:41.372–40:43.683
Now, there is a difference between Git and GitHub.
現在,Git 和 GitHub 之間存在差異。
40:43.683–40:47.031
Really the same thing of version control and all this stuff,
本質上都是關於版本控制等這些東西,
40:47.031–40:47.901
but Git is local
但 Git 是本地的
40:47.901–40:49.374
and GitHub is on the cloud.
GitHub 則是在雲端上。
40:49.374–40:51.449
And what's important here is that it says,
這裡重要的是它提到,
40:51.449–40:54.590
"I'll avoid committing secrets, especially the .env.local."
「我會避免提交機密資訊,特別是 .env.local。」
40:54.590–40:57.850
And so, that's why I told you to always paste your keys in that .env,
所以這就是我告訴你要把金鑰貼到那個 .env 檔案裡的原因,
40:57.850–40:59.925
not into some random file called secrets.
而不是放到某個叫做 secrets 的隨機檔案中。
40:59.925–41:01.306
It has to be in the .env
它必須在 .env 裡
41:01.306–41:03.839
because that dot in front of the word env
因為 env 這個字前面的那個點
41:03.839–41:07.830
basically tells Codex or Cloud Code or whatever you're using,
基本上是在告訴 Codex 或 Cloud Code 或你使用的任何工具,
41:07.830–41:11.821
it tells it to exclude this from any, you know, public commits.
它會指示該工具將此內容排除在任何公開提交之外。
41:11.821–41:14.102
So, this point I've already set up the GitHub CLI.
所以,關於這一點,我已經設定好 GitHub CLI。
41:14.102–41:15.311
If you haven't, it would just say,
如果你還沒設定,它只會說,
41:15.311–41:16.477
"Hey, do you want to set this up?"
「嘿,你想設定這個嗎?」
41:16.477–41:17.772
And you'll say, "Yes." Very simple.
然後你會說「是」。非常簡單。
41:17.772–41:19.425
And then you'll authenticate,
接著你會進行驗證,
41:19.425–41:22.223
which means it'll basically just pop up a browser tab
這意味著它基本上只會彈出一個瀏覽器分頁
41:22.223–41:25.465
and you'll sign in with the account you used to create GitHub,
然後你用建立 GitHub 時使用的帳號登入,
41:25.465–41:28.400
and then boom, you will be connected to GitHub in Codex.
然後砰!你就會連接到 Codex 裡的 GitHub。
41:28.400–41:29.455
And while this is syncing up,
而當這個正在同步時,
41:29.455–41:31.345
let me show you guys the next tool we're going to use.
讓我向大家展示我們接下來要使用的下一個工具。
41:31.345–41:33.221
This one is called Vercel.
這個工具叫做 Vercel。
41:33.221–41:35.320
Now, Vercel has a pretty generous free tier.
現在,Vercel 提供相當慷慨的免費方案。
41:35.320–41:36.713
You can see I've got a few products on here.
你可以看到我這裡有一些產品。
41:36.713–41:41.049
You're going to be able to get working on Vercel for free just to get started.
為了起步,你將能夠免費在 Vercel 上開始操作。
41:41.049–41:44.281
And what Vercel does is it basically takes that code,
而 Vercel 所做的,基本上就是將那些程式碼,
41:44.281–41:46.705
it takes, you know, this exact website,
它會取得,你知道,這個確切的網站,
41:46.705–41:49.496
which is on the back end, all this is it's code,
這在後端,所有這些都是程式碼,
41:49.496–41:52.434
and it takes this and it serves it on a actual URL,
然後它會將這些內容部署到一個實際的 URL,
41:52.434–41:55.078
on an actual domain that anyone can access.
在一個任何人都可以存取的實際網域上。
41:55.078–41:59.880
And what's really cool about this is Vercel and GitHub have a really nice partnership.
而這項功能真正酷的地方在於,Vercel 和 GitHub 之間有著非常好的合作關係。
41:59.880–42:01.534
They actually like talk to each other.
它們實際上會互相溝通。
42:01.534–42:03.868
So, anytime I make a change to our GitHub repo,
所以,每當我對我們的 GitHub 儲存庫進行更改時,
42:03.868–42:06.510
Vercel automatically picks that up and deploys it.
Vercel 就會自動偵測並部署它。
42:06.510–42:08.342
So, I know there's three tools here,
所以,我知道這裡有三個工具,
42:08.342–42:09.747
Codex, GitHub, and Vercel,
Codex、GitHub 和 Vercel,
42:09.747–42:12.434
but that doesn't mean we have to manage three places.
但這並不意味著我們必須管理三個地方。
42:12.434–42:14.374
All we have to do is manage Codex.
我們只需要管理 Codex。
42:14.374–42:17.168
So it said that it's created a private repo for us.
所以它說它為我們建立了一個私人儲存庫。
42:17.168–42:17.812
If I open this up,
如果我打開這個,
42:17.812–42:19.053
I don't want to open this up here.
我不想在這裡打開它。
42:19.053–42:20.671
And the reason why it doesn't show up here
而它沒有顯示在這裡的原因是
42:20.671–42:21.955
is because this is a private repo
是因為這是一個私有倉庫
42:21.955–42:23.573
and over here I'm not signed in to GitHub.
而這裡我沒有登入 GitHub。
42:23.573–42:25.459
So if I open this up in a browser
所以如果我在瀏覽器中打開它
42:25.459–42:27.346
where I am signed in to GitHub,
而我已登入 GitHub,
42:27.346–42:29.534
we can see YouTube Analytics Demo.
我們可以看到 YouTube Analytics Demo。
42:29.534–42:30.667
This is a private repo
這是一個私有倉庫
42:30.667–42:33.751
and what's in here is all of the different folders and files
這裡面包含了所有不同的資料夾和檔案
42:33.751–42:36.646
that we've actually created to spin up this dashboard.
這些是我們實際建立用來啟動這個儀表板的內容。
42:36.646–42:38.211
And now what's really cool is
現在真正酷的是
42:38.211–42:39.189
if I go into Vercel
如果我進入 Vercel
42:39.189–42:41.472
and I go ahead and click on add new project,
並繼續點擊新增專案,
42:41.472–42:42.972
I can connect this to GitHub
我可以將它連接到 GitHub
42:42.972–42:44.537
and it already is connected.
而且它已經連接好了。
42:44.537–42:45.929
So you would then just sign in
所以你只需要登入
42:45.929–42:48.074
and you would connect your Vercel to GitHub.
並將你的 Vercel 連接到 GitHub。
42:48.074–42:50.432
And now you can import any of your repos.
現在你可以匯入任何你的倉庫。
42:50.432–42:53.720
So right here you can see YouTube Analytics Demo 1 minute ago.
所以在這裡你可以看到 YouTube Analytics Demo,一分鐘前。
42:53.720–42:55.111
I'm going to click on import.
我將點擊匯入。
42:55.111–42:56.370
And that's literally that simple.
實際上就是這麼簡單。
42:56.370–42:57.921
I'm going to click on deploy
我將點擊部署
42:57.921–42:59.473
and then in maybe 30 seconds
然後大約在 30 秒後
42:59.473–43:02.103
we will have our YouTube Analytics Dashboard,
我們就會擁有我們的 YouTube Analytics 儀表板
43:02.103–43:03.924
but we'll have it up on a live URL.
但我們會透過一個實際的 URL 來呈現它
43:03.924–43:04.416
Awesome.
太棒了
43:04.416–43:05.724
So it says congratulations,
所以它顯示恭喜
43:05.724–43:07.142
you have deployed a new project
您已部署了一個新專案
43:07.142–43:09.486
and I'm going to go ahead and continue to dashboard.
接著我會繼續前往儀表板
43:09.486–43:12.347
And this gives us a youtube-analytics-demo.vercel.app
這為我們提供了 youtube-analytics-demo.vercel.app
43:12.347–43:14.800
a youtube-analytics-demo.vercel.app domain.
一個 youtube-analytics-demo.vercel.app 網域
43:14.800–43:17.107
And if you wanted to switch this off to your own domain,
如果您想將其切換為自己的網域
43:17.107–43:18.040
you certainly could.
您當然可以
43:18.040–43:21.100
You would just basically have to move the DNS records over here.
您基本上只需將 DNS 記錄移至這裡
43:21.100–43:22.333
But I'm going to click on this
但我將點擊這裡
43:22.333–43:25.519
so you guys can see that this is the exact same thing we were just looking at.
讓你們看到這正是我們剛才所查看的內容
43:25.519–43:26.108
Our replies,
我們的回覆
43:26.108–43:26.589
our ideas,
我們的想法
43:26.589–43:27.285
our questions,
我們的問題
43:27.285–43:27.927
our explorer,
我們的探索器
43:27.927–43:29.212
everything here is the same.
這裡的一切都是相同的
43:29.212–43:30.578
Except for now I could take this URL
只是現在我可以複製這個 URL
43:30.578–43:31.850
and I could open it up on my phone.
我可以在手機上打開它。
43:31.850–43:33.279
Or I could open it up on my laptop.
或者我可以在筆記型電腦上打開它。
43:33.279–43:34.522
Or you guys could open it up.
或者你們可以打開它。
43:34.522–43:35.232
And like I said,
就像我說過的,
43:35.232–43:36.380
what's cool about that is
這很酷的地方在於
43:36.380–43:38.347
we basically are able to then test in Codex.
我們基本上能夠在 Codex 中進行測試。
43:38.347–43:39.775
We can iterate right here.
我們可以在這裡進行迭代。
43:39.775–43:40.957
We can make changes.
我們可以進行修改。
43:40.957–43:42.057
But just because we make changes
但只是因為我們進行了修改
43:42.057–43:43.727
doesn't mean that it's actually going to go live.
並不意味著它實際上會上線。
43:43.727–43:48.079
So if I said, "Hey, I want you to change the entire background instead of blue to be red."
所以如果我說:「嘿,我想讓你把整個背景從藍色改成紅色。」
43:48.079–43:49.600
And it would say, "Okay, cool.
它會說:「好的,很棒。
43:49.600–43:50.488
Here's the red background.
這是紅色背景。
43:50.488–43:53.075
Here's the localhost to test it out on."
這是用於測試的本機位址。」
43:53.075–43:57.240
And if we like it, we say, "Okay, push those changes to our repo."
如果我們喜歡它,我們會說:「好的,將這些更改推送到我們的儲存庫。」
43:57.240–44:01.475
And then as soon as we push those changes, Vercel would automatically deploy those onto the real URL.
然後一旦我們推送這些更改,Vercel 就會自動將它們部署到實際的網址上。
44:01.475–44:02.633
But if we said, "You know what?
但如果我們說:「你知道嗎?
44:02.633–44:03.300
I don't like that.
我不喜歡那個。
44:03.300–44:04.344
Just keep it as is."
就保持原樣吧。」
44:04.344–44:07.019
then our main production site never got touched.
那麼我們的主要生產網站就完全沒有被觸動。
44:07.019–44:11.175
And that's how we keep a clean separation to test and to have something in production.
這就是我們如何保持測試與生產環境的清晰分離。
44:11.175–44:12.415
Okay, awesome.
好的,太棒了。
44:12.415–44:14.092
So, what do we have now?
那麼,我們現在有什麼呢?
44:14.092–44:15.311
We have a working project,
我們擁有一個運作中的專案,
44:15.311–44:16.696
and I'm opening up this folder
我現在打開這個資料夾
44:16.696–44:18.746
just to show you how much we've actually done
只是想展示我們實際上完成了多少工作
44:18.746–44:19.300
in the past,
在過去,
44:19.300–44:19.909
I don't know,
我不確定,
44:19.909–44:21.128
30 to 40 minutes together.
大約花了 30 到 40 分鐘。
44:21.128–44:23.474
And we've set up a bunch of different stuff.
我們設置了許多不同的東西。
44:23.474–44:25.499
Now, what do I want to talk about next
接下來我想談論的是
44:25.499–44:26.444
is automations.
是自動化功能
44:26.444–44:27.367
So, already over here
所以,在這一側
44:27.367–44:29.110
you can see this tab called automations.
你可以看到一個名為自動化的標籤頁。
44:29.120–44:31.314
Automate work by setting up scheduled chats.
透過設定排程聊天來自動化工作。
44:31.314–44:33.576
You can set up things like a status report,
你可以設定像是狀態報告,
44:33.576–44:34.352
release prep.
發布準備等事項。
44:34.352–44:35.982
There's bunch of different things here
這裡有許多不同的選項
44:35.982–44:37.612
that give you sort of some inspiration.
可以給你一些靈感。
44:37.612–44:38.951
But, what's really cool is
但真正酷的是
44:38.951–44:40.472
you can turn all of your skills
你可以將所有技能
44:40.472–44:42.298
or any of your repeatable workflows
或任何可重複的工作流程
44:42.298–44:43.272
into an automation
轉化為自動化
44:43.272–44:44.246
that Codex will run
讓 Codex 執行
44:44.246–44:45.960
without needing your oversight.
而無需你的監督。
44:45.960–44:47.281
So, I'm going to open up a new chat
所以,我將開啟一個新的對話
44:47.281–44:48.896
in our YouTube Analytics Demo project,
在我們的 YouTube 分析示範專案中,
44:48.896–44:49.875
and I'm going to go ahead
接著我將繼續
44:49.875–44:51.245
and start chatting to Codex here.
在這裡開始與 Codex 對話。
44:51.245–44:53.793
Okay, so we've just done a lot of stuff together.
好的,我們剛才一起做了很多事情。
44:53.793–44:57.617
We built a skill that grabs YouTube comments from my YouTube,
我們建立了一個技能,從我的 YouTube 抓取留言,
44:57.617–45:01.600
and it puts them into an Excel sheet after it does some analysis.
並在進行一些分析後將其放入 Excel 檔案中。
45:01.600–45:03.098
And that's coming out really nice.
結果看起來非常不錯。
45:03.098–45:07.344
And then we built a dashboard served on then we built a dashboard served on Vercel
然後我們建立了一個在 Vercel 上運行的儀表板
45:07.344–45:12.360
that actually displays visually all of those analytics and statistics from that Excel sheet.
該儀表板實際上視覺化顯示了來自該 Excel 檔案的所有分析與統計數據。
45:12.360–45:16.869
Now, what I want to do is I want to set up an automation that just refreshes this every week.
現在,我想做的是設定一個自動化流程,每週自動重新整理這個內容。
45:16.869–45:19.824
So, let's just say every Sunday at 5:00 p.m.,
所以,讓我們假設每個週日下午五點,
45:19.824–45:23.498
I want you to run the YouTube comments analytics skill.
我希望你執行 YouTube 留言分析技能。
45:23.498–45:28.130
And then what I want you to do with that is update that data on that Excel sheet,
然後,我希望你利用這個結果更新該 Excel 檔案中的數據,
45:28.130–45:29.578
you know, add more rows,
你知道的,新增更多資料列,
45:29.578–45:31.025
update the statistics,
更新統計數據,
45:31.025–45:34.210
and that will automatically sync to the GitHub repo.
這將自動同步到 GitHub 儲存庫。
45:34.210–45:35.797
So, after you make those changes,
所以,在你做出這些變更之後,
45:35.797–45:38.971
you'll have to also reflect those changes onto the actual code base
你也必須將這些變更反映到實際存放儀表板的程式碼庫中,
45:38.971–45:40.274
where the dashboard lives,
然後將這些變更推送到 GitHub,
45:40.274–45:42.371
and then you'll push those changes to GitHub
以便它們能自動反映在 Vercel 上。
45:42.371–45:44.865
so that they automatically get reflected in Vercel.
這樣它們就會自動反映在 Vercel 上
45:44.865–45:46.769
So, a lot of moving pieces here,
但基本上從高層面來看,
45:46.769–45:48.454
but basically high-level,
你需要獲取更多留言,
45:48.454–45:50.285
you need to get more comments,
重新進行分析,
45:50.285–45:51.457
redo the analysis,
將資料更新到 Excel 中,
45:51.457–45:53.216
refresh the data into Excel,
這樣我就能每週收到關於我的 YouTube 留言回覆狀況的報告。
45:53.216–45:56.072
and that way I'm always getting a weekly report
好的,所以老實說,感覺這個提示有點凌亂,
45:56.072–45:59.222
of what's going on with my YouTube comment replies.
但 Codex 應該能夠很好地處理它,
45:59.222–46:01.993
Okay, so honestly felt like a little bit of a messy prompt,
好吧,老實說,這個提示感覺有點雜亂
46:01.993–46:03.840
but Codex should be able to do a good job
並確保它能夠按照我們希望的方式為我們設定這項自動化。
46:03.840–46:05.398
of asking us any questions it has
現在,我想請各位思考的一件事是,
46:05.398–46:08.804
and making sure that it's able to actually set up this automation for us
並確保它能夠為我們實際設定這項自動化流程
46:08.804–46:09.680
the way we want it.
我們希望它呈現的方式
46:09.680–46:12.114
Now, something I want you guys to think about here
現在,我想請大家思考一件事
46:12.114–46:16.093
is the way that I approach building AI automations and skills and stuff like this
是我建構 AI 自動化、技能等類似事物的方法
46:16.093–46:18.052
is remember when we talked about skills
請記得我們之前談過技能
46:18.052–46:19.596
and I said every time you use it,
我說過每次使用它
46:19.596–46:20.783
it's going to get better
它都會變得更好
46:20.783–46:22.040
cuz you can get feedback?
因為你可以獲得回饋嗎?
46:22.040–46:24.391
You should honestly think of these automations in a similar way.
你應該誠懇地以類似的方式看待這些自動化。
46:24.391–46:27.035
You should think about it like you're teaching a kid to ride a bike.
你應該把它想像成在教小孩騎腳踏車。
46:27.035–46:28.796
You're not going to just chuck a kid on a bike
你不會只是把小孩丟上腳踏車
46:28.796–46:29.970
and say, "Okay, go have fun."
然後說:「好了,去開心騎吧。」
46:29.970–46:31.926
You're going to start off by holding the handles
你會先握住把手
46:31.926–46:33.149
and walking alongside the kid
並陪著小孩一起走
46:33.149–46:35.448
and saying, "Okay, you're leaning too much to the right.
同時說:「好了,你向右傾斜太多了。
46:35.448–46:36.565
You need to lean more to the left
你需要向左傾斜更多
46:36.565–46:37.769
and you need to center your weight
並且你需要將重心放正
46:37.769–46:39.230
and you need to make sure you're pedaling
你需要確保自己在踩踏板
46:39.230–46:40.219
and you need to do all this."
並且你需要做所有這些事情。」
46:40.219–46:42.110
And slowly over time you'll start getting more trust
隨著時間慢慢推移,你會開始建立更多信任
46:42.110–46:43.280
and you'll take your hand off the
然後你會把手從
46:43.280–46:43.758
handlebars
把手上拿開
46:43.758–46:45.863
and you'll start to walk a little bit farther behind.
然後你會開始在後面走遠一點。
46:45.863–46:48.662
And eventually maybe you'll take off the training wheels and stuff like that.
最終也許你會拆掉輔助輪之類的東西。
46:48.662–46:49.817
The point I'm making here
我想強調的重點是
46:49.817–46:53.228
is don't expect your automations or skills to be perfect on the first shot.
不要期望你的自動化或技能在第一次嘗試時就完美無缺。
46:53.228–46:54.375
That's just unrealistic.
那是不切實際的。
46:54.375–46:56.214
You should be expecting them to get better
你應該期待它們會變得更好
46:56.214–46:57.108
the more you use them
隨著你使用它們次數的增加
46:57.108–46:59.262
because every time you use them you get more data.
因為每次使用它們你都會獲得更多數據。
46:59.262–47:00.939
But look how quickly it set that up.
但看看它設定得有多快。
47:00.939–47:02.520
It set up a weekly automation.
它設定了一個每週自動化任務。
47:02.520–47:04.219
It'll run every Sunday at 5:00 p.m.
它會在每個週日下午 5 點執行。
47:04.219–47:06.798
and it will just basically run inside of this project
它基本上會在這個專案內部執行
47:06.798–47:09.493
and it will run the YouTube comment insights workflow.
並執行 YouTube 留言洞察工作流程。
47:09.493–47:11.324
It will regenerate the Excel workbook.
它會重新生成 Excel 工作簿。
47:11.324–47:13.575
It will preserve and merge comment rows.
它會保留並合併留言資料列。
47:13.575–47:14.921
It will refresh the workbook.
它會重新整理工作簿。
47:14.921–47:16.599
It will verify the dashboard
它會驗證儀表板
47:16.599–47:19.396
and it will commit only those changes to our repo
並將這些變更僅提交到我們的儲存庫
47:19.396–47:21.563
and it will push it to the right branch
並將其推送到正確的分支
47:21.563–47:24.160
so that Vercel actually deploys all of that.
以便 Vercel 實際上部署所有這些內容。
47:24.160–47:25.934
And what you want to do is you come into the automations.
而你想做的是進入自動化設定。
47:25.934–47:27.523
You can see that we have this one
你可以看到我們有這個
47:27.523–47:28.929
which is Sunday at 5:00 p.m.
也就是週日下午五點
47:28.929–47:31.183
We can click into it to see the actual prompt
我們可以點擊進入查看實際的提示詞
47:31.183–47:32.685
that it will submit to Codex.
它將提交給 Codex 的內容
47:32.685–47:34.501
We could add some stuff here if we wanted,
如果我們想的話,可以在這裡添加一些內容
47:34.501–47:35.409
but we don't want to.
但我們不想這麼做
47:35.409–47:37.769
This will get injected into a new Codex chat
這將被注入到專案內新的 Codex 對話中
47:37.769–47:39.014
inside of our project.
在我們的專案內部
47:39.014–47:40.160
So, just as a test,
所以,作為一個測試
47:40.160–47:41.458
if I click on run now,
如果我點擊立即執行
47:41.458–47:44.600
you can see that this starts a new chat right here.
你可以看到這會在此處啟動一個新對話
47:44.600–47:46.403
This injected that exact prompt
這注入了那個確切的提示詞
47:46.403–47:48.540
that we looked at with the automation,
我們之前在自動化中查看過的那個
47:48.540–47:48.940
the ID,
識別碼
47:48.940–47:49.608
the memory,
記憶體
47:49.608–47:50.342
the last run,
上次執行
47:50.342–47:51.611
and the actual prompt.
以及實際的提示詞
47:51.611–47:53.808
And then it starts up this little progress sheet
然後它會啟動這個小進度表單
47:53.808–47:55.291
which is kind of like a to-do list
這有點像待辦事項清單
47:55.291–47:57.048
and it's going to go down in this order.
它將按照這個順序進行
47:57.048–47:59.939
And we have the full Codex Agentic loop going on here.
這裡正在進行完整的 Codex Agentic 循環。
47:59.939–48:01.524
So, if you're used to Cloud Code,
所以,如果你熟悉 Cloud Code,
48:01.524–48:03.108
this is basically the same thing
這基本上與在 Cloud Code
48:03.108–48:05.573
as running a local scheduled routine in Cloud Code
或 Cloud Co-work 中運行本地排程常規相同。
48:05.573–48:06.571
or in Cloud Co-work.
或者在 Cloud Co-work 中運行。
48:06.571–48:09.644
Now, the one thing you're going to have to think about here
現在,這裡有一件事你需要考慮
48:09.644–48:11.693
is because this is kind of a local cron,
是因為這有點像是本地排程(cron),
48:11.693–48:13.357
if you close out of the Codex app
如果你關閉 Codex 應用程式
48:13.357–48:15.470
or if you turn off your PC or your laptop,
或者關閉你的電腦或筆記型電腦,
48:15.470–48:16.760
this will stop running.
這就會停止運行。
48:16.760–48:19.639
In order for this to be truly 24/7 all the time,
為了讓這真正全天候 24/7 運行,
48:19.639–48:23.957
you would have to get this sort of Codex routine on the cloud somehow.
你必須以某種方式將這種 Codex 常規部署到雲端。
48:23.957–48:26.830
And that's what Cloud Code just added with their cloud routines.
而這就是 Cloud Code 透過其雲端常規功能所新增的內容。
48:26.830–48:28.553
Okay, so while this automation is running,
好的,所以當這項自動化正在運行時,
48:28.553–48:31.185
and we know we're going to make sure that it's working as expected,
我們知道我們會確保它按預期運作,
48:31.185–48:32.812
and if not, we'll correct it a little bit.
如果沒有,我們會稍微修正它。
48:32.812–48:35.518
But, I realized that I wanted to show you guys a little bit more
但是,我意識到我想要向你們展示更多
48:35.518–48:36.738
of that kind of computer use
那種電腦使用
48:36.738–48:38.330
and and browser use functionality.
以及瀏覽器使用功能。
48:38.330–48:41.796
So, if I go back into the actual um dashboard
所以,如果我回到實際的儀表板
48:41.796–48:43.240
where it built it,
它是在哪裡建置的,
48:43.240–48:45.560
which I believe was this one.
我相信是這個。
48:45.560–48:46.350
Yep, it was this one.
沒錯,就是這個。
48:46.350–48:50.498
What I'm going to say here is before we kind of keep making changes,
我想在這裡說的是,在我們繼續進行各種變更之前,
48:50.498–48:52.308
I want you to test the UI here.
我希望你先測試這裡的 UI。
48:52.308–48:54.821
I want you to open up this um dashboard,
我希望你開啟這個儀表板,
48:54.821–48:57.178
and I want you to open it up in this app
並希望你在這個應用程式中開啟它,
48:57.178–48:58.680
so I can watch you do it.
這樣我才能看著你操作。
48:58.680–49:00.975
I want you to use your browser use skill
我希望你使用你的瀏覽器操作技能,
49:00.975–49:02.051
and click around.
然後隨意點擊。
49:02.051–49:03.289
I want you to click on the buttons.
我希望你點擊那些按鈕。
49:03.289–49:04.842
I want you to try to break this thing.
我希望你試著搞壞這個東西。
49:04.842–49:06.248
I want you to stress test it
我希望你對它進行壓力測試,
49:06.248–49:06.759
and QA it.
並進行品質保證(QA)。
49:06.759–49:08.401
And let me know what you find,
然後告訴我你發現了什麼,
49:08.401–49:09.495
what bugs you find,
你找到了哪些錯誤,
49:09.495–49:11.410
and what we might need to improve.
以及我們可能需要改進的地方。
49:11.410–49:14.665
And so, all I did here is I explained in natural language what I wanted,
所以,我在這裡所做的,就是用自然語言解釋我想要什麼,
49:14.665–49:17.246
and we're going to be able to see it use the right skills.
我們將能夠看到它使用了正確的技能。
49:17.246–49:19.002
So, browser use is great for a lot of things.
所以,瀏覽器操作對於很多事情來說都很棒。
49:19.002–49:21.370
It's great for um QA-ing, like you just saw here,
它非常適合用於品質保證,就像你剛才在這裡看到的,
49:21.370–49:25.880
because it can find bugs and click around on things that typically it wouldn't be able to do.
因為它能找出錯誤,並點擊那些通常無法操作的項目。
49:25.880–49:27.862
It's also really great for certain automations.
它也非常適合用於某些自動化任務。
49:27.862–49:29.981
So, maybe you don't have an API for something,
所以,也許你沒有某個功能的 API,
49:29.981–49:33.885
and you want to be able to go in and download reports or go in and change some settings.
而你希望能夠進入系統下載報告,或進入系統變更某些設定。
49:33.885–49:36.167
I've done a few of those automations on my channel as well,
我也在我的頻道中執行過幾項這樣的自動化任務,
49:36.167–49:38.212
and browser use can be really, really good for that.
而瀏覽器使用功能對於這些任務來說真的非常有用。
49:38.212–49:40.608
And you can even use it to just search the web,
你甚至可以用它來搜尋網頁,
49:40.608–49:44.104
because you can use browser use in a way where it has like cookies,
因為你可以讓瀏覽器使用功能帶有 Cookie,
49:44.104–49:46.370
and it's able to remember your login info.
這樣它就能記住你的登入資訊。
49:46.370–49:48.315
So, you could log into something like school,
所以,你可以登入像學校系統這樣的平台,
49:48.315–49:50.413
where you'd have to get past the authentication,
在需要通過身份驗證的地方
49:50.413–49:52.716
and then the browser can automate and control things.
然後瀏覽器就能自動化並控制各項操作。
49:52.716–49:56.057
But anyways, what you see right here is the in-app browser open.
不過,總之,你現在在這裡看到的是應用程式內的瀏覽器已開啟。
49:56.057–50:00.398
And this little mouse right here, which kind of looks like the ChatGPT Alice logo,
而這裡這個小滑鼠游標,看起來有點像 ChatGPT Alice 的標誌,
50:00.398–50:01.739
is going to click around.
將會進行點擊操作。
50:01.739–50:02.811
You guys already saw it
你們剛才已經看到它
50:02.811–50:04.390
switch from overview to replies.
從總覽切換到回覆頁面。
50:04.390–50:07.080
You can see it's moving around even more now.
你可以看到它現在移動得更為頻繁。
50:07.080–50:09.367
And as it's clicking these different links
當它點擊這些不同的連結時
50:09.367–50:10.384
and moving around,
並四處移動,
50:10.384–50:12.036
it's going to start to document
它將開始記錄
50:12.036–50:13.815
what might be wrong with this app.
這個應用程式可能出了什麼問題。
50:13.815–50:15.314
And then we can obviously say,
接著我們顯然可以說,
50:15.314–50:15.974
"Okay, cool.
「好的,很棒。
50:15.974–50:17.486
Go make all of those changes for us."
請為我們進行所有那些變更。」
50:17.486–50:17.990
Right here,
就在這裡,
50:17.990–50:19.703
it found the thing with the YouTube link.
它找到了與 YouTube 連結相關的問題。
50:19.703–50:21.751
So, it said they have the correct URLs,
所以,它表示他們擁有正確的網址,
50:21.751–50:25.526
but the in-app browser did not visibly open the new tab after clicking.
但應用程式內瀏覽器在點擊後並未明顯開啟新分頁。
50:25.526–50:28.361
So, that's one of the things that we actually did notice ourselves.
所以,這正是我們實際觀察到的問題之一。
50:28.361–50:29.585
Now, browser use is pretty,
現在,瀏覽器使用功能相當,
50:29.585–50:30.170
I don't know,
我不知道,
50:30.170–50:32.680
it can feel kind of subjective when you're looking at it.
當你觀看時,它可能會感覺有點主觀。
50:32.680–50:34.409
I mean, this is pretty cool to watch it move live.
我的意思是,看著它即時運作相當有趣。
50:34.409–50:39.129
But that also happens in Cloud Code when I use like the Playwright CLI or something.
但當我使用 Playwright CLI 或其他工具時,Cloud Code 也會發生類似情況。
50:39.129–50:40.378
But from my testing,
但根據我的測試,
50:40.378–50:43.024
Codex browser use has been much more smooth
Codex 的瀏覽器使用功能更加順暢
50:43.024–50:44.641
and much more intelligent
而且更智能
50:44.641–50:49.419
than any other sort of browser use automations that I've built or used before.
比我之前建立或使用過的任何瀏覽器自動化功能都要好。
50:49.419–50:55.650
So, that is something that is really cool about Codex in this app here is that the browser use is really good.
所以,這個應用程式裡的 Codex 真的很酷的地方在於,它的瀏覽器操作功能非常出色。
50:55.650–50:59.614
Now, you could obviously use it still from a CLI or whatever, but it is pretty good.
當然,你仍然可以透過 CLI 或其他方式使用它,但效果相當不錯。
50:59.614–51:03.325
And like I said, there's just so many really cool use cases with browser automation.
就像我說過的,瀏覽器自動化有非常多非常酷的應用場景。
51:03.325–51:07.971
If you want to check out a few more, even though this video was Cloud Code, you would set it up the exact same way in Codex.
如果你想看更多範例,雖然這段影片是關於 Cloud Code 的,但在 Codex 中設定方式完全相同。
51:07.971–51:09.888
I'll tag a video right up here.
我會在這邊標註一段影片。
51:09.888–51:10.922
I mean, I love this.
我是說,我超愛這個功能。
51:10.922–51:12.672
It's literally going through the filters.
它實際上是在篩選條件中進行操作。
51:12.672–51:14.336
You guys saw it had something else up here.
你們看到這裡還有其他東西。
51:14.336–51:15.717
It's changing these check boxes.
它正在變更這些核取方塊。
51:15.717–51:16.809
It's changing the stuff.
它正在變更相關內容。
51:16.809–51:18.024
It did another search here,
它在這裡進行了另一次搜尋,
51:18.024–51:20.402
and it's really going to actually stress test this app
並且它實際上會對這個應用程式進行壓力測試
51:20.402–51:22.252
to make sure that it didn't miss anything.
以確保它沒有遺漏任何項目。
51:22.252–51:24.341
And what else is really cool is
而另一個非常酷的地方是
51:24.341–51:27.683
you can build in this sort of QA check into skills
你可以將這種品質檢查機制整合到技能
51:27.683–51:29.271
or into the knowledge.
或知識庫中。
51:29.271–51:31.641
So, next time when you're building another dashboard
所以,下次當你建立另一個儀表板時
51:31.641–51:33.221
or next time you're building a game,
或下次你建立遊戲時,
51:33.221–51:34.644
before it ever comes back to you,
在結果回報給你之前,
51:34.644–51:36.276
it already does a few passes visually
它已經在視覺上進行了幾輪檢查
51:36.276–51:38.225
and, you know, from like a code perspective,
而且,從程式碼的角度來看,
51:38.225–51:38.910
but you can make
但你可以確保
51:38.920–51:43.635
sure that, "Hey, don't ever ever ever come back to me until you've stress tested with your own browser use."
「嘿,在沒有用你自己的瀏覽器使用情境進行壓力測試之前,絕對不要回來找我。」
51:43.635–51:47.185
And that's how you can really just make this stuff smarter and smarter every day.
這就是讓這些功能每天變得越來越聰明的方法。
51:47.185–51:49.384
All right, so it decided that it's done testing now.
好的,所以它決定現在測試已經完成了。
51:49.384–51:53.798
You can see that we have a bunch of things that passed, but it found a ton of improvements.
你可以看到我們有一堆通過的項目,但它發現了大量的改進空間。
51:53.798–51:55.345
It ended up finding six things.
它最終找到了六個問題。
51:55.345–51:58.489
The external links for YouTube aren't really working.
YouTube 的外部連結實際上無法運作。
51:58.489–52:00.533
The empty explorer state is too bare.
空的瀏覽器狀態顯示得太過空蕩。
52:00.533–52:01.776
Search is too literal.
搜尋功能太過字面化。
52:01.776–52:03.538
Active tab state is mostly visual.
分頁狀態主要只是視覺上的問題。
52:03.538–52:06.116
And there's some other things that are just coming through awkward
還有一些其他問題看起來很突兀,
52:06.116–52:07.958
and little changes that we need to make to the UI.
以及我們需要對 UI 進行的一些小修改。
52:07.958–52:09.316
So, what's really cool now is
所以,現在真正酷的地方是
52:09.316–52:11.465
I can say, "Okay, take all of these six changes
我可以說:「好的,把這六個修改項目
52:11.465–52:14.519
and build a plan around exactly how you're going to solve those."
並據此制定一個計畫,說明你將如何解決這些問題。」
52:14.519–52:16.782
And then once it comes back with its proper plan,
然後當它帶著適當的計畫回來時,
52:16.782–52:18.196
we would go ahead and execute.
我們就會繼續執行。
52:18.196–52:19.619
But now that I showed you guys that,
但既然我已經向大家展示了這一點,
52:19.619–52:22.122
let's check back in on our actual automation that's running.
讓我們回頭看看我們實際正在執行的自動化程序。
52:22.122–52:24.244
You can see that it is still going through the checks.
你可以看到它仍在進行檢查。
52:24.244–52:25.491
It's been about 10 minutes.
已經過了大約 10 分鐘。
52:25.491–52:27.417
So, I will just check back in with you guys
所以,我會稍後再回來跟各位確認
52:27.417–52:29.060
once this has been fully committed
一旦這個流程完全提交
52:29.060–52:32.063
and we'll see what changes we have on our actual live dashboard.
我們來看看實際線上儀表板上有哪些變更。
52:32.063–52:32.880
Oh my goodness.
天啊
52:32.880–52:34.708
So, this was pushing like 20 minutes,
所以,這個推送過程大約花了 20 分鐘,
52:34.708–52:37.184
so I stopped it and said, "Why is it taking so long?"
於是我把它停下來並想:「為什麼這麼久?」
52:37.184–52:40.191
And it's because it couldn't overwrite a file that I had open.
這是因為它無法覆蓋我已經開啟的檔案。
52:40.191–52:41.284
So, don't do that.
所以,不要這樣做。
52:41.284–52:44.505
But now we're going to go ahead and just keep this going.
但現在我們會繼續讓它運行。
52:44.505–52:46.210
But honestly, there is a lesson there,
但老實說,這裡有個教訓,
52:46.210–52:48.448
which is sometimes it is nice to be able to watch it,
那就是有時候能夠看著它運作是不錯的,
52:48.448–52:52.338
especially before, like I said, before we know that this automation is really refined,
特別是在像我說的,在我們知道這個自動化流程已經非常完善之前,
52:52.338–52:54.480
because if it is going down the wrong path or it's
因為如果它走錯了方向,或者
52:54.480–53:00.217
hitting some sort of roadblock that you the human should be able to just be able to solve in like a quick 20 seconds,
遇到了某種路障,而身為人類的你本該能在短短 20 秒內解決,
53:00.217–53:03.696
then stop it and ask a question or stop it and steer it in the right way,
那就停下來提問,或者停下來引導它回到正確軌道,
53:03.696–53:05.720
because it's going to help not only save
因為這不僅能幫助你節省
53:05.720–53:07.331
you time, but it's also going to save you session limit.
時間,還能節省你的 session 額度。
53:07.331–53:09.794
Because if it was just burning tokens trying things,
因為如果它只是在浪費 token 嘗試各種方法,
53:09.794–53:12.089
when the fix was for me to just close out of the app,
當修復方法只是讓我關閉應用程式時,
53:12.089–53:16.792
then, you know, you'd rather have stopped that earlier before it's going down multiple wrong paths.
那麼,你知道,你寧願在它開始走錯多個方向之前更早停止。
53:16.792–53:18.761
And another thing that I just noticed,
還有我剛剛注意到的一件事,
53:18.761–53:20.976
which is really important to call out here,
這在這裡非常值得提出來討論,
53:20.976–53:23.007
is that when you look at the automation,
就是當你查看自動化流程時,
53:23.007–53:25.837
this automation is set up by default to run with GPT 5.2,
這個自動化預設設定為使用 GPT 5.2 執行,
53:25.837–53:27.437
which obviously we don't want.
這顯然不是我們想要的。
53:27.437–53:30.706
So, you're going to want to make sure that your model is set up correctly,
因此,你要確保模型設定正確
53:30.706–53:32.504
that the reasoning is set up correctly,
確保推理設定正確
53:32.504–53:34.629
and all of this other stuff is set up correctly,
以及所有其他相關設定都正確,
53:34.629–53:37.789
because that is also a reason why that run was probably taking so long.
因為這也是那次執行耗時那麼久的原因。
53:37.789–53:41.120
So, I just went ahead and retriggered a new run using GPT 5.5,
所以,我直接重新觸發了一個使用 GPT 5.5 的新執行,
53:41.120–53:43.519
and I decided to try this one out using high.
並且我決定嘗試使用 high 模式來執行這個。
53:43.519–53:46.112
Now, you also might be curious about the speed thing,
現在,你可能也會對速度選項感到好奇,
53:46.112–53:48.233
the difference between standard and fast.
也就是標準模式和快速模式之間的差異。
53:48.233–53:51.226
And honestly, I never really ever touch fast.
老實說,我從來沒有真的碰過快速模式。
53:51.226–53:55.180
I'm never working in something that's super time-sensitive where I need to go fast,
我從不在需要極度快速反應的超時間敏感情境中工作,
53:55.180–53:57.553
because that also eats up your usage a lot quicker.
因為那樣也會讓你的用量消耗得更快。
53:57.553–53:58.917
But this is much more like it.
但這就比較像樣了。
53:58.917–54:00.304
We can actually see it thinking
我們實際上可以看到它在思考
54:00.304–54:02.918
and now we're going to be able to get this back much quicker.
現在我們就能更快地取得這個結果。
54:02.918–54:04.751
Okay, so finally that has finished up.
好的,所以終於完成了。
54:04.751–54:09.308
You can see that it was able to make changes to that Excel sheet.
你可以看到它能夠對那個 Excel 試算表進行修改。
54:09.308–54:11.428
And it says that it analyzed 208 comments.
它表示它分析了 208 則評論。
54:11.428–54:12.934
Now, because we just did this,
現在,因為我們剛剛才做過這個,
54:12.934–54:14.199
you know, earlier today,
你知道,就在今天早些時候,
54:14.199–54:16.729
I'm curious if it actually analyzed 200 of the same
我很好奇它是否真的分析了同樣的 200 則評論,
54:16.729–54:18.235
or if it knew not to duplicate.
還是它知道不要重複分析。
54:18.235–54:19.748
And that's something that we'll want to take a look at.
而這是我們想要進一步查看的地方。
54:19.748–54:22.285
But let's actually head over to my GitHub real quick.
但讓我們先快速前往我的 GitHub。
54:22.285–54:24.087
This is the repo that we just set up, right?
這就是我們剛剛設立的儲存庫,對吧?
54:24.087–54:25.832
And if I go ahead and give this a refresh,
如果我繼續刷新這個頁面,
54:25.832–54:27.683
we should now see that we have two commits.
我們現在應該會看到有兩個提交記錄。
54:27.683–54:29.155
So, in the second commit,
所以,在第二次提交中,
54:29.155–54:31.397
this shows we refreshed the comments.
這顯示我們刷新了評論。
54:31.397–54:33.746
So, every single time that you make a change to this repo,
所以,每當您對這個儲存庫進行任何更改時,
54:33.746–54:34.645
it'll show that here.
它都會在這裡顯示出來。
54:34.645–54:36.291
So, you can check at the version control
因此,您可以檢查版本控制,
54:36.291–54:37.588
and you can see what's going on.
並查看發生了什麼情況。
54:37.588–54:41.662
But what that means is because our GitHub repo here got a new commit,
但這意味著因為我們的 GitHub 儲存庫這裡有了新的提交,
54:41.662–54:42.899
if we go to Vercel now
如果我們現在前往 Vercel
54:42.899–54:45.009
and we look at this actual project,
並查看這個實際專案
54:45.009–54:46.391
if I go to deployments,
如果我進入部署頁面
54:46.391–54:50.029
we should be able to see that this just picked up a new change.
我們應該能看到它剛剛抓取了一個新的變更。
54:50.029–54:50.791
1 minute ago,
1 分鐘前,
54:50.791–54:52.729
it picked up this new deployment.
它抓取了這個新的部署。
54:52.729–54:54.531
So, now if we go to the dashboard
所以,如果我們現在前往儀表板
54:54.531–54:55.987
and I give this a refresh,
並重新整理這個頁面,
54:55.987–54:57.027
this has new data.
這裡就有了新的資料。
54:57.027–54:58.875
So, this used to say 200 videos,
所以,這裡之前顯示的是 200 部影片,
54:58.875–55:00.297
or sorry, 200 comments,
或者說,200 則留言,
55:00.297–55:01.434
and now it says 208.
現在顯示的是 208。
55:01.434–55:05.407
So, that is just proof that we were able to actually get some fresh insights.
所以,這只是證明我們確實獲得了一些新的洞察。
55:05.407–55:10.413
Now, what's really nice is that it looks like it just basically added on eight new ones.
現在,真正令人高興的是,它看起來基本上只新增了八個。
55:10.413–55:11.763
It didn't like add on 200
它並沒有新增 200 個
55:11.763–55:12.708
and then 200 more
然後再新增 200 個
55:12.708–55:13.855
and then eight more,
然後再新增八個,
55:13.855–55:16.555
because it realized that they were duplicated.
因為它意識到那些是重複的。
55:16.555–55:19.804
And if we actually go and open up the actual source of truth,
如果我們實際上去開啟真正的資料來源,
55:19.804–55:20.931
if I go into our repo,
如果我進入我們的儲存庫,
55:20.931–55:21.793
I go to outputs,
我進入輸出資料夾
55:21.793–55:23.583
I go to YouTube comment insights
我進入 YouTube 評論洞察
55:23.583–55:27.362
and I click on the Excel sheet that we accidentally had open earlier,
然後我點擊我們之前不小心打開的 Excel 檔案
55:27.362–55:29.560
we see that the dashboard is exactly the
我們看到儀表板完全一樣
55:29.560–55:29.866
same,
相同
55:29.866–55:32.497
except for now we've analyzed eight extra comments
只是現在我們分析了額外八則評論
55:32.497–55:33.965
instead of the original 200.
而不是原本的 200 則。
55:33.965–55:37.080
But I wanted to show you guys what happened inside of this run.
但我想要向大家展示這次執行過程中發生了什麼事。
55:37.080–55:38.048
So, as you guys know,
所以,如你們所知,
55:38.048–55:40.952
we ran into that issue where I had the Excel sheet open, right?
我們遇到了那個問題,就是我當時打開了 Excel 檔案,對吧?
55:40.952–55:42.174
That was the first mistake.
那是第一個錯誤。
55:42.174–55:44.593
The second mistake was that this was running with 5.2.
第二個錯誤是這次執行使用的是 5.2 版本。
55:44.593–55:46.251
So, we reset the automation,
所以,我們重設了自動化流程,
55:46.251–55:48.254
and now it's running with 5.5 high.
現在它使用的是 5.5 high 版本。
55:48.254–55:50.537
But then what happened is this was running for quite a while again.
但接著發生的是,這次執行又花了很長一段時間。
55:50.537–55:51.083
So, I stopped it
所以,我停止了它
55:51.083–55:52.891
and said, "Hey, you've been running for a long time.
並說:「嘿,你都執行很長一段時間了。
55:52.891–55:54.218
Why is it taking so long?
為什麼這麼久?
55:54.218–55:55.447
This is a very simple task."
這是非常簡單的任務。」
55:55.447–55:56.142
So, basically,
所以,基本上,
55:56.142–55:57.852
I knew that something went wrong here.
我知道這裡出了問題。
55:57.852–56:00.570
Because when we built this dashboard from scratch,
因為當我們從頭建立這個儀表板時,
56:00.570–56:02.160
it only took about 20 minutes.
只花了大約 20 分鐘。
56:02.160–56:04.031
But updating it took 40 minutes
但更新它卻花了 40 分鐘
56:04.031–56:05.542
or probably even longer.
甚至可能更久。
56:05.542–56:06.847
So, I knew something was going wrong.
所以,我知道有問題發生。
56:06.847–56:07.521
So, I stopped it,
於是我停止了它,
56:07.521–56:09.352
and I wanted to dig into it a little bit better.
並想更深入地調查一下。
56:09.352–56:10.841
And it And I was able to find out
然後我能夠找出
56:10.841–56:12.509
that it was stuck on some process.
它卡在某個處理程序上。
56:12.509–56:13.857
So, I said, "What do you need from me
於是我說:「你需要我提供什麼
56:13.857–56:15.903
in order to make sure that this doesn't happen again,
才能確保這種情況不再發生,
56:15.903–56:18.042
and that you're able to just basically actually give us
並且你們能夠基本上確實提供
56:18.042–56:19.715
this deliverable that we're looking for?"
我們所尋求的交付成果?」
56:19.715–56:21.203
And it had me make some confirmations.
它讓我進行了一些確認。
56:21.203–56:22.450
And then as soon as I did that,
然後一旦我這麼做了,
56:22.450–56:23.488
it took about 7 minutes,
只花了大約 7 分鐘,
56:23.488–56:25.566
and then it was able to make all of those changes.
然後它就能完成所有這些變更。
56:25.566–56:27.316
So, the reason why I wanted to show you this
所以,我想向你們展示這個
56:27.316–56:29.265
is because once again, this stuff is not magic.
原因在於,再次強調,這些東西並非魔法。
56:29.265–56:30.370
You don't deploy something,
你不會部署某個東西,
56:30.370–56:31.935
and you just expect it to work perfectly.
然後就指望它能完美運作。
56:31.935–56:35.237
But what's really cool is I could say, "Awesome.
但真正酷的是,我可以說:「太棒了。
56:35.237–56:37.607
So, everything worked as expected on the dashboard.
儀表板上的所有功能都如預期般運作。
56:37.607–56:39.195
The analytics have been updated.
分析數據也已更新。
56:39.195–56:41.064
Now, I want you to dig into what you just did
現在,我希望你深入探討你剛才所做的
56:41.064–56:42.079
with this automation,
這項自動化工作,
56:42.079–56:43.147
and help me understand,
並幫助我理解,
56:43.147–56:45.870
are there any opportunities to streamline this automation?
是否有機會簡化這項自動化流程?
56:45.870–56:48.228
Are there any opportunities to make this better
是否有機會讓這項自動化
56:48.228–56:49.053
and more robust?
變得更好且更穩健?
56:49.053–56:50.805
Do you have any recommendations here?"
你這邊有什麼建議嗎?
56:50.805–56:52.292
And I'll go ahead and fire that off
接著我會繼續發送這個請求,
56:52.292–56:55.213
and see if there's any way that we can make this automation better.
看看是否有辦法讓這項自動化變得更好。
56:55.213–56:56.255
It's really important
這真的很重要,
56:56.255–56:58.448
because there's this concept called dark code,
因為有個概念叫做「暗碼」(dark code),
56:58.448–57:00.860
which basically means you're writing a bunch of code
基本上是指你在進行「氛圍編碼」(vibe coding)時寫了一堆程式碼,
57:00.860–57:02.176
when you do your vibe coding,
但實際上你並不知道
57:02.176–57:04.150
but you don't actually know what's going on
在 Python 腳本或其他
57:04.150–57:05.640
in the Python script or whatever
你所使用的語言中到底發生了什麼事。
57:05.640–57:07.195
language you're using there.
你正在使用的語言。
57:07.195–57:09.520
And not to say that you need to understand every line
我不是說你需要理解每一行
57:09.520–57:10.115
of your code,
程式碼,
57:10.115–57:12.008
but you need to understand fundamentally
但你必須從根本上理解
57:12.008–57:13.089
what it's doing and why.
了解它在做什麼以及為什麼。
57:13.089–57:16.194
And if there are any opportunities to get rid of some code,
如果有任何機會可以移除一些程式碼,
57:16.194–57:17.617
or if you have to, you know,
或者如果你必須,你知道,
57:17.617–57:20.204
bake in some more guardrails in a certain place,
在某些地方加入更多防護措施,
57:20.204–57:21.433
or anything like that.
或類似的事情。
57:21.433–57:22.869
So, it's basically looking at this
所以,基本上是在檢視這個
57:22.869–57:24.108
to see if we can make it faster,
看看我們能否讓它更快,
57:24.108–57:25.148
or if we can make it safer.
或者讓它更安全。
57:25.148–57:27.091
Now, ultimately, as long as it's working,
現在,最終來說,只要它能運作,
57:27.091–57:28.646
I don't really care how fast it is.
我真的不介意它有多快。
57:28.646–57:30.623
Because if this is running once a week,
因為如果這個每週只執行一次,
57:30.623–57:32.538
I don't care if it happens at 6:00 p.m.
我不介意它是在下午 6 點
57:32.538–57:33.156
or 6:30 p.m.
還是下午 6 點 30 分
57:33.156–57:34.021
or even 7:00 p.m.
甚至是下午 7 點執行。
57:34.021–57:35.460
As long as it's actually working.
只要它確實能運作。
57:35.460–57:38.689
But sometimes speed is a big deal in your automations.
但有時速度在你的自動化中非常重要。
57:38.689–57:38.867
So,
所以,
57:38.867–57:39.993
it comes back and says,
它會回傳並表示,
57:39.993–57:40.289
"Yes,
「是的,
57:40.289–57:40.882
this works,
這可行,
57:40.882–57:41.060
but
但
57:41.060–57:42.779
it is still too agent orchestrated
它仍然過於依賴 Agent 協調,
57:42.779–57:42.957
and
且
57:42.957–57:44.794
too heavy for a weekly data refresh."
對於每週資料更新來說過於沉重。」
57:44.794–57:44.972
So,
因此,
57:44.972–57:46.335
we could add one repo script
我們可以新增一個 repo 腳本,
57:46.335–57:47.817
to basically run the builder.
基本上來執行建置器。
57:47.817–57:51.230
We could stop running the full next build for these sorts of updates.
我們可以停止為這類更新執行完整的 Next.js 建置。
57:51.240–57:53.439
And it's giving us all these different insights
它提供了我們各種不同的洞察,
57:53.439–57:55.033
that we could then go ahead and push
我們可以接著採取行動,
57:55.033–57:57.341
to make our automation and our system better here.
以改善我們的自動化與系統。
57:57.341–57:59.851
So, that's how you can kind of keep iterating upon it.
所以,這就是你可以持續迭代的方式。
57:59.851–58:04.436
Even if you yourself don't really know exactly how you would make this better,
即使你自己並不清楚該如何讓它變得更好,
58:04.436–58:07.187
you can use the AI to figure out and brainstorm.
你也可以利用 AI 來找出問題並進行腦力激盪。
58:07.187–58:07.472
Okay.
好的。
58:07.472–58:10.854
So, what you guys saw here is we created this product from scratch, right?
所以,各位在這裡看到的是,我們從頭開始建立了這個產品,對吧?
58:10.854–58:12.335
It was our YouTube analytics demo.
這是我們的 YouTube 分析功能示範。
58:12.335–58:13.687
We connected to YouTube,
我們連接了 YouTube,
58:13.687–58:14.588
we set up a skill,
我們設定了一個技能,
58:14.588–58:15.875
we set up an automation,
我們設定了一個自動化流程,
58:15.875–58:17.033
we set up a dashboard,
我們設定了一個儀表板,
58:17.033–58:18.385
we used some browser use,
我們使用了一些瀏覽器操作功能,
58:18.385–58:22.569
and now we have an actual system where every week it will pull in more comments,
現在我們擁有一個實際的系統,每週它都會抓取更多留言,
58:22.569–58:23.856
it will update our data,
它會更新我們的資料,
58:23.856–58:24.757
our Excel sheet,
我們的 Excel 試算表,
58:24.757–58:24.960
and
並且
58:24.960–58:28.888
then it pushes all of those changes to our actual live dashboard completely automatically.
然後它會完全自動地將所有這些變更推送到我們實際的線上儀表板。
58:28.888–58:32.027
So, I hope you guys enjoyed seeing that flow from basically idea,
所以,我希望你們喜歡看到這個從基本構想、
58:32.027–58:33.073
setting up a project,
建立專案
58:33.073–58:34.119
all the way to the end.
一直到最終完成的整個流程。
58:34.119–58:35.062
And just remember,
並且請記住,
58:35.062–58:37.713
what's really important is that this entire project,
真正重要的是,這個整個專案、
58:37.713–58:39.128
everything that we just did,
我們剛才所做的所有事情,
58:39.128–58:41.308
is literally just a folder on your computer.
實際上只是你電腦上的一個資料夾。
58:41.308–58:46.259
And what that means is you can customize this folder to be used by OpenClaw or CloudCode or whatever you want.
這意味著你可以自訂這個資料夾,讓 OpenClaw 或 CloudCode 或任何你想要的工具來使用。
58:46.259–58:48.883
Any agent can work inside of this directory now.
現在,任何代理程式都可以在這個目錄中運作。
58:48.883–58:51.786
And if I wanted to explicitly do this inside of Codex,
如果我想在 Codex 裡明確地執行這個操作,
58:51.786–58:53.963
well, I could go ahead and click on view.
那麼我可以繼續點擊「檢視」。
58:53.963–58:55.836
I could open up the terminal.
我可以開啟終端機。
58:55.836–58:58.360
And now, because we're in this directory,
現在,因為我們處於這個目錄中,
58:58.360–58:59.730
I could call on Claude.
我可以呼叫 Claude。
58:59.730–59:00.764
And so, right here,
所以,就在這裡,
59:00.764–59:02.637
I could be working with ClaudeCode
我可以在這個實際的儲存庫中使用 ClaudeCode。
59:02.637–59:04.511
inside of this actual repository.
因此,也許就在這裡,
59:04.511–59:05.385
So, maybe right here
我正在使用 Claude 來協助腦力激盪,
59:05.385–59:06.979
I'm using Claude to help brainstorm,
它為我建立了一個腦力激盪檔案,
59:06.979–59:08.624
and it creates me a brainstorming file
放在這個專案的某個地方。
59:08.624–59:10.115
inside of this project somewhere.
然後我可以做的是,
59:10.115–59:11.517
And then what I could do is
我可以回到 Codex,
59:11.517–59:13.520
I could just go back up here to Codex,
然後我可以繼續標記該檔案。
59:13.520–59:15.589
and I could go ahead and tag that file.
所以,假設我說:「嘿,這裡有一個規劃檔案,
59:15.589–59:17.666
So, say, "Hey, here is a planning file,
一個我剛剛用 Claude 產生的腦力激盪檔案。
59:17.666–59:20.523
a brainstorm file that I just generated with Claude.
一份我剛剛用 Claude 產生的腦力激盪檔案
59:20.523–59:21.492
I want you to be the one
實際接手這個檔案
59:21.492–59:22.785
who actually takes this file
並為我執行它的人。」
59:22.785–59:23.862
and executes it for me."
並幫我執行它
59:23.862–59:26.178
So, you can really start to play with these together
所以,你真的可以開始一起操作這些功能
59:26.178–59:26.986
and mix and match.
並進行混合搭配。
59:26.986–59:28.546
Just like I've shown you before
就像我之前展示給你們看的
59:28.546–59:30.887
where we would build something with Cloud Code
我們使用 Cloud Code 來建構某些東西
59:30.887–59:32.867
and then we would actually loop in Codex
接著我們會實際引入 Codex
59:32.867–59:33.887
to do the review on it
來對其進行審查
59:33.887–59:35.387
and to find like security bugs
並尋找像是安全漏洞
59:35.387–59:37.788
or any just like code-based functionality bugs
或是任何基於程式碼的功能性錯誤
59:37.788–59:38.448
inside of it.
在裡面。
59:38.448–59:43.185
So, in my mind it's always about which tool is best for this specific use case,
所以,在我看來,重點始終在於哪種工具最適合這個特定使用案例,
59:43.185–59:44.591
not which tool is best.
而不是哪種工具最好。
59:44.591–59:46.819
All right, so I really hope that you guys enjoyed that.
好的,我真的希望你們喜歡這段內容。
59:46.819–59:49.193
You should have a really good understanding of the interface of Codex.
你應該對 Codex 的介面有非常良好的理解。
59:49.193–59:51.861
You should have a really good understanding of how you come in here,
你應該對如何進入這裡有非常深入的了解
59:51.861–59:52.957
you connect to other tools,
連接其他工具
59:52.957–59:53.624
you use plugins,
使用外掛程式
59:53.624–59:54.720
you start building skills.
開始建構技能有非常良好的理解。
59:54.720–59:57.864
And really the next unlock is start building more and more skills.
而接下來真正的突破點是開始建構越來越多的技能。
59:57.864–1:00:00.695
So, try to think about what are you doing on a daily basis?
所以,試著思考你每天在做什麼?
1:00:00.695–1:00:02.587
What are you doing on a weekly basis?
每週你會做哪些事
1:00:02.587–1:00:05.350
And write down some of those things that are boring and repetitive
並記錄下那些枯燥且重複的工作
1:00:05.350–1:00:07.309
and that you just wish happened when you slept.
以及那些你希望能在睡眠中自動完成的事項。
1:00:07.309–1:00:09.154
And then start to bring those into Codex
接著將這些內容導入 Codex
1:00:09.154–1:00:10.552
and start to just brainstorm.
並開始進行腦力激盪。
1:00:10.552–1:00:12.178
And as you're going through this process,
當你進行這個過程時,
1:00:12.178–1:00:14.733
you're going to want to set up kind of your own AI operating system.
你會想要建立屬於你自己的 AI 作業系統。
1:00:14.733–1:00:14.889
So,
所以,
1:00:14.889–1:00:16.448
I'm going to tag a video right up here
我會在此標註一支影片
1:00:16.448–1:00:18.163
that you guys should 100% go watch next.
強烈建議你們接下來一定要去觀看。
1:00:18.163–1:00:20.398
This one was kind of based on Cloud Code,
這支影片主要是基於 Cloud Code,
1:00:20.398–1:00:23.320
but remember everything is just files and folders.
但請記住,一切只是檔案和資料夾。
1:00:23.320–1:00:23.497
So,
所以,
1:00:23.497–1:00:25.326
if you follow the steps in this video,
如果你按照這支影片的步驟操作,
1:00:25.326–1:00:27.450
you will be able to replicate this in Codex,
你將能夠在 Codex 中複製這個過程,
1:00:27.450–1:00:28.640
absolutely no problem.
絕對沒有任何問題。
1:00:28.640–1:00:29.773
And what's really cool is
而真正酷的地方在於
1:00:29.773–1:00:32.470
every project that I've moved over from Cloud Code to Codex,
我從 Cloud Code 遷移過來的每個專案,
1:00:32.470–1:00:35.113
I've said, "Hey, this is something I built with Cloud Code.
我都會說:「嘿,這是我用 Cloud Code 建構的東西。
1:00:35.113–1:00:36.301
Go ahead and analyze it
請繼續分析它
1:00:36.301–1:00:38.927
and help me figure out what files you need to create
並協助我找出需要建立哪些檔案
1:00:38.927–1:00:41.303
in order to make this compatible with Codex."
以便讓它與 Codex 相容。
1:00:41.303–1:00:42.616
And all it's going to do is
它只會做一件事
1:00:42.616–1:00:43.866
maybe change a few names
也許會更改一些名稱
1:00:43.866–1:00:46.440
and maybe change the cloud.md to the agent.md and
也許會將 cloud.md 改為 agent.md,並且
1:00:46.440–1:00:47.425
it's really, really simple.
這真的非常簡單。
1:00:47.425–1:00:48.642
It'll take like 30 seconds
大概只需要 30 秒
1:00:48.642–1:00:50.468
and then you have your project in Codex.
然後你就能在 Codex 中擁有你的專案。
1:00:50.468–1:00:50.625
So,
所以,
1:00:50.625–1:00:51.045
anyways,
總之,
1:00:51.045–1:00:53.773
I'll see you guys over there at that AI operating system video.
我們在那個關於 AI 作業系統的影片裡見。
1:00:53.773–1:00:55.317
Please give it a like if you enjoyed.
如果你喜歡的話,請按讚。
1:00:55.317–1:00:56.191
It helps me out a ton.
這對我幫助很大。
1:00:56.191–1:00:57.111
And as always,
一如既往,
1:00:57.111–1:00:59.000
I appreciate you guys making it to the end of the video.
感謝你們看到影片的最後。