AI Driven Development: Build the thing that builds all the things
Exploring the Power of AI in Software Development: Unleashing Your Personal Jarvis
Hi there! Welcome to AIDriven.Dev - a newsletter for developers and indie hackers. Here, we delve into interesting and inspiring ways people are integrating AI in software development.
From Copilot and Copilot X to ChatGPT, we've witnessed an unprecedented leap in AI capabilities in recent months. It's as if someone hit the fast-forward button on technology evolution. As we gallop through this AI-driven era, we, developers, must learn to ride the wave instead of being swept by it. With AIDriven.Dev, we aspire to be your trusty surfboard, helping you navigate these thrilling waters.
In this very first episode, we will talk about building your own Jarvis-like developer AKA your own junior developer agent
Alright, I hear you. You're wondering if AI is here to help us or to take over. Remember, right now, these AI agents are excellent at churning out simple projects, not complex ones. And yes, the future could hold anything, but for now, the spotlight is on partnership, not replacement. I'm sharing these techniques because they're already being implemented in the software development scene. So, why not join the AI revolution and create your Jarvis-like AI assistant? It can tackle mundane and tedious projects in seconds or minutes - jobs that could have taken you days or even weeks to complete. Sounds tempting, doesn't it?
Build the thing that builds the thing, build your own junior developer
the idea is very simple: build a general-purpose junior dev agent that can build your projects. For example, you could build an agent that with few instructions can build your Chrome extension, Slack bot, or even a full SAAS app.
Stop building the thing. Build the thing that builds all the things. IMO the most important thing every developer could be doing right now on nights and weekends is building a general purpose personal junior dev agent they can control and trust, that they can scale to fleets @swyx
Examples
There are a lot of projects — mostly open-source — that have implemented that idea which you can utilize to build your own junior dev agent, here are some of them
1. Smol Developer:
Github Repo: https://github.com/smol-ai/developer/
with ~ 200 lines of Python code and with the help of GPT-4 (still in private Beta but you can use other models such as gpt-3.5-turbo, check the repo for more info), you can build your own junior developer that can develop, debug your entire app codebase.
There are lots of examples of how people are using smol-dev to build different apps so I recommend reading the repo readme.md. People have also forked the project to languages such as JS/TS, Go, and C# which can be found here
2. e2b:
Github Repo: https://github.com/e2b-dev/e2b
Debug, deploy, and monitor your AI agents - "Vercel for AI agents"
e2b (english2bits) is similar to smol-dev and it’s open-source with more features such as letting your Agents operate in our own secure sandboxed cloud environments that are powered by Firecracker. it also has a nice UI to interact with the agent
3. AutoPR:
Github Repo: https://github.com/irgolic/AutoPR
AutoPR autonomously writes pull requests in response to issues with ChatGPT.
This is an interesting one and I myself was actually trying to build the same thing in which an AI agent listens to Github repo issues and once it’s assigned an issue it, creates a pull request with the fix.
How do they work?
At the heart of these projects lie the wizardry of cutting-edge AI tech (Large Language Models or LLMs for short), such as GPT-4, and the craft of prompt engineering. This topic deserves its own full-blown episode, and yes, we've got that coming up for you in the future. While we won't dive deep into the workings of each project, we can certainly share a sneak peek into the workings of the simplest one - smol-dev. And trust me, they all share a similar baseline.
Check out the source code of smol-dev; it's pretty straightforward and easy to grasp. The secret ingredient here (other than the brilliant GPT-4, which is a pro at spitting out code) is the clever way the prompt is crafted for the model. The trick is to steer the model in a way that helps dodge errors. This involves providing it with a comprehensive features list, refeeding any encountered errors back into the initial prompt to sidestep them in future runs, and my personal favorite - defining the "shared dependencies". These could be filenames or variable names, which ensures the model pops out a consistent codebase. And voila, that's pretty much it! A simple yet potent idea. I can't recommend enough that you should check out the repo and read through the source code.
How could that help me as a developer?
As a developer or an indie hacker, you can harness these AI-powered projects in two clear ways:
Clone any of these projects and start tailoring your own agent. Put them to work and watch them create apps for you, especially the ones you find routine and time-consuming.
Dig deeper into the mechanics of these projects. Understand their prompt engineering techniques and inner workings. Draw inspiration and start building your own AI tools or, better yet, your very own 'thing that builds the things'.
Conclusion
That's it for our first AIDriven.Dev issue! We hope it's stirred your interest in the blending of AI and software development. Whether you're eager to build your own AI assistant or excited to learn more about prompt engineering, there's plenty to look forward to.
Hungry for more insights and inspiring ways people use AI in software development? Make sure to subscribe to our newsletter
Until our next issue, keep innovating with code!
Artificial intelligence https://servreality.com/machine-learning/ opens up endless possibilities for innovation. Create world-changing solutions with AI.