The Best Way To Vibe Code Is To First Know The AI Coding Personality That You Are Dealing With

In today’s column, I continue my ongoing series about vibe coding and examine the vital role of knowing what’s under the hood when it comes to the type of AI coding personality that your generative AI or LLM employs. If you aren’t aware of this hidden aspect of the AI coding style at play, you are going to be quite frustrated and likely hindered in successfully making use of vibe coding.

As the old saying goes, the devil is in the details.

Let’s talk about it.

This analysis of AI breakthroughs is part of my ongoing Forbes column coverage on the latest in AI, including identifying and explaining various impactful AI complexities (see the link here).

Vibe Coding Is Trending

As a quick background, I will start by laying out the fundamentals of vibe coding. For my detailed unpacking of what vibe coding consists of, see the link here and the link here.

The usual way to craft programming code entails the handwriting of source code, often using a conventional programming language such as Python, C++, and other popular coding languages. Nowadays, generative AI and LLMs are proficient enough that you can use the AI to generate code for you. In the same manner that you enter a prompt into AI to generate a story or answer your questions, the AI can instead produce programming code on your behalf. An entire Python program, for example, can be produced in a few seconds or minutes, instead of handwriting code that might have taken hours, days, or weeks to devise.

This suggests that non-techie users who want to devise apps can simply tell the AI what they want an app to consist of, and voila, the AI will spit out the code for you. This is considered “vibe coding” because you simply express the vibe of what you want done, doing so in natural language such as English, and the AI does the heavy lifting to generate the needed code.

Every person of a non-technical and/or technical bent can suddenly become rich and famous by creating an app that they didn’t have to lift a finger to laboriously code.

Vibe Coders Are In The Room

A user who performs vibe coding is casually said to be a vibe coder.

Just about anyone can claim they are a vibe coder. That makes the title somewhat murky and tenuous. Some ardently believe that there should be a universal certification or licensing that requires you to prove that you truly know how to do proper vibe coding, and only then can you proudly declare you are a vibe coder. Similarly, courses on vibe coding and how to be a top-notch vibe coder have appeared.

Currently, vibe coding and being a vibe coder are an ad hoc and seat-of-the-pants foray. Whether it matures into something more formalized and studious is an open question. The betting line is that it won’t go through any stringent formalization. The assumption is that by-and-large, most vibe coding will be undertaken by a hands-off chunk of the world’s population and mainly be performed on an off-the-cuff basis. Maybe we will eventually end up with two classes of vibe coders, professional vibe coders versus amateur vibe coders, of which only a tiny proportion of vibe coders will be in the professional bucket.

Time will tell.

How Humans Write Code

Before we dive deeper into vibe coding, let’s consider some crucial underpinnings about how humans write code.

Anyone who has ever opted to look at someone else’s code will tell you that there is a great deal of variety in programming or coding styles that exist. This is also referred to as a software developer’s coding personality. The idea is that the manner in which you compose your code is reflective of a particular style or semblance of personality.

Some software developers are very precise and write crisp and thoughtfully composed code. They try to make sure that the source code is easy to comprehend and that anyone else eyeing the code will instantly understand what the code is doing. The code is just lengthy enough to do the job and avoids being bloated or carrying excess baggage. Kudos to this type of coding style or programming personality.

On the other hand, some coders craft messy and confusing code. Even though the code might work properly, it is nearly impossible for someone else to discern how the code operates. The code might be in spaghetti-like shape, a Byzantine series of loops and dead-ends that turn the task of reviewing the code into a murder mystery kind of puzzle. It is also likely much longer than necessary. Overall, the coding style is abysmal.

You can generally boil down coding styles into a handful or a dozen major types, though to some degree, it ranges greatly and can be influenced by how the person was trained to write code. Furthermore, there might be explicit requirements stipulating the way in which you are supposed to compose your code, such as if a software manager tells you to write a particular way.

Real-World Example Of Coding Style

A seasoned software developer will undoubtedly have lots of horror stories about the coding styles of others that they have met or encountered during their career.

In my experience as a longtime software engineer, I’ll never forget being hired to revamp a large program that a company had become completely dependent on, and for which they were in dire straits. They told me that there was an external contractor who did all the work to develop a crucial program for them and kept the source code secret from them. This put the firm into dicey waters as they became beholden to the software developer’s every whim.

The programmer would demand outrageous fees to make the smallest of coding changes. When he went on vacation, the top executives fretted that no one else knew how to debug the code or adjust it if needed. The company didn’t realize that they had put themselves into this unsavory position until long after becoming reliant on the program and the shifty programmer.

I was able to find the source code on the servers and looked at it.

One element that made me chuckle yet also caused me to shake my head in disbelief was that all the named variables and constants within the code were using the names of classical musicians. Thus, a variable that was supposed to represent the number of items in stock was named Beethoven. Another variable that kept track of dates was called Mozart. The gist is that the code was surface-wise inscrutable via the naming of objects within the code. He could have easily used more representative names, but instead opted to rely on utterly unrelated naming conventions. This was one of many disheartening and disturbing coding styles that the code embodied.

I eventually figured out the code and rewrote it. The client was relieved that the code was now readily available for others to maintain and expand. Did the original coder purposefully attempt to write obscurely, or was that just his natural way of coding? That’s an open question and one that, fortunately, no longer haunted the company.

Vibe Coding And The Generated Code

Returning to the matter of vibe coding, your first thought might be that if AI is going to generate code for you, there is no longer any need to visually inspect the code. The code is only going to be run on a computer. No human needs to inspect the code. Whether the code is nice-looking or an awful mess is of no consequence. Period, end of story.

Hold on, let’s not be so hasty.

Suppose the generated code is convoluted and runs agonizingly slowly. The app that you generated is going to run like a sloth. Users of your program aren’t going to be happy. That’s bad for you and bad all around.

Maybe the code runs well, but there isn’t any included error checking. A user enters that their age is 225, accidentally doing so, and meant to say that they are 22 years old. The AI didn’t provide any code that does error checking. The rest of the code assumes that the user is indeed 225 years of age. All sorts of other cascading problems arise.

The crux of the matter is that the nature of the generated code does make a difference. There are concerns associated with how the code will operate at run-time. Other facets involve whether the code is understandable to a human.

Why would a human inspect AI-generated code?

Because the code, by and large, currently being generated by contemporary generic LLMs is often incomplete, contains bugs, and otherwise will necessitate a human software developer to review the code and try to make it bulletproof. The aim is that eventually the AI will do this for you. Until that time, the need for human-readable code is a high-priority item.

Assessing Existing LLMs

In a recent study entitled “The Coding Personalities Of Leading LLMs”, Sonar, October 2025, researchers experimented with various popular LLMs to gauge the strengths and weaknesses of their AI-generated code, and here are some of their key findings (excerpts):

  • “The code generation capabilities of large language models are fundamental to their growing application in software development.”
  • “To effectively leverage AI in coding, developers need to be prepared to recognize and compensate for the weaknesses in the models.”
  • “Our analysis covers two classes of models: five leading ‘nonreasoning’ LLMs (Anthropic’s Claude Sonnet 4 and 3.7, OpenAI’s GPT-40, Meta’s Llama 3.2 90B, and the open-source OpenCoder-8B) and one new ‘reasoning’ model, GPT-5. “
  • “To create a direct, apples-to-apples comparison, we evaluated GPT-5 in its minimal reasoning mode, which is analogous to the nonreasoning approach of its peers.”
  • “On the one hand, they share a powerful set of strengths, from generating syntactically correct code to solving complex algorithmic problems, which makes their emergence so compelling. On the other hand, they are all built with the same blind spots: a consistent inability to write secure code, a struggle with engineering discipline, and an inherent bias towards generating technical debt.”

As noted above, an important qualm right now about generic LLMs generating code is that they often produce code that is fragile, subject to cybersecurity intrusions, and are generally not up to snuff in comparison to what a truly professional human software developer would presumably produce.

Meanwhile, regrettably, casual vibe coders that are blissfully using AI-generated code do not particularly realize that the apps and programs they are formulating might contain ticking timebombs associated with bugs, errors, and easily hackable liabilities and exposures.

Typifying AI-Generated Coding Styles Or Personalities

If you collected together a handful of human software developers, the odds are that you could inspect their code and group them into various kinds of overarching coding styles or personalities. Doing so would give you a leg up on knowing which ones will write code for you in a particular manner.

The cited study opted to do the same with the set of LLMs that they selected to examine, and came up with these expressed coding personalities and styles for each of the AIs at hand:

  • Baseline Performer — GPT-5-minimal
  • Senior Architect — Claude Sonnet 4
  • Balanced Predecessor — Claude 3.7 Sonnet
  • Efficient Generalist — GPT-4o
  • Unfilled Promise — Llama 3.2 90B
  • Rapid Prototyper — OpenCoder-8b

If you are making use of those LLMs, make sure to consider whether the coding style will produce code that will be satisfactory for whatever app or program you are seeking to generate.

Twists And Turns Aplenty

Any exploration of generative AI models that generate code is subject to the rapid pace of changes in the LLMs that are producing the code.

For example, if an AI maker decides to go behind the scenes and tweak how their AI is generating code, any prior assumptions might no longer hold. The same goes for when a new version of the AI comes out. The prior version might not be an indicator, per se, of what the new one will do. The new version could generate code in an entirely different way.

Another factor is whether an LLM has been customized or tailored to specifically be able to produce code. In essence, you can use generic generative AI to generate code, which is probably the easiest way to proceed, or you can make use of an LLM that has been shaped purposely to do code generation. In theory, the customized ones will hopefully do better at generating code since that’s what they were devised or shaped to do (of course, that isn’t an ironclad guarantee of being better at code generation).

Additional twists and turns enter the big picture.

The AI makers realize that people want to use AI to generate code. Until now, most of the generic LLMs did so on a sideshow basis. It wasn’t something that the AI makers paid much attention to. The realization that users will be attracted to use AI that can generate rigorous code has turned on the money spigots toward honing those capabilities.

Presumably, sooner rather than later, the code generated will automatically encompass solid error checking, prevent bugs from being included, and perform closer to that of a professional software developer. We aren’t there yet. A pot of gold sits at the end of that rainbow, and so the AI makers are fervently pushing in that direction.

Tricks Up Your Sleeve

Finally, one trick that you can keep up your sleeve and consider using when appropriate is to tell the AI what kind of code you want to have generated. The gist is this. If you merely blandly tell the AI in a prompt that you want it to generate code to produce a payroll program or a dating app, the AI will indubitably use whatever default mode of code generation that it has been shaped with.

You can potentially get the AI to adjust its coding style or coding personality.

In your prompt, make sure to overtly tell the AI what kind of code you want to have generated. The more specific you are, the greater the chances that the code will not have ready-made gotchas and guffaws. I should warn you that this is not a silver bullet. Even if you tell the AI to generate code in sensible and directed ways, that doesn’t ensure that the AI will do as it is told. But it can be a notable booster.

In an upcoming posting, I’ll be sharing ways to prompt AI toward suitably generating code. Be on the lookout for that posting.

A final thought for now.

Beethoven famously said this: “Music can change the world.” I’ll riff on that inspirational quote and say that AI can change the world, including and especially AI that generates code. A huge shake-up is heading our way, and the world will never be the same again.

I can already hear the music playing.

Source: https://www.forbes.com/sites/lanceeliot/2025/10/22/the-best-way-to-vibe-code-is-to-first-know-the-ai-coding-personality-that-you-are-dealing-with/