This roundtable discusses prompt engineering, covering research, consumer, and enterprise perspectives. Prompt engineering is defined as getting the most from language models through clear communication and iterative experimentation. A good prompt engineer communicates clearly, iterates effectively, anticipates errors, and understands model outputs. The key is clear communication, not complex abstractions. Trusting the model involves rigorous testing and analyzing outputs, not blind faith. The future of prompt engineering may involve models assisting with prompt creation and a shift towards user elicitation, making the user's intent clear to the model. David explains the "engineering" aspect of prompt engineering stems from the iterative trial-and-error process. The ability to repeatedly restart and experiment with different prompt variations, without the constraints of human conversation, allows for systematic design and refinement, similar to traditional engineering practices. Zack defines prompt engineering as the process of eliciting desired outcomes from a language model, emphasizing clear communication and understanding the model's "psychology." He likens it to conversing with a person, highlighting the iterative nature of refining prompts to achieve the intended results. The final segment explores heuristics for determining when a task is achievable through prompting versus when it's unlikely to succeed. The panelists discuss the importance of assessing whether the model seems to grasp the task and whether iterative refinement is leading to progress. They describe abandoning efforts when progress is stalled and the model's thought process seems fundamentally misaligned with the task. The speaker describes an experiment where Claude, a language model, was tasked with playing Pokemon Red using a Game Boy emulator. Despite using various complex prompts, Claude struggled with interpreting the game screen, highlighting the limitations of current language models in handling visual information and the trade-off between prompt engineering effort and waiting for improved models.The speaker discusses their approach to prompting Claude to understand the Pokemon game screen, including superimposing a grid, describing grid segments visually, and reconstructing the image into an ASCII map. The speaker contrasts their intuition for prompting text models with image models, finding multi-shot prompting less effective for images and noting the difficulty in improving Claude's visual acuity. Amanda identifies key qualities of a successful prompt engineer, including clear communication, iterative refinement, and anticipating potential issues. She stresses the importance of considering unusual or edge cases when designing prompts to ensure robustness and reliability across diverse inputs. The ability to iterate and improve prompts through experimentation is highlighted as crucial.David discusses the complexities of prompt engineering in real-world applications, emphasizing the need to account for user input variability. He highlights the discrepancy between idealized user inputs and the often messy, error-prone nature of actual user interactions, requiring prompt engineers to anticipate and address these challenges. The importance of analyzing model outputs to identify and correct errors is emphasized.The discussion focuses on the "theory of mind" aspect of prompt engineering, requiring engineers to understand the model's perspective and limitations. This involves systematically identifying and communicating all necessary information to the model, stripping away assumptions and ensuring clarity. The ability to step back from one's own knowledge and communicate effectively with the model is highlighted as a key differentiator between good and bad prompt engineers.The conversation explores the iterative process of improving prompts by interacting with the model. This involves asking the model to identify unclear instructions or ambiguities, and using its feedback to refine the prompt. The surprising effectiveness of asking the model to explain its mistakes and suggest improvements is discussed.The panelists debate the extent to which language models can identify and correct their own errors. While acknowledging that the reliability varies, they emphasize the value of asking the model to explain its mistakes and suggest improvements, as this interaction often leads to valuable insights and prompt refinement. The act of engaging with the model's output to understand its reasoning process is highlighted as crucial for learning and improvement.Amanda shares her approach to evaluating model output, emphasizing the importance of careful prompt design to ensure high-signal responses. She explains that a small set of well-crafted prompts can yield more reliable insights than a larger, less carefully constructed set. The focus is on analyzing the consistency and reliability of model outputs rather than relying solely on large datasets.The discussion shifts to the importance of understanding the model's reasoning process beyond simply assessing its accuracy. The panelists highlight the value of examining the model's output to gain insights into its thought process, which can inform prompt refinement and lead to more effective interactions. The potential impact of effective prompting on experimental success is emphasized. The speaker introduces a thought experiment: imagine hiring a competent temp worker who doesn't know your company. This analogy highlights the importance of providing clear instructions and context in prompts, rather than relying on assumptions about the model's pre-existing knowledge or using misleading role-playing techniques. The speaker suggests starting with a direct explanation of the task before making adjustments. The discussion centers on the effectiveness of different prompting styles, comparing honesty (clearly stating the task and the user's identity) with deception (pretending to be a teacher creating a quiz). The speaker argues that honesty is generally preferred with more capable models, advocating for direct communication about the task rather than using deceptive or tangential approaches.The conversation shifts to the use of metaphors and role-playing in prompts, with the speaker providing an example of using a "high school assignment" metaphor to improve the model's evaluation of charts. However, the speaker cautions against using these shortcuts, emphasizing the importance of clear, direct instructions and being specific about the context of the task. The discussion focuses on chain of thought prompting, where the model explains its reasoning before providing an answer. The speakers debate whether this reasoning is genuine or a computational artifact, ultimately concluding that while the philosophical implications are complex, chain of thought prompting demonstrably improves the model's performance.A method for evaluating large language models involves replacing the model's reasoning process with realistic-looking, yet incorrect reasoning, to observe whether the model arrives at the wrong conclusion. This tests whether the model is truly reasoning or simply performing computations. Experiments show that the reasoning process itself contributes to the model's outcome, suggesting it's not merely computational. Inconsistent reasoning steps in the model's process also highlight the complexity of its internal mechanisms.The discussion explores the necessity of perfect grammar and punctuation in prompts, concluding that while it doesn't hurt, the level of attention to detail should be natural. The conversation then shifts to the differences between pretrained models and RLHF models, highlighting that pretrained models are more susceptible to typos and inconsistencies in prompts, while RLHF models are trained to avoid them. This difference stems from the conditional probability of typos in the pretraining data being much higher.The discussion contrasts how pretrained and RLHF models respond to user input, particularly regarding stylistic choices like emojis and typos. Pretrained models tend to mirror the user's style more closely, while RLHF models are trained to produce polished outputs, regardless of the user's input style. This highlights how the training process shapes the models' responses and their ability to adapt to different user preferences.The conversation differentiates between enterprise and research prompts, focusing on the number of examples provided. Enterprise prompts prioritize reliability and consistency, often using fewer, carefully chosen examples. Research prompts, conversely, aim for diversity and exploration, often employing numerous examples to probe the model's capabilities. The choice of examples—illustrative versus concrete—also impacts the model's response.The discussion contrasts prompting approaches for one-time use versus repeated use. One-time prompts focus on achieving a single correct result, while enterprise prompts require robustness across a wide range of inputs and potential uses. The level of care and thoroughness in prompt design varies greatly depending on the intended application, emphasizing the need for adaptability in prompting strategies.The discussion offers advice on improving prompting skills, suggesting that reading well-written prompts and analyzing model outputs is crucial. Other recommendations include experimenting, practicing regularly, and seeking feedback from others. The most significant learning often comes from pushing the boundaries of what the model is capable of, tackling challenging tasks to gain a deeper understanding of the model's behavior.The conversation explores the phenomenon of "jailbreaking" models, attempting to elicit unexpected or undesirable outputs. Jailbreaks often involve pushing the model beyond its typical input distribution, exploiting weaknesses in its training or design. The discussion suggests that jailbreaks reveal insights into the model's internal mechanisms and its limitations.The discussion traces the evolution of prompt engineering over the past three years, noting that initial "hacks" and tricks have often been incorporated into model training, reducing their effectiveness. However, new capabilities and frontiers continue to emerge, demanding new prompting strategies. The overall trend shows increased trust in models' ability to handle more complex and detailed information, reducing the need for simplification. This segment details a novel approach to prompt engineering: providing the large language model (LLM) with research papers on prompting techniques instead of manually crafting prompts. The speaker highlights the surprising effectiveness of this method, emphasizing that the model can process and apply the information from the paper directly, eliminating the need for simplified instructions. This approach saves time and improves the quality of results.The speaker discusses the evolution of their prompting strategies, emphasizing a shift from explicitly instructing the model to adopting a more empathetic approach. The core idea is to understand the model's capabilities and limitations, thereby tailoring prompts to maximize its potential. This involves simulating the model's thought processes and providing it with relevant literature to enhance its understanding.This segment focuses on the differences between prompting pretrained and RLHF (Reinforcement Learning from Human Feedback) models. The speaker shares insights into the distinct mental models needed for effectively interacting with each type of model, suggesting that RLHF models are more human-like and easier to understand, while pretrained models require a different approach that involves simulating their internal processes. The discussion also touches on the value of different types of reading material for developing better intuition in prompting. The speakers discuss common mistakes people make when writing prompts, such as treating the prompt box like a Google search bar or obsessing over finding the perfect phrasing. They emphasize the importance of clear, comprehensive instructions that consider edge cases and provide "outs" for the model when it encounters unexpected input. This segment explores the future of prompt engineering, considering the potential for LLMs to become more adept at understanding user intent. The speaker uses information theory to frame the problem, arguing that prompt engineering will always be necessary to some extent to ensure sufficient information is provided to specify the desired outcome. However, the speaker also anticipates the evolution of tools and collaborative methods to make the process more efficient and intuitive.This segment delves into the future of prompt engineering, suggesting a shift toward more collaborative interactions between humans and LLMs. The speaker envisions a future where LLMs act as prompting assistants, helping users refine their prompts and providing feedback. This high-bandwidth interaction will involve iterative refinement and feedback loops, leading to more accurate and effective prompts.This section focuses on the advanced techniques used by experts to extract the best performance from LLMs. The speaker describes their approach as aiming for the "top 1%" of model capabilities, suggesting that this requires a deep understanding of the model's strengths and limitations. This segment highlights the difference between everyday users' interactions with LLMs and the approach of experienced prompt engineers.This segment envisions a future where the relationship between the user and the LLM shifts from a simple instruction-following dynamic to a collaborative partnership. The speaker suggests that as models become more sophisticated, they may take on a more active role in eliciting information from users, effectively prompting the user to provide clearer and more complete instructions. This change reflects the increasing capabilities of LLMs and their potential to understand complex tasks.This segment summarizes the discussion on the future of prompt engineering, highlighting the growing importance of elicitation techniques. The speaker emphasizes that drawing the right information from the user will become increasingly crucial, suggesting that the skill of prompt engineering will evolve into a more introspective process of self-reflection and clear communication with the model. The analogy of teaching a student is used to illustrate this point. Here are some best practices for prompt engineering mentioned: Clarity over Conditioning: Avoid writing prompts that are heavily based on your own prior understanding or specific jargon. Ensure the prompt makes sense even to someone (or an AI) without your specific background knowledge. Step Back: Practice stepping back from your own perspective to evaluate if the prompt is clear and unambiguous. Use Starting Points: For those less experienced, prompt generators can provide a good initial structure or idea to build upon. Iterative Refinement: Engage in a feedback loop with the AI. If the results aren't what you expected, provide feedback and adjust the prompt accordingly. This high-bandwidth interaction helps refine the output.