A Personal Guide to Developing Software with AI Assistance

David Childs October 5th, 2024 Categories: AI

Discover effective strategies for developing software with AI assistance. Learn about managing context, implementing feedback loops, choosing the right AI models, and optimizing your development workflow. This guide, inspired by the r/LocalLLaMA Reddit community, offers practical tips for leveraging AI in software development.

In the rapidly evolving landscape of software development, artificial intelligence (AI) has emerged as a powerful tool to enhance productivity and innovation. This guide, inspired by discussions in the r/LocalLLaMA Reddit community, offers insights into effectively leveraging AI for software development.

The Importance of Context and Consistency

One of the key aspects of working with AI in software development is managing context. Keeping the context low is crucial for maintaining the quality of AI-generated code. This approach helps in reducing errors and ensuring consistency throughout the development process.

To achieve this, consider the following strategies:

  1. Use boilerplate instructions to set clear guidelines for the AI.
  2. Have human developers review AI-generated code for errors and adherence to style guidelines.
  3. Make new conversations frequently to reset context when necessary.
  4. Edit existing messages to reuse context efficiently.

Leveraging Feedback Loops

Implementing feedback loops is essential for improving the quality of AI-generated code. Here are some recommended practices:

  • Have a team of developers review AI-generated code for errors or omissions.
  • Utilize tools like Edge Copilot for code reviews.
  • Implement unit tests to validate the functionality of AI-generated code.

The Chat Window Approach

Many developers find that using a chat window to interact with AI models provides several advantages:

  • It allows for more context and better understanding of the generated code.
  • This approach is particularly beneficial for junior developers, who can learn from the process while being guided by senior developers.

Iterative Development Workflow

An iterative workflow has proven to be effective when working with AI:

  1. Start with working tests.
  2. Make small, incremental changes to the code.
  3. Ask the AI to update existing code with new features before considering a complete rewrite.

This method ensures that the code remains clean, maintainable, and scalable throughout the development process.

Choosing the Right AI Model

Selecting an appropriate AI model is crucial for successful software development. Some models that have shown promise include:

  • ChatGPT 4
  • WizardLM-2 8x22b
  • Llama 3 70b

These models can be particularly useful for creating starting points and iterating with small tasks until the code is fully functional.

Project Planning and Management

AI can also assist in various aspects of project planning and management:

  • Conduct brainstorming sessions to generate ideas and solutions.
  • Craft user stories to define project requirements.
  • Document architecture decision records (ADRs) to maintain a clear project structure.
  • Create implementation guides to kickstart projects effectively.
  • Break down tasks and optimize workflow during the coding phase.

Managing Context in Large Projects

For larger projects, managing context within the AI's context window is crucial. Consider these strategies:

  • Organize context for major features or bug fixes efficiently.
  • Incorporate AI-generated artifacts to guide the development process.
  • Utilize documentation, code examples, and external content like Stack Overflow discussions to provide additional context to the AI.

By following these guidelines, developers can harness the power of AI to enhance their software development process, leading to more efficient and innovative solutions.


This blog post is based on insights shared by the r/LocalLLaMA Reddit community and various contributors discussing AI-assisted software development.