The AI Driven Development Glossary

Eric Elliott
14 min readSep 1, 2024

--

From Agents to Zero-Shot Prompting

Image by Dragonsmuse_

As I covered in the introductory article, “The Art of Effortless Programming” (currently being expanded into a book of the same name), AI Driven Development is the process of building software leveraging AI to produce source code or applications, largely automating tasks like code generation, documentation, testing, etc. It can produce profound improvements in productivity, up to an order of magnitude or better.

This glossary is the current state of the glossary for the book, and should help you get familiar with common terms in AIDD and AI in general. It also serves as a great way to get a sneak peek at the contents of the book-in-progress.

Want to test yourself? Here’s a little flashcard game study guide made by Claude 3.5 Sonnet.

Glossary

  • Agents: In AI, agents are autonomous entities capable of perceiving their environment, making decisions, and taking actions to achieve specific goals. In AIDD, agents can be used to automate various aspects of the development process, such as code generation, testing, or optimization. See also: Multi-Agent Systems, AI Orchestration.
  • AI Assisted Development (AIAD): A development methodology that uses AI models to assist developers in tasks such as code completion, debugging, and optimization, enhancing productivity and efficiency. The human in AIAD takes on the primary responsibility of producing code or applications, while the assistant plays a supportive role with autocomplete suggestions, chat Q&A, code explanation, etc. See also: AI Driven Development (AIDD).
  • AI Driven Development (AIDD): A development methodology that leverages AI models to produce source code or applications, largely automating tasks such as code generation, bug detection, and documentation. The AI in AIDD takes on the primary responsibility of producing code or applications. See also: AI Assisted Development (AIAD).
  • AI Ethics: The study and implementation of ethical considerations in the development and deployment of AI systems.
  • AI Orchestration: The process of coordinating and managing multiple AI models, tools, or agents to work together efficiently in complex workflows. In AIDD, AI orchestration involves integrating various AI-powered tools and services throughout the development pipeline, ensuring they work in harmony to automate and optimize the software development process. See also: Multi-Agent Systems.
  • Artificial Neural Networks: A class of machine learning models inspired by the structure and function of biological neural networks, consisting of interconnected nodes (neurons) that process and transform data. See also: Deep Neural Networks.
  • Attention Density: The amount of computational resources dedicated to processing relationships between tokens in the input, relative to context length, which can decrease as context length increases. Attention density shrinks as context length grows, potentially leading to information loss or misinterpretation. See also: Sparse Attention, Transformer Architecture.
  • Attention Mechanism: A technique allowing the model to focus on different parts of the input when generating each part of the output. See also: Attention Density, Transformer Architecture.
  • Automatic Prompt Optimization: The use of machine learning techniques to automatically generate and refine prompts for optimal performance on specific tasks. This can involve techniques like genetic algorithms or reinforcement learning.*
  • Autoregressive: A sequential generation process where each new output depends on previously generated outputs. See also: Decoding.
  • Chain-of-Thought Prompting: A technique that involves guiding the AI model through a step-by-step reasoning process to arrive at a final answer. This method can improve the accuracy of responses, especially for complex problems, by encouraging the model to break down its thought process. See also: Prompt Engineering.
  • Chinese Room Problem: A thought experiment proposed by John Searle challenging the notion of machine understanding in AI. It argues that a system manipulating symbols without understanding (like a computer program) cannot be said to truly comprehend, even if it produces intelligent-seeming outputs. It has been challenged and cast into significant doubt by the functional semantic understanding and cognitive reasoning capabilities of today’s large language models. See also: Functional Understanding.
  • Constraint-Based Programming: A programming paradigm invented by Ivan Sutherland in the 1960s, where constraints are used to define relationships between variables, guiding the solution to a problem. Constraints can be worded in positive or negative terms, e.g., “include” or “avoid”. In AIDD, constraint-based prompting can be used to guide AI models in generating code that meets specific requirements or constraints. See also: Constraint-Based Prompting.
  • Constraint-Based Prompting: Prompting with constraints to guide the output. See also: Constraint-Based Programming.
  • Context: The information provided to the model that influences its understanding of the input and output. Context can include previous inputs, prompts, or external knowledge. See also: Context Length
  • Context Length: The maximum number of tokens a model can process in a single input, determining how much information it can consider at once. See also: Attention Density, Sparse Attention.
  • Decoder: The component that generates output tokens based on the semantic map and previous outputs. See also: Encoder, Decoding.
  • Decoding: The process of generating output tokens based on the hidden states of the model, which include the semantic map. In encoder-decoder architectures, decoding takes the semantic map produced by the encoder and generates the output sequence using the hidden states. The decoding process often involves techniques like attention mechanisms, which allow the model to focus on relevant parts of the input and previously generated hidden states to guide the output generation. See also: Encoding, Decoder, Hidden States.
  • Deep Neural Networks: A class of neural networks with multiple hidden layers of processing, allowing for complex, hierarchical representations of data. See also: Hidden Layers.
  • Detokenization: Converting output tokens back into human-readable text. See also: Tokenization.
  • Embedding: Converting token IDs into high dimensional vector representations that capture semantic meaning. See also: Latent Space, Tokenization.
  • Encoding: Transforming input embeddings into a semantic map through multiple layers of processing. In encoder-decoder architectures, encoding is a separate step performed by the encoder. However, in decoder-only architectures, such as GPT, the decoder is responsible for both understanding the input and generating the output, blurring the line between encoding and decoding. Most current Large Language Models (LLMs) and Large Multimodal Models (LMMs) are decoder-only models. See also: Decoding.
  • Encoder: The component that processes input tokens and generates a semantic map that captures the input’s meaning. See also: Encoding, Decoder.
  • Few-Shot Learning: The ability of a model to learn new tasks or concepts from only a few examples. See also: Knowledge Transfer, Few-Shot Prompting.
  • Few-Shot Prompting: A technique where a small number of examples (typically 2–5) are provided within the prompt to demonstrate the desired task or output format. This approach helps the model understand the context and expected response style without requiring fine-tuning. Note: Examples can sometimes leak into the model’s output, so it may be better to provide template strings or constraints to guide output, instead. See also: Prompt Engineering, Few-Shot Learning, Zero-Shot Prompting.
  • Fine-tuning: The process of further training a pre-trained model on a specific dataset to adapt it for a particular task or domain. Many things that can be done with fine-tuning can be done with lower risk with prompt engineering, at the expense of increased token cost, inference compute cost, and response latency. See also: Prompt Engineering, Pretrained Neural Network.
  • Functional Understanding: The ability to perform tasks that require comprehension, reasoning, and problem-solving, distinct and separate from subjective experience or consciousness. See also: Qualia, P-Zombies, Chinese Room Problem.
  • Generative AI: AI systems capable of creating new content, such as text, images, video, audio (including music), or code, based on patterns learned from training data. See also: Large Language Model (LLM), Large Multimodal Model (LMM), Natural Language Processing (NLP).
  • Good Old-Fashioned Artificial Intelligence (GOFAI): A term used to describe early AI systems that relied on symbolic representations and logical reasoning to solve problems. GOFAI systems rely on clear-cut rules and logical structures. See also: Symbolic AI.
  • Hidden Layers: Intermediate layers in a neural network that represent data in high-level, high dimensional representations, capturing complex patterns and relationships. See also: Hidden States, Deep Neural Networks.
  • Hidden States: The intermediate representations of the input and output data in a language model, capturing the context, semantics, and state of the model at each processing step. Hidden states are continuously updated to incorporate new information, maintain contextual understanding, and reflect the progress of ongoing computational operations, with the final hidden state at each step being used to predict the next token in the output sequence. See also: Encoding, Decoding, Transformer Architecture, Hidden Layers.
  • High Dimensional: A space with many dimensions (often 100+), each representing a different aspect of the data. High dimensional spaces can capture complex relationships and patterns that may not be apparent in lower-dimensional spaces. See also: Embedding, Latent Space.
  • Iterative Refinement: A prompting approach where initial responses are gradually improved through a series of follow-up prompts, each building upon or refining the previous output. This technique is particularly useful for complex or creative tasks in AI Driven Development. To build a metaprogram, combine iterative refinement with constraint-based programming, using the metaprogram as a record of guidance offered during iterative refinement to arrive at the desired results. The metaprogram then becomes a reusable template for similar future tasks. See also: Metaprogramming, Constraint-Based Programming.
  • Knowledge Transfer: A capability of pretrained models where a model trained on one task is as able to complete a related task it has not been specifically trained on. See also: Few-Shot Learning, Zero-Shot Prompting.
  • Large Multimodal Model (LMM): An advanced AI model capable of processing and generating multiple types of data, such as text, images, audio, and video. LMMs integrate information across different modalities to perform complex tasks. In AIDD, LMMs can be used for tasks like generating UI/UX designs from text descriptions, creating documentation with embedded visualizations, or understanding and generating code alongside its visual outputs. See also: Multimodal Model, Large Language Model (LLM), Generative AI.
  • Latent Space: A high dimensional semantic (i.e. meaningful) representation where the model’s learned knowledge interacts with the meaning of the input, capturing complex inter-concept relationships to inform output generation. Within this space, the semantic (meaning) similarity between concepts can be measured using Euclidean distance, allowing for quantifiable comparisons of meaning. Similar topics cluster together along many different dimensions, giving each topic a kind of address in the space. This allows the model to reason about the relationships between topics, pay attention to related topics, and to generate outputs that are meaningfully consistent with the input. See also: Embedding, High Dimensional, Semantic Map.
  • Loss Function: A mathematical function used in machine learning to measure the difference between the predicted output of a model and the actual target value. It quantifies how well the model is performing on a given task, with lower values indicating better performance. The goal during training is to minimize this function, thereby improving the model’s accuracy. Common types of loss functions include Mean Squared Error (MSE) for regression tasks and Cross-Entropy Loss for classification tasks. See also: Objective Function.
  • Lost in the Middle: A phenomenon where the model’s attention becomes thinly spread across a large input, potentially leading to information loss or misinterpretation, especially for tokens in the middle of the input. See also: Sparse Attention, Attention Density.
  • Machine Learning: A subset of artificial intelligence that focuses on developing algorithms that allow computers to learn from and make predictions or decisions based on data. See also: Deep Neural Networks
  • Metaprogramming: Metaprograms are programs that create or manipulate other programs, sometimes including themselves. In the context of AIDD, metaprogramming is the creation of programs (metaprograms) that generate or manipulate other programs. This can be particularly powerful when combined with techniques like iterative refinement, allowing developers to automate core software development workflows with specialized programs that follow your project’s best practices, using your specific tech stack and tools. Metaprogramming can be used to automate work such as feature planning and story mapping, building the state management layer of an application, the UI components, the documentation, the unit tests, etc. See also: Iterative Refinement, AI Driven Development (AIDD).
  • Model Compression: Techniques used to reduce the size and computational requirements of large AI models while maintaining performance. See also: Model Pruning, Model Distillation.
  • Model Distillation: A process where a smaller model (student) is trained to mimic the behavior of a larger, more complex model (teacher), often resulting in a more efficient model with similar capabilities. See also: Model Compression, Model Pruning.
  • Model Pruning: A technique for reducing model size by removing unnecessary weights or neurons from a neural network, often with minimal impact on performance. See also: Model Compression, Model Distillation.
  • Multi-Agent Systems: A system composed of multiple interacting AI agents working together to solve complex problems or perform tasks. In AIDD, multi-agent systems can be used to manage different aspects of the development lifecycle, with specialized agents handling tasks like product discovery, project manegement, code generation, documentation, testing, review, and deployment. See also: Agents, AI Orchestration, AI Driven Development (AIDD).
  • Multimodal Model: An AI model designed to work with multiple types of input or output data, such as text, images, audio, or video. Unlike unimodal models that specialize in a single data type, multimodal models can process and generate various forms of data, enabling more comprehensive and context-rich interactions. In AIDD, multimodal models can enhance development processes by integrating diverse data types, such as combining code analysis with visual interface design or documentation generation. See also: Large Multimodal Model (LMM), Generative AI.
  • Multi-Modal Prompting: Combining different types of input (text, images, code snippets) in a single prompt to provide richer context and guide more comprehensive responses from AI models capable of processing multiple modalities. See also: Multimodal Model, Large Multimodal Model (LMM).
  • Natural Language Processing (NLP): A branch of AI focused on enabling computers to understand, interpret, and generate human language. See also: Generative AI, Large Language Model (LLM).
  • Objective Function: A mathematical function in machine learning and AI that quantifies the performance of a model or algorithm. It defines the goal of an optimization problem, typically representing a value to be either minimized (e.g. loss function) or maximized (e.g. scoring function for Reinforcement Learning) . The objective function guides the learning process by providing a clear target for optimization, and its choice significantly influences the behavior and performance of the resulting model. See also: Loss Function, Reinforcement Learning.
  • OSS: Open-source software, software that is released with a license that allows anyone to use, modify, and distribute the code.
  • P-Zombies (Philosophical Zombies): A thought experiment in philosophy of mind that imagines beings physically identical to humans but lacking conscious experiences or qualia. P-Zombies would behave exactly like conscious humans, including claiming to have subjective experiences, but would have no inner mental life. This concept is often used in debates about the nature of consciousness and its relationship to physical processes, and has implications for discussions about AI consciousness and the possibility of creating truly sentient artificial beings. See also: Qualia, Functional Understanding, Chinese Room Problem.
  • Preamble: A section of the prompt that provides context and instructions to guide the AI model in generating responses. Preambles can include information about the roles the model should assume, the task, and supporting context or keywords. By setting the stage for the AI model, preambles help ensure that the generated outputs meet specific requirements and align with the user’s expectations. See also: Prompt Engineering, Role-Based Prompting.
  • Pretrained Neural Network: A neural network that has been trained on a large dataset to learn general knowledge about the world, which can be fine-tuned on specific tasks or domains. See also: Deep Neural Networks, Fine-tuning.
  • Prompt Engineering: The practice of crafting effective input prompts to guide AI models in generating desired outputs. A subset of things that can be done with prompt engineering (such as output formatting constraints) can be done with fine-tuning, which can save on token cost, inference compute cost, and response latency. See also: Fine-tuning.
  • Prompt Chaining: A method of linking multiple prompts together, where the output of one prompt serves as input for the next. This technique allows for more complex workflows and can help manage context in longer interactions. See also: Prompt Engineering.
  • Qualia: The subjective, conscious experience of sensory perception, emotions, and thoughts. Because qualia is subjective, there is no objective way to measure or compare it. Because we can’t test it, we do not know whether or not language models are conscious. Language models do exhibit functional understanding, which gives them some correlates of consciousness, but we lack other corroborating evidence, or a detailed understanding of the mechanics of consciousness in human minds to make a meaningful comparison. See also: Functional Understanding, P-Zombies.
  • Reinforcement Learning: A machine learning paradigm where an agent learns to make decisions by interacting with an environment and receiving feedback in the form of rewards or penalties. The agent’s goal is to maximize the cumulative reward over time by learning an optimal policy. See also: Reinforcement Learning from Human Feedback, Reinforcement Learning from AI Feedback, Objective Function.
  • Reinforcement Learning from Human Feedback (RLHF): A training technique where the model receives feedback from human evaluators to improve its outputs, guiding it towards more accurate and desirable responses. See also: Reinforcement Learning from AI Feedback (RLAIF).
  • Reinforcement Learning from AI Feedback (RLAIF): A training technique where the model receives feedback from other AI models to improve its outputs, leveraging the knowledge and expertise of multiple models to enhance performance. See also: Reinforcement Learning from Human Feedback (RLHF).
  • Retrieval Augmented Generation (RAG): A technique that combines information retrieval with text generation, allowing AI models to access and incorporate external knowledge when generating responses or code. In AIDD, RAG can be used to improve code generation by referencing existing codebases, documentation, or best practices. See also: Prompt Engineering, AI Driven Development (AIDD).
  • Role-Based Prompting: A method where the AI model is instructed to assume a specific role or persona (e.g., “Act as a senior software engineer”) to elicit responses from a particular perspective or with specific expertise. This works because mentions of these roles can activate semantic topic clusters in the AI reasoning process, drawing on deeper related connections while the AI produces its output. SudoLang users are strongly encouraged to include roles in the preamble for best results. See also: Prompt Engineering, Preamble.
  • Semantic Map: A comprehensive representation of the input that captures relationships and context, processed through the pretrained neural network. This map contextualizes the input with the model’s existing knowledge about the world. See also: Latent Space, Hidden States, Embedding.
  • Sparse Attention: A phenomenon where a model’s attention becomes thinly spread across a large input, potentially leading to information loss or misinterpretation, especially for tokens in the middle of the input. See also: Dense Attention, Attention Mechanism.
  • Symbolic AI: A field of artificial intelligence that focuses on using symbols and logic to reason about complex sets of facts. It uses high-level symbolic representations, logical rules, and search algorithms to solve problems, both simple and complex. See also: Good Old-Fashioned Artificial Intelligence (GOFAI).
  • Synthetic Data Generation: AI-powered creation of realistic, artificial data sets for testing and development purposes in AIDD projects.
  • Temperature: A hyperparameter that helps tune the model to produce more creative output, selectable at runtime. During token generation, the model produces a distribution of potential next tokens based on its learned representations and the current context. Temperature adjusts the sharpness of the probability distribution, influencing how the next token is selected by either concentrating on more probable tokens or allowing for a broader selection. A lower temperature results in a sharper distribution, favoring more likely outcomes, while a higher temperature produces a flatter distribution, allowing the model to consider a wider variety of potentially strong, but less likely outcomes. See also: Transformer Architecture.
  • Tokenization: Breaking down input text into smaller units (tokens), typically words or subwords, represented as numeric IDs. See also: Detokenization, Embedding.
  • Transformer Architecture: A neural network architecture that uses self-attention mechanisms, forming the basis of many modern language models. See also: Attention Mechanism, Encoding, Decoding.
  • Zero-Shot Prompting: A prompting technique that involves asking the model to perform a task or answer a question without providing any examples. This relies on the model’s pre-existing knowledge and ability to generalize across tasks. See also: Few-Shot Prompting, Prompt Engineering.

Next Steps

Want to learn how you or your team can get up to speed on AI Driven Development and improve productivity 10x — 20x on your core workflows? Book a consultation today.

Members of EricElliottJS.com get access to all of my recorded video lessons on AI Driven Development, all 3 of my books on JavaScript and AIDD, and lots of content on software engineering and Test Driven Development (TDD).

Eric Elliott is a Webby-nominated software engineering expert, author, and creator of SudoLang, an AI programming language. With over 10 years of experience deploying AI models at scale to millions of users, he built and trained production AI models, and was an early pioneer of prompt engineering and AI Driven Development (AIDD). He has served as an engineering manager working on Generative AI for Adobe Firefly, tech lead on a social video AI app spun out of Stanford Research Institute, and a JavaScript expert and consultant on software development productivity and AIDD.

--

--