NEW AI Coding Assistant πŸ€– Use Prompts To Build New Or EXISTING Apps! (Aider, The Holy Grail)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
I think I found the best AI coding assistant so far not only does it do everything we would expect so you give it a prompt and it outputs a project for you but it can also iterate on that project easily give you the git file so you can actually see the diffs of each change and most exciting you can actually develop on top of an existing project even very large projects I'm going to show you how to install it and how to use it let's go so this project is called ader a-i-d-e-r and it's by Paul Gaither here's a little demo of it working you basically spin up a new file or a whole project and then you type out in a prompt what you want it is all command line so it's a little bit more complex in that sense but I find it very straightforward to use it uses gpt4 but it also has support for GPT 3.5 I'm hoping soon that they'll support open source models as well so I'm going to be running this on my Mac so keep that in mind as we're going through this tutorial and then I'm going to spin up a new conda environment like like we always do to get this installed so conda create dash dash name ader python equals 3.11.3 I already have one named that but we are going to replace it so I'm going to hit Y and then enter yes I do want the packages installed next grab this Command right here conda activate Ada and we're going to paste that in and now we can tell we're in the Ada conda environment because it says so right there next we're going to export our open AI API key so I have that here if you don't already have that go ahead sign up for open Ai and then grab an API key and yes I'm going to revoke this API key before publishing this video then hit enter and that's it and now we can get started but before we do that I want to show you one more thing optionally you can install something called Universal C tags and essentially what that is is really it's the missing piece from being able to use large language models to extend really large code bases the biggest problem is that with really large code bases you're not able to provide all of that context into the large language model because of the content text limitations now with universal C tags it essentially spits out a map a compressed version of your code base so the large language model has the context of the entire code base easily so here it talks a little bit about Universal C tags this is a project that has been around for a very long time it has a bunch of contributors it's very stable and installation of universal C tags could not be easier using Homebrew we do Brew install Universal C tags and if you don't have Homebrew installed it's really easy to install I'll drop the download link in the description below hit enter and that's it and now I already had it installed so it's asking if I want to reinstall it I'm not going to do that because I already have it installed but you'll actually get the installation confirmation when you're done and to confirm we have C tags installed we type c tags dash dash version and we can see we have it installed right here next we're going to make a new folder called snake and then we're going to change directory into it now to use ader you just type ader here space and then you can either not put anything and it'll look in the folder for your git file and understand the directory structure of your folder or we can simply create a new one which I'm going to do ader snake.pi and of course we're creating a snake game and there we go model gpt4 creating empty file snake.pi GitHub repo we don't have one repo map is disabled and here we go we're in create the game Snake using python enter sure I can help with that we will need to use the curses library in Python which is used for creating text-based user interfaces so here it is we can see it is in diff format this is the original now I've tested this already and it did produce the snake game on the first go hopefully it does it this time around too Alright there we go it's done now it's just waiting for my next command but let's test it out first so switching over to visual studio code I've opened up the folder and I have the snake.pi file open let's click play there we go look at that it worked on the first try again but let's not stop there I want to iterate on this because that is such an important feature of ader so I switch back to my terminal and now I want to do a couple things now add a score of how many pieces of food the snake has eaten in the top right to add a score we need to keep track of how many pieces of food the snake has eaten we can do this by adding a score variable that increments every time the snake eats food that sounds great now here's the diff here's the original and let's see what it adds all right and there's the updated version and it already applied it to snake.pi let's give it a try and look at that there's the score up in the top right exactly like I asked for that is so amazing okay I'm gonna make one more change and then I'm going to show you a couple other features now instead of having the pi symbol Be the food make it the number eight first it's going to tell me what it's going to do and then it's actually going to apply these changes so here's the original curses.acs underscore pi and now it just has the number eight so that should work but let's give it a try okay so the first piece of food is pie but after that it's number eight so I can probably just iterate again and get it to have eight from the get-go but I'm not gonna do that now heading back to here if we hit slash we get a number of commands so it allows us to add files to commit files to drop files clear we can get the diff we can exit we could do a lot of different things from within ader which is really convenient so I'm going to do slash exit and now I'm going to iterate on one of my existing projects and this is a pretty big project already so I have my project called pricer and I'm just going to type ader and if we look right here it says repo map Universal C tags using 1024 token so it is using Universal C tags for this and we have the get file recognized and the nice thing about Universal C tags is it supports a lot of programming languages so my project is in Ruby on Rails and it does just fine with that so I'm going to say upgrade sidekick in the gem file to the latest version to upgrade sidekick to the latest version you need to modify the gem file in your Project's root directory please confirm that the gem file is read write so I can propose the necessary changes yes it is great let's proceed with the changes and there it is it's telling me what changes it's going to make that's the right line of code answer we add it to the chat yes great now let's proceed with the changes we'll need to update the gemfile.lock file this is automatically generated by bundlers so it has knowledge of how Ruby on Rails works it didn't just try to go update that dot lock file which would not be the correct pattern you need to update the gem file then run the bundler and then that automatically updates the dot lock file and then it says you should run bundle install to ensure the correct version of the bundler is used so that's it I mean this is incredible this is what I have been looking for this gives me the ability to use gpt4 on any project continue to iterate on that project this is truly a full featured AI coding assistant I'm definitely going to be using this for my projects so please take a look I'll link everything in the description below if you like this video video please consider giving me a like And subscribe and I'll see you in the next one
Info
Channel: Matthew Berman
Views: 22,414
Rating: undefined out of 5
Keywords: gptengineer, gpt engineer, aider, aider gpt, ai coder, ai programmer, chatgpt, gpt4, gpt3.5, artificial intelligence, ai, ai coding, ai code generator, ai coding for beginners
Id: df8afeb1FY8
Channel Id: undefined
Length: 7min 5sec (425 seconds)
Published: Sun Jul 02 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.