Full transcript
AI Coding Workflow and Model Selection Strategy**
0:00Join our Friday and Saturday Zooms for
0:01three hours of hands-on AHK teaching and
0:03support. Get unstuck and level up in
0:05real time. Um, connect with like-minded
0:07AHK users in our private chat, helping
0:09each other out and sparking ideas that
0:11make scripting way more fun.
0:15Now, uh, on the topic of coding with AI,
0:19right? So, oh, the okay,
0:25I have to figure that that one out. But
0:27in the topic of coding with AI and I
0:29actually mentioned this to Joe. Um
0:35I
0:37have discovered that having kind of like
0:40a pattern when you're coding and using
0:42the right
0:44uh model for that
0:47makes a ton of sense. It's it's it has
0:49been helping me. So the pattern that I'm
0:52doing is this
0:54for now. I'm asking questions,
0:58then I'm planning what I'm going to do,
1:02then I'm editing the file. All right?
1:05So, and that's basically what I do
1:08myself whenever I'm going to code a
1:11function. I first of all
1:14uh think about it, talk about it, like
1:17plan what the function should do, what
1:18it's going to do. I just think about it
1:20first
1:22what I want to pass to it what I'm going
1:23to return
1:25then I code right
1:29where AI is really great is at this
1:32questioning assumptions part because it
1:35has more knowledge or more context than
1:38I do at a given time so what I do is I
1:42start asking questions okay so I'm going
1:44to do this this and that what am I going
1:46to what is the best way it replies with
1:49that and that is already in the context
1:51then I say okay let's plan an approach
1:54when it comes back with it now here's
1:57the part for asking I don't need a very
2:01powerful model I just do something like
2:04um you know GPT5 mini or something that
2:07is good at replying and it's just giving
2:10me idea but when I go to the planning
2:13section okay let's create a plan on how
2:15to implement that I switch to a thinking
2:17model and one of the best ones that I
2:19have available. Right? It doesn't matter
2:22which, whatever you prefer. Claude. So
2:24now remember Claude has haiku which is
2:27the client kind of like the the fast
2:30model.
2:32Then you have the middle one and then
2:34you have the one that is kind of like
2:36oppus I think which is the the mo the
2:38thinking model. Well for asking
2:41questions I will grab the middle one.
2:44Okay. Just because it's good at just
2:46replying and stuff.
2:48Then the next one when I'm going to plan
2:50ahead I'm going to say okay let's think
2:52about this problem give me the potential
2:55steps that I'm going to take then I
2:57switch to the thinking model so that it
2:59grabs all the context it does everything
3:01and then once that is ready then I
3:04switch to the fast model this one
3:07doesn't have to think I don't want it
3:09thinking I want it just doing the
3:11following the direction that I just gave
3:14it and that's something
3:17Just going in that route right that has
3:20helped me because if you use a thinking
3:23model for coding what is going to happen
3:25is every time it's coding it's going to
3:28rethink everything and say let me change
3:30this as well and then it changes
3:32everything away right but if you use a
3:34model that is not thinking it just
3:37follows the instructions change line one
3:39change line five change line 10 and it
3:42doesn't modify your file as much so this
3:46might have obvious for all programmers
3:48out there,
3:50but as I'm, you know, more focused on
3:53other things and I usually do the coding
3:54myself, I've never actually thought
3:56about using the tool that way. And I and
3:58I have mentioned this before. Now, let
4:00me show you a real life example of that.
4:05>> I just for a second and say there's
4:07absolutely no difference in what you
4:08just said as to swapping out people with
4:12the different AI models, right?
4:14>> 100%. some people, you know, to go to
4:17for ideas, you know, and then there's
4:18some the last time when you want to get
4:20something done, you're like, "No, no,
4:22no, no. I just
4:22>> I
4:24got to do that with Exactly." Now, what
4:28I have discovered is
4:30the less specific I am,
4:35the higher syn thinking model I use.
4:39Okay? So if I give you a lot of very
4:42specific things, I would use a model
4:44that doesn't think that much because I
4:46already did the thinking.
4:46>> You're given the context,
4:48>> right? Because I'm giving it everything.
4:50But if I am very very vague,
4:55then I would not do that. Let me show
4:57you here. So this is uh part of a tool
5:04that I just created that is for reading
5:07a bunch of log files and generating a
5:10report out of it in the end. So that's
5:12it. It just looks for log files. It
5:14counts them. This part I coded myself. I
5:18have been doing this so long that I know
5:20what I'm doing. I just did this. I just
5:22did that. Uh I selected the dates. I
5:26created the G the the uh regular
5:29expression. All good. I already created
5:33my my my
5:35stuff up to this point. At this point
5:37115,
5:39I was so tired because I this was at the
5:42end of the day that I was like, "Yeah,
5:45now I have to grab all this object that
5:48I have and now I have to flatten it to a
5:52CSV." and I know what I can do for it,
5:54but let's have AI do that for me.
5:59First thing, I need to flatten the data
6:02for a CSV file. Is that possible? Show
6:04me five example rows. This is a very
6:09vague statement. So, what I did when you
6:12look at the end of this, I use Gemini 3
6:16Pro. It is a very highinking model. I am
6:20in asking mode. And let me talk about
6:22that a little bit. In VS Code, you can
6:25switch the mode what you're working
6:29with, asking, editing,
6:32being an agent, or planning.
6:37This is VS Code stuff. So
6:40when you're asking,
6:42the AI doesn't have access to any tools
6:45and it cannot modify the file.
6:47So it can reply back to you but it will
6:51not modify the file and it has access.
6:53It doesn't have access to almost any
6:55tool exert I think except for the online
6:58search I guess because it's for asking
7:00questions. I made that question in
7:03asking mode because I don't want it
7:05changing anything. I just want it
7:07thinking about it and figuring out what
7:09we're going to do. He came up with an
7:11idea. Okay, this is what it look what it
7:14would look like in the end. And I was
7:16like, "Yeah, that looks cor it suggested
7:19some code changes, but it cannot change
7:21the code." So, it just suggested it. I
7:23said, "Yeah, that's good. I like the
7:25general idea, but let's do this. I want
7:27to do this." I I I explained something
7:31else that I wanted to do. Still, when I
7:35look at the bottom of this,
7:37it suggested a bunch of stuff when it I
7:40am still using Gemini Pro. I'm still in
7:44planning mode. All right, I'm just
7:46asking questions, reviewing what I'm
7:49going to do. So, it said, "Yeah, that's
7:52a that's a good approach. This is a two
7:55pass algorithm because I I I told it,
7:57hey, I want to do it in two passes. One
7:59of them, the first pass is to figure out
8:01what the headers are going to look like
8:03in the end, and then we're going to
8:04flatten the data into that." Something
8:07like that. It said, "Okay, that's good.
8:09Let's do this." Blah, blah, blah. It
8:11gave me some suggestion code. And then I
8:14look at the code and I say uh yeah that
8:17is not needed because it was trying to
8:20sort the statuses. But the funny thing
8:22when you look at the code is that it
8:24created a map. So the first pass is
8:28reading the stuff. I think it was it was
8:33it creates a map right here and then
8:37later down the line it tries to sort the
8:39thing. And I'm like that's dumb. maps
8:44are already sorted. So that's the cool
8:47thing about looking at what AI is
8:49suggesting because you can come up with
8:51these kind of things. And then the next
8:53one is uh there are some checks that
8:55needs that are redundant. I don't care.
8:57And instead of using file append like
9:00file delete and then file append just
9:02use file open with W which does that.
9:04Okay. So I I I'm guiding what the end
9:07code is going to be from the beginning.
9:10It tries to do some validation. it comes
9:12up with, hey, you know what? You still
9:15have to sort the headers because uh uh
9:18uh auto hotkey v2 are insertion ordered.
9:22I'm like, no, you're you're wrong. I'm
9:24doing all of this before even writing
9:27before even telling it to write a line
9:29of code because that way when I tell it
9:32to write code, it's just going to follow
9:34the instructions. I say, "Hey, you're
9:36wrong. Follow my instructions. remove
9:39step two and just keep the step simple.
9:43It put it in as I mentioned. Perfect.
9:47Now, at this point, I tell it build a
9:50to-do list and implement step one. Just
9:53one step. Don't implement the whole
9:56thing. Just just one thing. That one
9:59when you look at the model now
Live Demonstration of CSV Data Processing Tool**
10:02is a mini
10:05it is a mini uh model. is not the
10:09thinking model that I was using for
10:10planning. So for asking question and
10:13planning probably use a model that has a
10:16lot of context that can think ahead that
10:18can plan that can think guide all your
10:21stuff and always do it without having
10:24access to editing the file.
10:27After you're good with what you what you
10:30were what was suggested to you,
10:34then you use you I switched. Now in VS
10:39Code, you have either edit or agent. As
10:43you can see, agent has access to tools
10:46down here, but edit doesn't. So edit
10:52allows you to t kind of like target your
10:55edits into one file. That's it.
10:59If you use agent, what happens is that
11:02it will try to determine which files it
11:05needs to modify. It will do terminal
11:08calls to find out like on the terminal
11:11like the the the the terminal down here,
11:13it would try to create commands to
11:15search for files and what files it's
11:17going to modify and stuff. So it might
11:19go a little bit crazy. So no, I actually
11:22made it edit because I know that it's
11:24just the edits are going to be just in
11:26this file. It went ahead and implemented
11:29number one. It looked good. I just asked
11:32it a few things. Why do you need a
11:34separate that one map can do that? It
11:38explained why and I said no, you're
11:40right. Keep it as is. Uh the map doesn't
11:43preserve insertion code. So keep both
11:46one for the sort of this. So keep it
11:47like that. And then from there we
11:50continue. Remember for those kind of
11:52things I I make it in asking mode.
11:56Whenever I don't want it to modify the
11:58file. I'm just asking questions I switch
12:01to asking mode. And you notice that I
12:04already have hot keys for everyone.
12:07So I go by steps. First I'm going to
12:09ask. Second I'm going to plan. Third I'm
12:12going to do an agent. Fourth is the most
12:14kind of like targeted thing. So I
12:17already have hotkeys for them to just
12:19switch between them very quickly.
12:22And then I just say let's continue on to
12:24the next step. I verify the code that it
12:26gave me gave me. Very good. Generate the
12:29next step. Very good. Okay. Use format
12:32time for something else. That's it. Just
12:35by doing that at the end I spent like I
12:40don't know 15 minutes in that process.
12:42So
12:44and in the end the code works as I
12:47expected. I already generated my GUI. I
12:51already had it so that the the time
12:53selection works. So I just select the
12:55selection. I just select a minimum
12:58version. I select it reads through all
13:02the files and then
13:05once it finishes up it just creates an
13:08Excel report. well, a CSV file and opens
13:11it with Excel because that's my default.
13:13Right now it's very slow because I'm
13:15sharing my screen, but that usually
13:16happens in like less than a second, less
13:19than 5 seconds, I guess. Um, and once it
13:22finishes doing that,
13:25I have the data in the format that I
13:27want. So, I have found this approach to
13:32be better. I'm not using it all the
13:34time. It's not like I'm going to
13:36implement the whole program because as
13:38you noticed just for one little thing
13:42the only thing I needed to do is flatten
13:44the CSV right flatten the data into a
13:47CSV just for that look at all the steps
13:50that I had. I had like five different
13:53things and look at all the little
13:55details that I had to fix.
13:58In a real full program, you will have
14:02hundreds and hundreds of steps and
14:04hundreds and hundreds of little details
14:07that for each of them you have to go
14:09step by step.
14:12So I would definitely not use it for hey
14:16let's create a program and just go for
14:18it. I would say hey I would plan what
14:21the programs are. Look at this. This it
14:23this created exactly what I needed. And
14:25basically now I just select this row and
14:29say, hey, let me conditional format that
14:33on on if the number is greater than 10.
14:38I'm just looking for failure rates that
14:40are too high. See what I mean?
14:43Everything below 10, good failure rates.
14:46Okay, let's look at that computer and
14:48see what's going on. A lot of single
14:50instance force in there. Why? what's
14:53going on. You see, that allows me to do
14:55this kind of thing really quickly. And
14:57again, going back now to the topic of
15:00using AI to code
15:02and the the video that I sent recently
15:05and Joe, what you were just probably
15:07want to talk about, which probably we
15:09have a good segue, is planning ahead
15:13removes a lot of the problems that you
15:16will have later. So if you're using AI,
15:19if you can plan the stuff without
15:22modifying the file first, right? And
15:25once you have the plan that looks good
15:27for you, then and you select a a a lower
15:32model to edit, then the lower model is
15:36not going to change your code in weird
15:38ways. It probably will just follow the
15:40instructions of the map,
15:43which in turn, at least for the test
15:48that I did last night, because again, I
15:50haven't been using AI to code like this.
15:52I'm I'm testing it from time to time
15:54because I didn't like it. It was just
15:55doing weird stuff. I I just started to
15:58find out, okay, this process seems to be
16:01a better approach and it seems to be a
16:04nice tool to have for creating stuff
16:06that I didn't want to create. I didn't
16:08want to at 11:00 p.m. in the night think
16:10about how to flatten a freaking weird
16:12object that I created. Let AI do that.
16:15Figure it out. And now that you figure
16:16it out, write the code and I would just
16:18review it. You know, that's a good
16:20simple way to do that.
16:23No, I think it's great that you have
16:24that control to be able to say you don't
16:26have read and write access. I mean, you
16:28can read, but yeah, but you can't edit
16:30like that. That I know from you and Nick
16:32just talking like that's a game changer
16:34in itself, right? of like just
16:37>> just
16:37>> I can I can say Isaas I am doing the
16:40same as you are doing.
16:43>> Okay, that's awesome. And actually I
16:45noticed in the S code
16:47>> you can create your custom agents.
16:50>> Yes. Yes.
16:51>> So those that I saw there the ask uh
16:54plan whatever you can create your own
16:56mode and you can specify exactly which
17:00tools you have access to. So it g that's
17:03what I'm working on right now like
17:05whenever I have uh free time I just go
17:08into VS code I talk to it because I have
17:11been starting to use the hotkey to just
17:14dictate and I would just dictate look
17:16the agent has to do this this this this
17:19and that add it into the file and it
17:21just goes ahead and adds it you know so
17:23so
17:25it has been a an interesting experience
17:27for me now that I'm doing that and I
17:29guess um by the way let me show you
17:32right now. One of the things that I
17:34discovered today is that AI, at least
17:39within VS Code, I don't know if AI in
17:41general can do that. So, if you go to to
17:45chatgpt.com or claude.com,
17:48they might not have access to this
17:50GitHub repository
17:52because the repository
17:54belongs to Microsoft and they they
17:57probably limit how AI access them,
17:59right? But within VS Code, which is also
18:02from Microsoft, I was able to say, hey,
18:06can you access this? It said yes. And I
18:09actually confirmed, go ahead and and and
18:11bring me some lines of code from that.
18:14Right? So, and it actually returned back
18:17lines from the documentation using
18:19Python, right? And I was like, okay, so
18:22you can access it. Look in that URL, we
18:25have the documentation for alpha version
18:28two and version one.
18:31select the default branch and every time
18:34you're going to be replying to me, try
18:37to read from that documentation. So, we
18:39have been having this issue Joe that we
18:41haven't been able to tell tell it to
18:43read the documentation, right? But now
18:45that I figure out that it has access, at
18:48least through VS Code, it has access to
18:50that repository, that might change. And
18:52I'm trying to force it to every time it
18:54replies, go ahead and get the relevant
18:57files, extract the information that it
19:00needs, and then reply. So
19:03>> to make to make it clear uh Isaas
19:06does uh does AI really has access to it
19:13or is uh AI feed with it? So I mean is
19:18does AI have the uh information about
19:22now
19:24or since a months?
19:26>> No. No. So that is that is a great
19:28question. So
19:30>> the last the last months I I I mostly I
19:34I recognize that AI doesn't know about
19:37the last months.
19:39>> Yeah, I can't. No, but if you use the
19:42fetch tool, so you can see here I'm
19:46using the fetch tool.
19:47>> Okay. Then then it is okay.
19:50>> That will go to the website, fetch the
19:53data, right?
19:55>> Okay.
19:56and then using
19:58>> page that data and then
20:01I told it give me the lines. So what it
Advanced Features and Setup Instructions**
20:04did it goes ahead and fetches the
20:06information. All right. So it goes and
20:09tries to download the website.
20:11>> Okay.
20:12>> Right.
20:13>> And then it uses Python on the file that
20:17downloaded.
20:18>> Okay.
20:19>> And then it gave me the lines that it
20:22got from the internet. So when I looked
20:25at it here for example, this is what I
20:28was trying to figure out. Look at that
20:30version 2.1 alpha.
20:33While for the other file, the version
20:35was different here 2.09.
20:39So it was able to fetch the current
20:43information on that URL, extract the
20:46information, and when I looked at the
20:47version number, they were both
20:49different. So I knew that it was able to
20:53switch branches and that's basically
20:56what I'm now having in my auto hotkey
20:59instructions. Hey, this is where the
21:02documentation will leave for you and for
21:05all my agents. So whenever I switch
21:07agents to thinking or planning,
21:11I'm having this uh requirement there.
21:15It's also because of yesterday uh I
21:18asked for uh I asked Lo to give me the
21:23uh differences between Gemini 5 and
21:27three and uh sh uh GPT 5.2 two.
21:34>> Okay.
21:35>> And clothe arms with me that the highest
21:39uh
21:41of was four
21:44>> and uh of Gemini was 1.5. So that's
21:48that's what I'm thinking. It's it's it's
21:50it's
21:53>> you didn't enable the search
21:55functionality.
21:56>> I see. I see. I see. Okay. I would I
21:58would say n it sounds like you also
22:00weren't using a thinking model because a
22:02thinking model
22:03>> probably would have said hey maybe there
22:05is a newer version let me go look
22:06>> okay okay
22:07>> right
22:08>> the model so so that's why I'm
22:10discussing this if you're not using the
22:12correct model and if you're not using
22:14the correct tools with that model you're
22:17going to get funny answers so
22:20is is is a good idea to just and again
22:23all of the all of the versions that I've
22:26all the chats Oh, sorry. The the LLMs
22:29that I've tested have usually three
22:32levels. They have the mini that is the
22:34fast thing that doesn't think. It just
22:37replies. That one we should use it for
22:41actions. Do this, do that. All right.
22:44There's a middle point in which you have
22:47GPT 5.2. There's the the fast or mini,
22:53the GPT 5.2, 2 and then there's the
22:55thinking mode of GPT.5.2 two for example
22:59and when you have the three then you
23:01just pick depending on what you're
23:04trying to do
23:04>> and to your point Isaas when I think it
23:07was five from Chad PD came out they did
23:10away with what you just described they
23:12said
23:14>> and then everyone they're like no no we
23:16know what we're doing and then everyone
23:17apparently said I want access to that
23:19older one and control and they messed up
23:22and said you guys are right we'll we'll
23:24back it off
23:25>> we we'll allow you to do that because
23:27the problem is I like I I want the finer
23:30finer control
23:33and I at least for now the way how I
23:37code is I think big. So I use a planning
23:40model then I ask questions I use a
23:44smaller model and then I edit. I use the
23:48smaller thing. So I go from big to small
23:51and I I'm changing my model as I go. You
23:54throw a wrinkle in what you just
23:56described though Isa as right.
23:58>> My understanding is the new Gemini flash
24:00model is smaller than the full Gemini
24:04one but it's actually better at
24:06programming which is really
24:07>> that is correct. That is correct. So my
24:10problem is within VS Code and that's why
24:13I was replying to uh Connie like I did
24:16uh earlier is within VS Code I've
24:19noticed that whenever I try to access
24:21Google models it has a lot of failures
24:25but if I go to their website everything
24:26is fine that's when I realized okay so
24:29probably VS code Microsoft wants you to
24:31use their own models you know like so
24:34they they would make it a little bit
24:35tricky to use other models or they don't
24:38have enough access or uh they have some
24:40limits something but while I'm trying to
24:43use VS code I haven't been able to uh be
24:48content of using Google uh uh Google
24:50Gemini flash or thinking
24:54>> but I don't say that they're bad every
24:57time I've used Gemini and actually in
24:59that example that I just showed you I
25:01was using Gemini for planning it was
25:03really good at planning like really good
25:05at at planning so u I I definitely think
25:09it is a great model. It's just that
25:11through VS Code, I I don't have good
25:12access to it right now.
25:15>> Okay. All right. Let's uh stop the
25:17recording here real quick.
25:20>> I'm going to stand up for a second. Be
25:22right back.
25:24Ask questions, plan, and stuff. You
25:27don't have to do anything. So, you just
25:30open VS Code.
25:33You install the GitHub copilot chat
25:36extension
25:38and it comes with those predefined.
25:41As soon as you have your GitHub copilot,
25:44it will ask you to log in to either
25:47GitHub or your Microsoft account. If you
25:52don't have a GitHub,
25:54well, you probably have a Microsoft
25:57account because you're logging into your
25:58computer. It would be your login
26:01informations for your computer, right?
26:03So, I usually use my Hotmail account to
26:08log into Microsoft.
26:10If you have a local account and you
26:12don't have a Microsoft account, which is
26:14strange.
26:15>> I have I have a GitHub. I have a
26:17Microsoft.
26:18>> So, I usually set it up with GitHub, but
26:22you can set up with either one. Right.
26:24Second of all, they have a plan. They
26:28have a free plan. The difference there
26:31if you're going to use the free plan is
26:34that of course you have a lot of limits.
26:36How many times a day you can do stuff
26:39blah blah blah.
26:41If you use a paid plan
26:44you will have better limits. I am paying
26:47my plan is like $10 a month. is not uh
26:51too expensive and in my case it makes
26:55sense because I am coding 8 hours a day
27:00in VS Code or more so it makes sense for
27:03me to pay for it. If you don't want to
27:06pay, just know that you have a free
27:07version available.
27:09Some sort of limits apply.
27:14But
27:16once you install the GitHub Copilot,
27:20um you have a tab and usually the
27:23default hotkey is Ctrl Alt I. I keep the
27:26defaults for convenience. You can change
27:29that to whatever you want. And because
27:32the
27:34hotkey was Ctrl Alt I, I decided that
27:39all the hot keys for my agents.
27:43Again, once you install it, those four
27:45agents are going to be there by default.
27:48You can configure custom agents, which
27:51is what I'm in the process of
27:52configuring the agents to do the stuff
27:55the way I wanted to do them. But that
27:57takes time, so I'm I'm doing it slowly.
28:00But you can set hot keys for each of the
28:03agents. And I decided if Ctrl Alt I is
28:07going to bring the chat then Ctrl Alt
28:10number pads is going to switch between
28:12the agents and Ctrl period which is what
28:15I set up for this one here is to pick
28:19the model. So I just do Ctrl Alt 1 2. So
28:25uh let me see three four five. Right. So
28:28between so between those I can switch
28:30the agent modes just with my keyboard
28:33and if I want to change the model
28:35control period and it just gives me the
28:37menu and I pick one. So it makes
28:41>> how did you open the window on the
28:42right?
28:44>> Ctrl Alt I
28:48>> and that's the default hotkey. All
28:50right.
28:51>> How could you do that by the menu?
28:54>> Sorry. How could you open the window on
28:58the right using the menu?
29:01>> Oh yeah. So you just press F1 and just
29:04type chat and there's a lot of options
29:08that it gives you for chat either the
29:11chat settings uh switch to the next
29:13agent uh to open I think you have for
29:18opening new. So here open the chat open
29:21the ask open the edit open the plan.
29:25So, it depends on the ones that you want
29:27to use and you can set up the hotkeys by
29:30just clicking on the configure key
29:33banding. All right.
29:34>> Can you can you do it using the file
29:37edit selection menu?
29:40>> Give me just a second. Sorry. But yes,
29:42you can.
29:45We can run into this next week or I'm
29:47sorry, maybe tomorrow. This is we said a
29:50couple times that we would handle this,
29:52you know, later.
29:53>> I guess you didn't see that. All right,
29:55thanks everyone. Have a good day. Bye%
29:58off all our HK goodies, courses,
30:00scripts, and custom work so you save
30:02cash while building your toolkit like a
30:03boss. Tap into over 466 plus hours of
30:07AHK video gold, including fresh clips
30:09like this for anytime learning that fits
30:12your