// glossary
AI and AI coding glossary
This glossary defines 30 terms you’ll meet when adopting AI for software work. Each entry gives a one-sentence definition first, then what it means in practice, with a link to an authoritative source.
Agentic coding
Agentic coding is software development in which an AI agent plans and carries out multi-step programming tasks, such as editing several files, running tests and fixing failures, with a human setting goals and reviewing results.
It differs from code completion, where the AI only suggests the next lines. Tools like Claude Code, OpenAI Codex, GitHub Copilot’s agent features and Cline work this way. The developer’s job shifts toward specifying, reviewing and testing.
Source: Yao et al., "ReAct: Synergizing Reasoning and Acting in Language Models" (2022)
AI agent
An AI agent is a system in which a language model decides which actions to take, uses tools to take them, looks at the results and repeats until a goal is reached.
The difference from a chatbot is the loop: an agent can read files, run commands, call APIs and correct itself. That makes agents more capable and also riskier, so permissions, sandboxes and human review matter.
AI coding assistant
An AI coding assistant is a tool that uses language models to help write, explain, review, test and change code, from inline suggestions to agents that complete whole tasks.
They come as editor extensions, standalone editors, terminal tools, desktop apps and cloud services. See the comparison of AI coding assistants for verified details on the main options.
Artificial intelligence (AI)
Artificial intelligence is the field of building computer systems that perform tasks normally associated with human thinking, such as understanding language, recognizing images, making predictions and making decisions.
In everyday business use, “AI” usually means machine learning systems, and since 2023 mostly large language models. Standards bodies define it more carefully: the NIST AI Risk Management Framework describes an AI system as an engineered or machine-based system that can generate outputs such as predictions, recommendations or decisions for a given set of objectives.
Code completion
Code completion is an AI feature that suggests the next characters, lines or block of code as you type, which you accept or ignore.
It was the first widespread form of AI-assisted programming. It is fast and low-risk because you see every suggestion before accepting it, but it works best for boilerplate and patterns that already exist in your code.
Source: Chen et al., "Evaluating Large Language Models Trained on Code" (2021)
Context engineering
Context engineering is the practice of deciding what information goes into a model's context window, and in what form, so it has what it needs and nothing that distracts it.
It is broader than prompt wording: it covers rules files, which documents and code to retrieve, tool results and conversation history. For AI agents that run many steps, managing context well is often the difference between a finished task and a confused one.
Source: Anthropic, "Effective context engineering for AI agents"
Context window
The context window is the maximum amount of text, measured in tokens, that a model can consider at once, including your instructions, the files you share and its own reply.
Anything outside the context window is invisible to the model. AI coding assistants manage the window for you by choosing which files, rules and history to include, which is why a clear project rules file and focused requests give better results than pasting a whole codebase.
Source: Google Machine Learning Glossary
Embedding
An embedding is a list of numbers (a vector) that represents the meaning of a piece of text, code or an image, so that similar items end up close together.
Embeddings power semantic search: you embed your documents once, embed the user’s question, then find the nearest documents. This is the first step of most RAG systems.
Source: Mikolov et al., "Efficient Estimation of Word Representations in Vector Space" (2013)
Evals and benchmarks
Evals are tests that measure how well an AI model or system performs a task; benchmarks are standardized evals used to compare models.
For coding, SWE-bench measures whether a model can resolve real GitHub issues. Public benchmark scores are a useful signal but not a guarantee for your codebase. The most reliable eval is a small set of tasks from your own work, run the same way each time you consider a new tool.
Source: Jimenez et al., "SWE-bench: Can Language Models Resolve Real-World GitHub Issues?" (2023)
Fine-tuning
Fine-tuning is further training of an existing model on a smaller, task-specific dataset so it behaves in a particular way.
Fine-tuning changes style, format and specialized behavior well, but it is a poor way to teach a model facts that change. For most business and coding uses, good prompts, rules files and RAG are cheaper and easier to update. Techniques like LoRA make fine-tuning cheaper by training only a small number of extra parameters.
Source: Hu et al., "LoRA: Low-Rank Adaptation of Large Language Models" (2021)
Guardrails
Guardrails are controls placed around an AI system to keep its inputs, outputs and actions within acceptable limits, such as content filters, permission prompts, sandboxes and output validation.
In coding tools, guardrails include asking before running commands, restricting which directories an agent can write to, blocking network access and requiring human review before merging. Guardrails reduce risk; they don’t replace review.
Hallucination
A hallucination is output from an AI model that sounds confident and plausible but is false, such as an invented fact, a citation that doesn't exist or a call to a function that isn't in the library.
In coding, typical hallucinations are non-existent APIs, wrong parameter names and made-up package names. Tests, type checkers, linters and reading the official docs catch most of them; retrieval reduces them but doesn’t eliminate them.
Source: Huang et al., "A Survey on Hallucination in Large Language Models" (2023)
Inference
Inference is running a trained model to produce output from new input, as opposed to training it.
Every request you send to an AI assistant is an inference request. Inference cost and speed are why providers price by tokens and why longer contexts cost more.
Source: Google Machine Learning Glossary
Large language model (LLM)
A large language model is a machine learning model trained on very large amounts of text to predict the next token, which lets it generate and transform text, including code.
Modern LLMs are based on the transformer architecture. They don’t look facts up unless they’re connected to tools or documents; they generate the most likely continuation of the text they’re given. That is why they can be fluent and wrong at the same time (see hallucination).
Machine learning (ML)
Machine learning is a branch of AI in which a system learns patterns from example data instead of following rules a programmer wrote by hand.
A model is trained on data, then used to make predictions on new inputs. Spam filters, product recommendations and language models are all machine learning systems. The quality of the output depends heavily on the quality and coverage of the training data.
Model Context Protocol (MCP)
The Model Context Protocol is an open standard for connecting AI applications to external tools and data sources through a common interface.
Instead of building a separate integration for every assistant, a service exposes an MCP server once, and any MCP-compatible client can use it. Common examples connect assistants to issue trackers, databases, documentation and browsers. Only install MCP servers you trust: they run with the permissions you give them.
Multimodal model
A multimodal model can take in, and sometimes produce, more than one kind of data, such as text, images, audio or video.
For developers, the practical uses are sharing a screenshot of a bug or a design mockup, or having the assistant read a diagram. The model still reasons in tokens; images are converted into a form it can process.
Open-weight model
An open-weight model is a model whose trained parameters (weights) are published so anyone can download and run it, though its training data and code may not be.
Open weights let you run a model on your own hardware for privacy or cost reasons. “Open weight” is not the same as “open source”: the Open Source Initiative’s definition also requires enough information about data and code to rebuild and modify the system. Always check the license before commercial use.
Source: Open Source Initiative, The Open Source AI Definition
Project rules file
A project rules file is a Markdown file in a code repository that gives AI coding assistants standing instructions for that project, such as build commands, conventions and things to avoid.
Names differ by tool: AGENTS.md (an open format supported by many tools), CLAUDE.md, .github/copilot-instructions.md, .cursor/rules/, .clinerules/ and others. See How to write project rules for AI coding assistants.
Source: AGENTS.md: a simple, open format for guiding coding agents
Prompt
A prompt is the input you give a language model: the question, instructions, examples and any text or code it should work with.
In coding tools the visible prompt is only part of what the model receives. The tool adds a system prompt, your rules files and selected code before sending the request.
Source: Google Machine Learning Glossary
Prompt engineering
Prompt engineering is the practice of wording and structuring prompts so a model produces more accurate, consistent and useful output.
Practical techniques include stating the goal and constraints up front, giving an example of the desired output, breaking work into steps and asking the model to plan before it writes code. For coding, being specific about files, interfaces and tests matters more than clever phrasing.
Source: Wei et al., "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models" (2022)
Prompt injection
Prompt injection is an attack in which text the model reads, such as a web page, email, issue or code comment, contains instructions that make the model ignore its original instructions.
It is the top risk in the OWASP Top 10 for LLM Applications. For coding agents it is a practical concern: a malicious README or dependency could tell an agent to leak secrets or run commands. Limit agent permissions, review commands before they run and don’t give agents credentials they don’t need.
Source: OWASP GenAI Security Project: LLM01 Prompt Injection
Reasoning model
A reasoning model is a language model trained to work through a problem in intermediate steps before giving its final answer, which improves results on math, logic and multi-step coding tasks.
Reasoning models spend extra tokens “thinking”, so they are slower and cost more per request. They are worth it for planning, debugging and complex refactoring, and often overkill for simple edits or completions.
Retrieval-augmented generation (RAG)
Retrieval-augmented generation is a technique where a system first retrieves relevant documents and then gives them to the language model, so its answer is grounded in that material.
RAG lets a model answer from your own documentation, tickets or code without retraining it, and makes it possible to show sources. Answer quality depends mostly on retrieval quality: if the right document isn’t found, the model can’t use it.
Source: Lewis et al., "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks" (2020)
System prompt
A system prompt is a set of standing instructions, set by the application rather than the user, that tells a model how to behave for a whole conversation.
AI coding assistants use system prompts to define their role, tools and safety rules. Your project rules file is usually added alongside it, which is why rules apply to every request without you repeating them.
Source: OpenAI API documentation: text generation and prompting
Temperature
Temperature is a setting that controls how random a model's output is: lower values make it pick the most likely tokens, higher values make it more varied.
Most coding assistants choose the temperature for you. When you call a model through an API for code generation or data extraction, a low temperature usually gives more consistent results. Some newer reasoning models don’t expose the setting at all.
Source: Google Machine Learning Glossary
Token
A token is the unit of text a language model reads and writes: a whole word, part of a word, a punctuation mark or a piece of code.
Model limits and prices are measured in tokens, not characters or words. As a rough rule for English, a token averages a few characters, so code with long identifiers and symbols often uses more tokens than plain prose of the same length.
Source: Google Machine Learning Glossary
Tool use (function calling)
Tool use, also called function calling, is a model's ability to request that an application run a defined function, such as a search, a database query or a shell command, and then use the result.
The model doesn’t run anything itself; it outputs a structured request, and the application decides whether to execute it. This is the mechanism behind every AI agent and coding assistant that edits files or runs tests.
Vector database
A vector database stores embeddings and quickly finds the ones most similar to a query vector.
Dedicated vector databases exist, but many teams start with an extension to a database they already run. For example, pgvector adds vector columns and similarity search to PostgreSQL.
Source: pgvector: open-source vector similarity search for Postgres
Vibe coding
Vibe coding is building software by describing what you want to an AI and accepting its code largely without reading or understanding it.
Andrej Karpathy coined the term in February 2025. It can be fine for throwaway prototypes and personal tools. For anything that handles customer data, money or security, it is risky: you are responsible for code nobody has reviewed. See How to review AI-written code.
Source: Andrej Karpathy's post introducing the term (February 2025)