LLMs in Practice: A Developer’s Guide to Building Smarter

Using LLMs to generate code and build projects is only effective if you have the right information. Without applying the correct methodology it is easy for academics to dismiss AI generated code as garbage or useless. However this is largely because of a lack of context on how to maximize LLMs for coding.
Once you communicate your projects intent, and know the tech stack you’re using, your must have clearly established requirements. This is software engineering 101 and should not be abandon just because you are using AI agents for construction.
All of this must be effectively communicated with the LLM of your choice. Once a model knows your intent, tech stack, and requirements you must ask the LLM to formulate a plan.
The same way a software architect would communicate their plan with stakeholders, you must prompt the LLM to communicate the development plan with you.
The plan should consist of micro-sprints which will tell you the best iterative way to build your project. Meaning you should have a good idea of the order and flow of which functionalities will be built and when.
Only once all this is established does it make sense to prompt the LLM to generate a design of what your file directory looks like. It’s important to think ahead and have your initial file directory planned for atleast the first 4 micro-sprints. You must organize your file directory so you have all the right folders and file types in place before you start building.
By ignoring the file directory prompt you are not giving your self a fair chance at maximizing the coding ability of LLMs.
Once your file directory is in place, prompt the LLM to give you instructions on how to install all the anticipated necessary dependencies your project will need.
Now all you have to do is prompt the LLM to give you detailed instructions on how to implement each step of your pre-established plan. Just like with traditional software engineering, the smaller you break down each step, the easier your plan will be to follow.
By taking this approach, the LLM will generate code and tell you exactly where to place it in your file directory.
Using this methodology does not replace the need for having an iterative mindset towards development. After every couple micro-sprints it is important to ask the LLM if any updates need to be made to your dependencies or the file directory.
Software testers should also be using this same methodology to save time and resources. Keep in mind the process is not flawless, and you are likely to run into a ton of bugs. However skilled developers who know how to use the equivalent of “console.log” messages will easily able to resolve such challenges.
During the iterative process sometimes a single file has too many lines of code and it’s easy to get lost in the syntax. Rather than trying to manually implement updates to the code, it is easier to just copy and paste the code into the LLM and explicitly ask it to update it for you.
Chances are you will run into bugs, and configuration issues, so patience and debugging will still be required.
Once again this process is not perfect, but following it can allow a skilled software engineer to turn a 40 hour project into a 4 hour project.
Contact Statement:
It’s possible that, due to platform limitations, censorship, or other forms of interference, I may not see community content. If that’s the case, I sincerely apologize.
Feel free to reach out to me directly at: [email protected]