 Hey, everyone, Joe and Isaiah is here from the Automator, and today we've got a really fascinating hot topic. We're going to talk about the current state of AI and Chat, GPT-3, how we can use it, what it can and can't do. So stick around because there's some really interesting stuff. The one thing I will caveat is, hey, this isn't right the early stages of this tool, right? Like in other tools that are out there. So things are going to be changing like crazy. We're mostly going to be talking about what it can't do at the moment, but that's definitely going to change. That's correct. And basically one of the things is that the rate at which AI learns and gets better is so fast that maybe one week from now, all of what we're saying right now is obsolete because it learns so fast. So take everything we say like, yeah, it's right now. It might not be like that later on. Yeah. One of the first things we'll just jump into saying that it can't do is, of course, it can't just do things it was programmed not to do. You know, it reminds me, what movie is it where they're like, androids have, you know, like, let's see, Star Trek Next Generation. They had a core things that androids couldn't do harm a human. This is that and I can't lie. And it's kind of the same thing, although I've seen videos where, you know, if you just say, hey, we'll just say I'm role playing and I'm making up a game, you know, or a video. I'm recording a script for a movie. Then it makes it pretend and then some of the things you can get around. But like cursing and swearing and hate, you know, hate speech and yeah, there's a lot of things that when you look at the documentation, they say we purposely limited how this particular chat AI works. There are different models and that is something that I don't know if you have mentioned before, but basically, right, there's different models. There's one that is for creating images. There's another one that is for creating text. This one for creating text is a subset of a larger one. This one that is open right now is a subset of a larger model. And this subset that is limited in a lot of things like, for example, you're going to tell it right, a violin program or something like that. It would actually just say, hey, I'm trying not to do that. But as you mentioned, there are ways to circumvent some of the things, which, yeah, OK, but the main limitation is very unlikely that you will be able to break out of certain restrictions that the programmer, the programmers at OpenAI put onto the chat itself. So yeah, that's one of the things that it cannot do. So another one was so this came out because Ray mentioned it, I think in either one of our live YouTube videos, which we have every Friday. I'll put the YouTube, the link up above if you want to join. Or we also followed up on it in one of the hero calls. So we have our private groups that aren't streamed to YouTube, but we were chitchatting about what can it do. And Ray asked Isaias to log in and to do some stuff. And Isaias was doing it. And again, I mean, you know, Isaias has really good English, but he's not a native English speaker. And the way he was asking the question at the time, it was just slightly, slightly different than what I did. And I forget exactly what the case was, but I'm a native English speaker. Right. And I asked it a slightly different question and it was able to do. I said something like when was Autohockey first created? And I think you said when was Autohockey created? If I maybe was something right when it was released. So it can only do what you ask it to do, right? So this is where in my background of market research also in training to say, I want a very specific question I want answered, right? The more specific you are, the more likely that you will get a good answer. Right. The way how you phrase the question is very important because it would do exactly what you mentioned there. So if I because I said, when was Autohockey released? Only like that. And it said like, I cannot answer that. But probably what you said is when was Autohockey first released? And then it had the answer to that. So for me, it told me that I could, but it was just the way how I phrased the question. So and that is another thing. The chat AI program is not really meant for answering questions. It generates text based on a prompt. Now, if your prompt is a question, it would generate text that looks like an answer. And that is something kind of like a like a minor point. It's not like that important, but it's good to mention it. It's not an answer. So sometimes what it gives you might not be correct. It's just that it looks like the answer because that's what it was trying to. Now, we can get that text and either modify it or extract the truth from that comment. But it is a very fine line between, OK, generate a description for a product and it would generate text that looks like the description of the product. But when you look into it, really, you might find words that have nothing to do with the product. Yeah, because it's not really giving you a true statement. It's just giving you something that looks like the truth. So you have to be very careful with that. But of course, you say like, yeah, you can ask it any question. It would answer it. It can. It will answer something. I actually asked it, you know, what's the difference between men and women and or how do you satisfy a woman or what do women want? You know, I actually answered. I was disappointed because I thought I was going to break it because no one knows, but it did answer. But to your point is that so what I would say what I kind of think of it is, look, you've got a really, really smart like high schooler, right? And you can ask them a question to do something. Now, sometimes they come back with amazing stuff. Sometimes they went and looked up something on Wikipedia and totally went the wrong direction, right? Like, and that's your point. Like, look, we're not going to take what they what it gives us and go give it to a client and sell it because we need to review what it does. Now, actually, you won. You were doing a GUI and you said, create a GUI doing this and it gave you like 90, 95 percent. And you're like, no, no, no, you forgot to add the new GUI. I forget what they did. We submit right to get the values and it said, like, OK, yeah. And it added it. So, yeah. And then you said you forgot to add this. So add it and then it did and then it worked, right? But it was like, hey, again, it was close. Now, here's the other again. This is right now. It's not trained on auto hotkey code, right? But clearly, and especially we're talking about the chat GPT one, but there's other ones. What was the DaVinci codex? Right. Well, there is a model that is a codex. So the whole thing, the whole system, they name different sections of it with different names. There's one that is called codex DaVinci 002 or something like that. And that is a specific model trained for creating code. Right now, the one that we are using is the one that creates chat. So this one is meant for you to talk to somebody technically, not write code. It will give you code, but that's not what it's meant to do. If we use the other model, I would be almost certain that it would give me amazing code because it's meant for creating code, right? Well, again, though, which is what you and I both totally agree in this. Look, it needs to be trained on that language, you know, programming language or whatever language, right? For that matter, right in what you're doing. And it's not yet sanctioned where it's coming up with these solutions that like thinking out of the box and coming up with new approaches. But at some point, so auto hockey, and maybe it is, maybe it isn't some of these other ones that you're mentioning. We don't know. And there's so many out there. The problem is, you know, who knows? But at some point, it will be, right? And it will be able to create some really cool looking stuff. So let's get into some of the stuff that it can do and can do really well. Right. You know, we were just doing some basic tests of asking you to do some simple stuff, even an auto hockey. And it was getting pretty close, right? And I like that it always creates kind of like a little comment of what it's trying to do. And so the code that comes back, not only is the code that you're going to try to use, but it's also the code that it also is commented code. So if you're learning, I think that's a very good thing because it gives you code and it gives you an idea of what it is trying to do in which steps and so on. So you might learn a little bit faster like that. And to follow up on that, so I have two takeaways from that that I was playing with. It was one, I took a large auto hockey script and I pushed it in there. I said, please annotate this script. And it went through and was explaining what the auto hockey code was doing, right? So if you're a lazy programmer like me and you don't annotate your code or you get something from go ahead and say, if there's someone that's really smart, hey, and they didn't annotate, just just run it through there, right? And maybe you can help understand this one. The second one is you can actually tell it. And again, it has to be programmed for your language. But to say, hey, you can put in your code and then say, summarize this for me. What is this thing doing? What is this doing? Yeah, it is. I'll put the URL up above here. But you know, our script for inspecting auto hockey. Yeah, the script scanner. Yeah, that's why I thought, like, man, if we can bind this. Oh, right. I understand to just a little bit of a box there, having a summary as well. So it is not only showing you what we determine that is kind of like risky or whatever, but actually a short description or summary of what is actually doing. That is a very interesting approach to that. Yeah, and then complement it with also adding the annotation as well, right? So that can be a full process. And holy cow, suddenly you feel much better when I get some random script that like I can have a decent idea no matter of my skill level, right? What it's like, I'm willing to read through all the stuff. And depending on how big the script is as well. Just imagine trying to pass the QAP code to it. 15,000 lines of code. I actually considered doing that as a test. Yeah, to see what happened. Yeah, but I would say. One more on this is I saw people with using JavaScript code saying, hey, there's a bug in my code and they pushed it in there and said, can you tell me where the bug is? And it actually came back and even not only did it fix it, but it annotated and said you had a typo here, you know, and actually let them know, you know, what the error was, right? Hey, idiot. Yeah, that was pretty cool. I actually think it would be funny to tell it, tell, grab this code, find the bug and using a very cheeky thing, tell me what my errors were, because actually it understands different models, different modes of speech. So you can tell it, explain it like I'm five. And it would explain you like you're a five year old person. So I was watching one this morning and they were talking about they had people just like us discussing a topic. They asked the AI to say, hey, have these two guys, which they mentioned in my name, discuss this. But in a Quentin Tarantino movie. And so they showed the dialogue that came back and one of the guys said, well, this isn't really real because there's there's no f-bombs. There's no swearing. And then someone else said, but wait a minute, that's because right now it is. It is. It's been told right. Exactly. Otherwise it really adapted it into that kind of format of this, how they speak and how they discussed it. I remember, I remember telling it to write a poem in Victorian English, something like that. And it does it. And I was like, and I asked it, how did you know that by Victorian English? I meant that. And it explained me exactly what it did to go ahead and think about that that way. So I do think that it is very fun to do those kind of tests. The only thing is that now going back to the matter of code is that two things. Right now, it cannot execute auto hotkey code, right? It cannot do that. I am not 100 percent certain that it can execute JavaScript code because I've noticed that I gave it a function and it actually ran the example for me. And it was executing that. And I would understand that because the browser has JavaScript in it. But if it doesn't have an auto hotkey interpreter there, so it cannot execute the code, but it can give you something that would pass tests. And that is interesting because what one of the things that we were testing and maybe we can show a little bit of that is that I give it a little bit of stuff. Yeah, right. So one of the things is that I could probably just give it what I'm expecting and it would generate auto hotkey code that would pass that test. Now, I'm sharing my screen right now and you would see that again, this is part of what I meant. There are some limitations and these limitations, it is very hard to go around them. But here's the one that is more important. It may occasionally generate incorrect information. Yeah, of course, it's not a knowledge base. It's just giving you things back. So you have to be careful what it gives you. But here's something I would give it a test. It's an if statement that runs a function and is comparing it to whether that is returned by the function or not. So if it is returning it, it should say true. If it is not, it should say false. So I'm going to give it this as a test and let's see what it does. So I say, write an auto hotkey function that passes the following test. And then I'm going to give it some code. I'm putting these little carets there just to imitate that this section is code. This is from Markdown and I think the chat would do something. Yeah, it knows that this section here is coding is not just text. So I would give it some code. I specified that it has to be out of hotkey because sometimes it might not give you the code that you want because it would give you kind of like JavaScript code. It defaults to JavaScript, I've noticed. Now, notice that it gave me a function that would do exactly what I told it. It will return just that exact text and it would pass this test. If I copy this into my script here and just copy the function it gave me, it should return true right there. Let me see. You learn except inside a function where oh, yeah, of course. Let's change this to a message box because I'm not inside a function there. There you go. And it shows me the true here. So it means that the function is returning exactly the message that I told it to. So that is OK. But one of the questions that we had is what about if I pass it a more complex test? It was funny because I had some tests written for another program that I had. And one of the things that it does is that it cleans a string. I pass a string and it removes some things from it. So my test is asserting that in the title, I do not have this little character or in my title, I do not have this little part. So this is just the test. This is not the function. I copy this and say, hey, write some R hotkey. Write an auto hotkey function that would pass the following tests. And this is still I want to reiterate the better you are at being very clear in what you want it to do, the more likelihood that you'll get, you know, the answer you're hoping for. Right. So I pass it an array of tests. I'm going through each of them. I pass the clean title function and it would return a title that should be clean of those three elements. And now this thing is going to try to do something similar. Right now, I don't know if it is going to do a good job of it. You know, one of the really cool things, though, which we've talked about before is with auto hotkey regular expressions. Hey, it uses the was it the pearl? No, the search of the P right. The version of the regex that, um, the, yeah, it's the PHP version of it. Right, but that is something that probably is in this because that's, you know, yes, that is correct. Oh, now it's funny because the code it gave me is almost pinpoint what I did in the end. So when I was working with this, I had my own function. But if you take a look at it, it just grabs the string that you gave it. And then it will use string replace to remove this character. Then it will pass it to the next one that it will remove this other. But then it noticed that what I pass it was a regular expression. So instead of string replace is use regex replace, which is correct. And then it removed that to and then return the title. This, if you look at my original function, if I go here, my clean title is basically three steps of that is again, the regex, the string replace for that one. I use regex replace mostly for the others because of the spaces because I wanted to make sure if they were there or not. But it did basically the same code that I had, which is amazing. And I just gave it a test to pass, right? This is interesting because in the future, maybe you just have to write the test and the AI will come up with the function that will make sure that passes the tests. So you don't have to think about the solution. You just think about the requirement, right? Well, that's what I was going to say was, I'm not, now we have a link to the test I'll put up here. We'll test driving code and what is talking about here. So it's a bit advanced or new for most people. But using red expressions, you and I both know, right? Regex can be quite complicated, right? And when we have something that is complicated, often what I even you're much better than I am. But even for both of us, I've seen both of us do it where we say, I could combine all this into one regex. However, instead, I'm going to piecemeal it one at a time. Just because it's easier for humans like to understand and process. But I think we I think this would work really well to say, I want to remove this and this and this and look for this. And it probably would write a crazy powerful regex. You know, how this is interesting because look at this. You see, on my tests, on my tests, I passed it a title that contains disease and it contains the numbers, right? But right here, when I saw what the code did, it added a comment that it says, remove notification numbers from the title. And it gave me an example of what it would remove. That was something that I didn't put there. I think, again, you can see that it was not me because those are not out of hot key comments, but it actually. Told me what it was going to try. And it gave me an example of what this regular expression would remove from it. So this is amazing. I really think that this is kind of like the future of coding. People think that probably you are not going to code anymore because the AI is not going to know that. I don't think programmers are going to go anywhere now because now we have to tell the AI what to do. Our job is going to be creating the prompts for the AI to create the code. And then reviewing it after, right? Right. Of course. Even after a couple of years, depending on what you're doing, you're going to need to make tweaks and you need to be better at explaining exactly what you're looking for. Right. But it definitely is a huge enabler, right? It's going to level up people like there's no tomorrow, right? I actually think that's correct. For example, in one of the tests that we did was this. I gave it this other test and it didn't really return what I was expecting. Let's try it again. So write a function and auto hotkey function. Which this is where you start realizing certain things are so important to mention, right? Right. It has to be out of hotkey because if not, it would go ahead and give me a JavaScript one or something like that. But also we've talked about how training, too, like after you do this over time, it will learn and understand. And probably if you have a profile that you log into, it may be there'll be a way to default it to certain things. As well, right? I would assume so, yes. So now I just gave it this test. The test is that I'm going to pass it a URL and I want to remove unwanted things. For me, the things that I want are just from the K here up to the C R I D. Anything else should be gone. But what it did is, oh, wow, this is this is different to what I was. What it gave me before. Well, we were talking about it. We wondered if it would if it would understand key value pairs. I mean, the fact that it's actually parsing the URL. And we mentioned, you know, the key value pairs, keep the first one or keep, you know, whatever this key and this key, but not other ones. Like, which is the other really important thing to understand is it's iterative. You can comment after it and say, hey, that's great. But go back and make this another. See, so so right now it is telling me it is doing some things that I'm OK. So if the part is not that and not this, which is interesting. Now it would do it. This is not on a hotkey code, by the way. So this is wrong right here. Almost almost work. But I would it gave me something. It grabbed the two sections that I want to remove. And if it is not those things, then it is going to append it to the URL. So this code is closer to what I was expecting. The last time that I tried, it didn't give me that. It just removed this one section right here. But now it's removing the two that I want to remove. It just removed both because this is only adding to the clean URL. If it is not those two things. So this is good. I would tell it that is not out of hotkey out of hotkey code. Convert the script to auto hotkey. Let's see what it does. But basically, this is what you mentioned. We could actually create a follow up prompt. And it would know that the context is whatever it did before. So it's really good because it would try to get that. The other thing I analogy. I thought actually that was what I saw also is it's amazing at doing analogies, which was really interesting. But anyway, was I've been using an Alexa Echo for quite a long time now. I'm pretty good at getting it to do what I want because my brain has now been converted into knowing how to ask questions in a way that it will give you the answer I want. I think over time, people using this tool, right, it'll get better understanding in the native speaking. But at the same time, we will get better at asking questions in a certain way in a very specific way that it'll do better delivering answers. Well, actually, I was when it started writing, I said, like, oh, this is totally wrong. But what it did is that it keeps the original clean title script. And now it's giving me the clean URL as well. And it fixed it a little bit. Now it's doing a little bit closer to what I want. And again, these four, this is still not correct. It's close. But I could change this to a loop. So this section, and this is what we meant. Probably the code is not 100 percent what you need. But now I just have to change it for loop part length. I think you could use a for loop there as well. It's the. No, because this is a number length. This is going to be giving me 20. It's just a number. Yeah, but I could use parts. Yeah, I would use parts by itself. I could say by for anyway, we don't have to get under the grid. Parts, right. But what I mean is I don't have to change that much of the code because now I just say I equals a index and that is closer to what I need. OK, so this is great. I really like the idea of me giving it something, it gives me a basic starting point and the parts that I have to fix are very small. So yeah, the things that I didn't want to change the eye in every single one. But why wouldn't you want to just use a for loop with the for eye in and then use the eye as the index as well? That is correct. That that's actually for eye and then part in parts without the length. That would do it. Right. And then I would have the eye already as an index. Right. Anyway, like I said, there's a lot of different ways, not the focus of the video. But right. But in general, the point is that you can start with a basic template for which you can go ahead and work from there. So go back. I want to do an example here real quickly. So and then so I wrote a like, you know, should I do web scraping with auto hotkey? So we're doing asking questions on general topics, so not programming, but this thing. Like I was blown away at the answer. I wrote something close to that. And it wrote like almost identical to what I think. It's like, hey, web scraping is a pretty complex topic. Even though you can web scrape with auto hotkey, you're probably better if you're doing a lot of work to. Yeah, there it is. There is, you know, like it's possible to do it. Like I could not have written a better answer myself on this. Like it was nailed it. Yeah, it's exactly. If you just need a few pieces of data, then auto hotkey may be a good choice. It's easy to learn and use. It could quickly extract information from the website. However, if you're applying to the large scale web scrape, you and you need more complex data than there are some other dedicated tools, which is correct. There are tools that are just for that. Then that's the best that's the best tool. Now, here's the thing. Remember, this thing is not answering you. What it's doing is that it grabbed this prompt and it looked at all the text that it has in memory and look for the one that matched a little bit better to that. Well, this looks like a true answer. You have to be careful because it might tell you a few things that are not exactly correct or something. But it is answering back to what it has in memory. I asked a question about should I use on a hockey V1 versus V2 or something along the lines of that? And it was it went off on how V2 is absolutely the right this and that. And I'm like, I don't really answer there. But you know, and I wrote one saying, hey, should I use auto hotkey versus Python or why should I use our hockey over Python? And then explain the differences and how they're used. Right. One is more of a desktop automation and one's more server side things. And and this and that. And I'm like, this is it's it's really, really good. But to your point, it can be wrong, but it's just that the majority of the text out there contains those answers and it's grabbing the majority of it on summarizing it into this. So to your point is one one might argue is when you think the wisdom of the crowds is going to give you the right answer. Then it will be a good solution when it might be something very, very niche. And there might be an expert that knows how to do something. Right. Yeah, it may not come up with that. Right. That is correct. I that's the other part that I agree with. So I think this topic is really interesting. I think it's going to be developed, you know, quickly. So soon a lot of the things that it cannot do will be done. And the things that it does right now will be done better. So I think it is a very good direction. And I definitely don't think that programmers are going to be out of job. Now our jobs are going to be different. It's going to be creating the right prompt for the tool to create the right code, which looks easy, but it's not. I'd even say is we will probably start working in many more languages because now I don't have to know Python or Java. I can use this tool to get me close because you and I, we've talked about this a lot. Like in Python, hey, I can go in and I'm not or a C sharp, right? I can go in and I can tweak things, but I can't write from scratch, right? But I can tweak things so I could probably take some code, get it from there, get it running, but I don't have to know the ins and outs of every little thing. Right. And this tool is going to be brilliant for that kind of stuff. That is correct. So I hope you all enjoyed the other thing that we didn't even touch on is all the other stuff. Like I've been going and optimizing my headlines and titles and stuff. It's it's really powerful, you know, at the it's very conversive and can write some really good clickbait stuff. That's for sure. Well, thanks everyone. Hope you enjoy that. How are you guys using it? What what is your experience? I'd love to hear in the comments here if you're using it. Where do you think it's going? Also, what kind of timing do you think, at least for AutoHotKey, like getting it in that you think I think in the next year, we'll have it with AutoHotKey and doing a lot of really cool stuff. Because you're saying is I mean, like it's it's easy to get hung up in time is how humans work. But computers, it's it's just exponential. Yeah, that's exponential. So it goes really fast. There you go. Please like the video if you learned something, enjoy it because it really helps us out. We get a lot more views for people liking it. So I really appreciate it. If you like that now, hit it now and subscribe if you're not a subscriber. We dump out videos at least twice a week, sometimes more depending on the topic. And we're by far the largest AutoHotKey channel, creating some really cool stuff. So thank you.