Smol-Developer: Your Cute AI-Based Junior Developer 🐕‍🦺

5/5 - (1 vote)

I just stumbled upon this project smol-developer that allows you to have your own “junior” programming assistant.

If you’re like me, i.e., not really a nerd in deep Reddit culture, you wonder what exactly “smol” means in this context.

What does “smol” mean? 🐇

Smol is an affectionate way of saying someone or something is small in size—so cute you just want to squeeze ’em. It most often describes animals like puppies, kittens, bunnies, and even teeny-tiny reptiles. (source)

Short Overview

Here’s the 1-tweet description:

▸ Human-centric, coherent whole program synthesis
▸ your own junior developer
▸ develop, debug, decompile
▸ open source: https://github.com/smol-ai/developer/
▸ 200 LOC, half english

Insights:
💡 100k context can summarize both content and codebases
💡 Markdown is the best prompting DSL
💡 Copy and paste your errors as prompts
💡 Copy and paste curl output as prompts
💡 write CSS animation by describing what u want
💡 GPT4 >>> GPT3.5/Anthropic Claude for codegen

Here’s a small video from the creator:

🐣 Introducing smol-developer - Human-centric & Coherent Whole Program Synthesis

Developer-Centric Workflow

The goal of the repository project is to help you, the developer, create an app with the help of the “junior AI developer” by suggesting this simple workflow:

  1. You draft a basic plan for the app you want to create.
  2. main.py produces code based on this plan.
  3. You test and review the code.
  4. You can now expand the initial plan to address any vague areas.
  5. Manually test the code and note any mistakes.
  6. Record errors in the plan.
  7. Use debugger.py for assistance. This tool reviews the entire code and suggests specific amendments.

This process is repeated until satisfaction is reached.

The big goal is actually pretty realistic — not an overarching dream of AGI but to reach a new stage in programming where you still need technical skills, but you’re not required to handle every little detail, at least not in the early stages.

Example Prompts to Create Full App Projects

A developer created a fun little Pokemon app using the following simple prompt:

If you want to develop your own project, check out the following video that shows how a YouTuber creates an entire project, including files, using a single prompt! 🤯

New 🧑‍💻 Smol AI Developer - Build ENTIRE Codebases With A Single Prompt (ChatGPT)

The overall project workflow looks like this:

You can check out a detailed setup guide on the GitHub.

If you want to stay up to date with newest tech and AI developments and tools, join our free newsletter by downloading one of our cheat sheets: 👇

Some critics have argued the following points against using smol-dev or similar tools to generate large programming projects automagically:

❌ The anti-patterns we see at the moment in this type of project are:

1) The entire code is passed to the LLM as context using a huge number of tokens meaninglessly. (you only need the function signature)

2) 1-page spaghetti definition files are stupid and unmaintainable (just read prompt.md if you don't believe me).

3) No way of verifying the 'plan' before you go and generate the code that implements it (expensive and a waste of time; you should generate function signatures first and then verify they are correct before generating the code for them).

4) Generating unit tests for full functions instead of just the function signatures (leaks implementation details).

These points may very well be true but in practice it may still work and create real value. It’s a great step towards having a true code generation machine pushing the code generation up a level to “project generation”.

And if the output is inefficient and erroreneous, there’s still the programmer (=prompter) to fix it! Like in chess, programming will remain one of these areas where human+machine will far outperform only human or only machine.

💡 Recommended: 30 Creative AutoGPT Use Cases to Make Money Online