Solution architecture design is a complex process that requires both creative and analytical thinking. As architects, we juggle numerous constraints, requirements, and best practices to create robust technology solutions. This is where LLMs like GPT-4, Claude, Starcoder and the like can provide some handy assistance.
Models with comprehensive training about programming languages, software, infrastructure, and cloud technologies can augment an architect's capabilities in many ways:
LLMs can propose well-known architecture patterns that apply for a given problem statement. For example, if building a scalable web service, the LLM helper may suggest using a microservices pattern with independent REST APIs but can also explain the pros/cons of the pattern to aid the architects decision making.
LLMs are great at generating code examples for various languages and frameworks. When drafting APIs, integration flows or cloud infrastructure, an LLM can provide reusable code snippets that follow best practices. This accelerates development.
We can describe an architecture diagram or design plan to the LLM, and ask pointed questions to validate the approach. The LLM can spot potential issues related to security, performance, availability etc. based on its broad knowledge. This additional perspective helps improves architecture quality.
LLMs can be used to automate repetitive tasks like generating diagrams, creating technical documentation, filling templates - this frees up the architect to focus on creative problem solving.
There are some great open source LLMs based on Llama based models that can be fine-tuned for architectural and development use cases using custom training data and this is pretty easy to achieve with tools like AutoTrain . These models can then be localy deployed using services like Oobabooga or Gradio to expose them via simple web UIs and APIs.
I have recently been using the Phinds code llama LLM deployed on my desktop with the Oobabooga web UI to provide me with assistance on some python code and a Llama-2 based model has been providing me with some alternate views on some of the technical decisions that I have recently been working on. Having locally run models brings with it some additional security and privacy controls that are required.
By combining the creative breadth and experience of human architects with the ability to reference the technical knowledge of LLMs, we can enable architects to produce more efficient and secure designs much more quickly. LLMs amplify an architect's capabilities to envision and validate innovative solutions. With capabilities expanding rapidly, LLMs are on their way to become trusted advisors for architects!