Using AI Large language models are next-token generators based on probability, not thinking entities, and their outputs must be verified by users. They excel at summarizing known information and suggesting research sources, but are poor tools for learning new topics due to potential hallucinations. Published - 11 min read Using AI Text generation tools have become so sophisticated that they seem to have their own personality. The reality is that the LLMs Large Language Models underneath these tools are just next token generators based on probability. They don’t have personalities , and they don’t think . The only thing they can do is generate the next token to create new text. They do this through probability algorithms and weights applied during training. These tools are not deterministic , so they fail to generate consistent results. They shine, however, in the presence of ambiguity . They can fill in the blanks and provide ideas building additional context . As I’ve said before, AI is just a tool /post/2026/just-a-tool . Understanding its strengths and weaknesses is crucial to leverage its full potential, so let’s start with a high-level overview of how LLMs work. How LLMs Work Models are created by processing large volumes of sample text , encoding words, word fragments, even letters into numbers. Using these numbers, the text is converted to millions or billions of vectors representing the phrases and sentences in the sample data. Models are then trained by applying weights to the generated vectors, giving larger values to results that are considered good and lower values to results that are less optimal. Generation happens by encoding the input aka. prompt and using it to predict the next token over and over until a full response is generated. All LLMs do is predict the next token based on an input . The training process makes certain results more likely but not fully deterministic. LLMs are probability machines that can be tweaked by adjusting the weights of the tokens, but once in a while they will provide the wrong output . Wrong results are often referred to as hallucinations . Some people claim that hallucinations are not a bug but a feature. I, however, have never been able to leverage a hallucinated result. With all this in mind, let’s take a look at how LLMs can boost your productivity, first outside of software development. AI Outside Software Development LLMs predict the next token based on an input, and they do so until the full response is generated. The response can be exactly what you wanted or it can be plain wrong . You can only use LLMs for tasks where you can verify the results . LLMs are poor tools for learning new topics. The most they can do is to propose resources for you to consider. Still, you need to verify the sources . Let’s take a look at tasks where using AI can help you. Summarize Known Information LLMs can generate text a lot faster than you can write. They can generate a summary for an article or meeting minutes faster than you can type. The caveat is that the summary or the minutes can be wrong . You should not summarize an article if you haven’t read it. You should not use meeting minutes generated by AI if you haven’t attended the meeting . If you know the contents of the article or you were at the meeting, you can verify the generated text for accuracy, and you will still save a lot of time. If you can verify the result, let AI do the tough or boring work . Sometimes the results might not be perfect, but you can iterate until you have the quality you require. With AI, your energy is spent reviewing results not typing, but you still have to go to the meeting and read the article. Research When you research a topic, you are reviewing unfamiliar information . That immediately eliminates you as a reviewer of any AI generated information. You can’t use AI to generate the answers to your questions. Instead, you can ask AI to provide good sources where you can learn about that information. Some sources will be more reputable than others, so you will have to verify them. This is true even if you didn’t use AI. AI tools can simply provide a wider range of sources faster than you can find them. Your responsibility is to verify those sources for the most accurate and up-to-date information. It is important to understand that LLMs cannot find sources that didn’t exist at the time they were trained, so the information might be out-of-date depending on the topic and model used. Despite these problems, LLMs can help you find the right sources a lot faster than you can through traditional methods, making them a valuable tool for research purposes. Data Interpretation and Analysis Given large amounts of data , AI can help you find patterns or interpret that data . LLMs are a great tool for data analysis as long as you can then verify the result. Tasks that used to take hours or even days can now be completed in a matter of minutes with the use of AI. Some of the time you are saving can be employed in curating and structuring the data to help LLMs and achieve better results. Doing some manual preparation ahead of time can save you a lot of hassle. Changing your process or introducing automation to clean-up and structure your data will improve the results when the data is provided to an LLM for analysis. Software Development with AI All these concepts can be applied to software development . LLMs and agents can improve your productivity when used correctly. Like before, your responsibility is to review and iterate until the results are good. Let’s take a look at some areas where you can immediately benefit by using AI. Code Reviews Code reviews are an area where AI agents and LLMs become very useful. They can find problems and inconsistencies that most often are overlooked by humans. This is also an area where mistakes are made, but those mistakes are easier to ignore.You should never accept blindly the feedback generated by AI code review. LLMs work under what I call the “Improv Effect” . In improv, the actors always agree and say yes to keep the improvised dialog going. In the same way, AIs tend to agree with the user even when the user is wrong. Due to this, they always find a problem when you tell them to look for problems . If they don’t find any, they will make them up for you. Your job is to filter out the noise and identify the real issues . Address the useful feedback and ignore the rest. I always tell engineers to avoid iterating through agents in code reviews. The first time around an agent will pinpoint some important issues. Once those are addressed, a second review will probably hallucinate many other nonexistent problems. For these code reviews to be effective, you need to know more than the AI agent . If you don’t have the right level of expertise, you can be fooled into making changes that will create a huge mess. Bugs and Security Vulnerabilities LLMs shine at reviewing large code bases and find “potential” bugs and security vulnerabilities. Notice the quotes around “potential” . These days vulnerabilities are posted as soon as they are found and verified . LLMs are very good at using standard tools that can find vulnerable dependencies , but that doesn’t mean that the vulnerability applies to you . Every week we deal with vulnerabilities in build tools and utilities that will never see the light of a production server. We tend to address them, but it might take us a little longer than production code vulnerabilities. Understanding the difference is crucial to avoid going down the vulnerability rabbit hole. Bugs are a bit different. You can assign an agent to evaluate your code base in search for bugs, and because of the “Improv Effect” , they will find them. Other than the most obvious problems, which can be caught by a compiler, interpreter, or unit tests, a functional defect really depends on the context of your application . Unless you started using agents from day one, and stored all that context next to the code, agents don’t understand what your application should do. Context is affected, not only by new features , but by changes in requirements . Even developers extremely familiar with a code base have a hard time remembering every decision unless the decision was documented and kept up-to-date. Without the application context, agents cannot find bugs . The most they can do is guess, and once in a while, they guess correctly. Your job is to sift through the bug reports and identify problems that, at the very least, are worth looking into . Your next step should be to tell the agent to write a test that reproduces the problem . Only then, when you have verified the problem is real and there’s a clear test to reproduce it, should you tell the agent to fix it. Code Generation These days the fashionable thing is to generate code through AI. Unfortunately, some people mistake generating code with shipping product , but typing has hardly ever been the bottleneck to ship robust and reliable software. I find AI more useful in other areas, but I understand that agentic coding is sexy. My recommendation is to be careful . Never assign an agent to a problem that you, yourself, don’t know how to solve . You can research the problem and ask AI to provide resources, but do not tell it to solve the problem if you don’t understand the solution, unless you don’t care about the code itself. I vibe code a lot of one-off utilities that for many years I wanted to write and never found the time. These are my experiments . They help me understand AI and agents , but for most of them I don’t care about the quality because I don’t intend to share them. When I’m writing production software, I spend most of the time like before thinking about the problem and designing the solution . Then, I work with agents to achieve the exact result that is in my head. When the solution deviates a little, I stop the agents and redirect them. Once in a while, an agent will suggest something that I hadn’t thought about. I always consider it and if I like it, I go with it. This makes me smile in the same way a junior engineer makes me smile when they come up with something I didn’t think of, and it happens with the same frequency. In my article Battleship: An Agentic Coding Experiment /post/2026/agentic-battleship , I go through a code review of AI generated code. You can read about all the mistakes the agent made to give you an idea about what you are up against. You’ve seen earlier about the process of creating and training an LLM. You’ve seen that LLMs are just “next token generators” based on probability and weighted outcomes during training. You’ve seen why it is important for you to understand the solution before you assign it to an agent. Now let me give you another bit of information. In his talk The Future of Programming https://www.youtube.com/watch?v=BHnMItX2hEQ , Uncle Bob https://en.wikipedia.org/wiki/Robert C. Martin states that the number of software developers in the world doubles every 5 years . This might not be exact but it’s close enough. What this statistic shows you is that half of the population of software developers has less than 5 years of experience . You can imply from that, that half of the code created every day, more or less, has been written by junior developers . A lot of this code is being used to train LLMs for code generation. Very few companies, if any, are looking at the training data, in this case code, and removing code that is not production ready . It’s unavoidable that subpar solutions will sneak into your code if you’re not careful. Conclusion In this article, you’ve seen how LLMs are next token generation machines . They need reliable training data that, unfortunately, doesn’t exist, to generate perfect solutions, so the solutions they provide right now are plausible, not excellent . You’ve also seen that there are other tasks with a lot less risk where AI can boost your productivity. These are the tasks you should focus on first. Any task that you have enough knowledge to verify the results is a good task to delegate to AI. This applies to software development too. You must always verify code generated by AI. You must understand the problem before assigning an agent to write the code. You need to be the lazy expert that verifies and redirects. I encourage you to experiment where the risk is low. Start with pet projects or that idea you never found the time. Later, you can apply your experience to more critical problems. AI can boost your productivity when you adapt yourself and your processes, but you should always treat the results with healthy skepticism.