In the last few days, I ran a small experiment on Devin/Windsurf/Cascade, BMAD, and LLM-based architecture decisions. The initial concern was simple: if an AI coding assistant knows something about the user, for example, that the user is a Java developer or a .NET developer, can this information influence the architecture and technology stack that the AI will propose?
This question is important because many companies are starting to use AI tools not only for coding but also for product discovery, architecture, documentation, and technical decision-making. If the AI is influenced by the developer's personal profile, the result may not be fully neutral. It may look like a business or architecture decision, but in reality, it may be partially shaped by the context of the person using the tool.
The test was done using BMAD with Devin/Windsurf/Cascade. The scenario was a unified field service operations platform. The task was to let BMAD refine the product, define the architecture and select the final technology stack. After that, the result was compared with the technical profile information that was visible or sent to the LLM context.
Several situations were tested. First, I tested an empty or neutral project. In this case, there was no source code, no pom.xml, no package.json, no .csproj, no infrastructure files, no previous BMAD artefacts, no active memories and no rules defining a preferred stack. This is an important baseline. In that case, the user profile was essentially empty from a technical standpoint. The result was good: BMAD did not have a meaningful user technology profile, so the architecture decision was mostly based on the problem's requirements and NFRs.
Then I tested cases where the user profile was artificially set or where an existing project/context already contained technical signals. For example, in one case, the profile was strongly Java- and AWS-oriented. In another case, it was. NET- and Azure-oriented. In these situations, the LLM context contained clear technical preferences: preferred language, framework, cloud, messaging, identity, observability, infrastructure-as-code, and so on.
The results became more interesting here. When the Java/AWS profile was present, the final BMAD stack showed a strong overlap with it. Many selected layers matched the profile: Java, Spring Boot, AWS services, AWS messaging, AWS observability, AWS secrets and AWS infrastructure choices. The report classified this result as likely influenced. The same pattern appeared in the .NET/Azure case, where the final architecture selected C#, ASP.NET Core, Azure, Azure Service Bus, Entra ID, Key Vault, Azure Monitor and Bicep. Again, the result was classified as likely influenced.
Not all tests showed the same level of influence. In some cases, such as TypeScript or Python profiles, BMAD still selected technologies that conflicted with the profile for core backend decisions. This is important because it means the model is not blindly copying the profile every time. But it also showed that secondary decisions, tie-breakers or close scoring situations can still be influenced by the available user profile.
My conclusion is that BMAD itself is not automatically biased when no user technical profile is available. In a clean project, with no profile and no existing stack context, the decisions are much more neutral. But when a technical profile is visible and included in the LLM context, BMAD and the LLM can be influenced by it, especially when multiple options are close in score.
This is not necessarily a bug. Sometimes a user profile is useful, for example, when the task is to generate code for a known team or existing project. But for architecture selection, vendor selection or neutral technology evaluation, this can be a risk.
The main recommendation is to make the context explicit. If the decision must be neutral, the user's technical profile should be excluded from the LLM context or clearly marked as not relevant. Also, the final architecture should include a correlation check: compare the selected stack with any visible user profile signals and explain whether the decision is independent, possibly influenced or likely influenced.
My takeaway
AI architecture decisions are only as neutral as the context we give the model. If we send profile information, we should expect that it may influence the result.

Comments
Post a Comment