Prompts Are Programs Too! Understanding How Developers Build Software Containing Prompts
Not on the map. Why?
Abstract (arXiv)
Generative pre-trained models power intelligent software features used by millions of users controlled by developer-written natural language prompts. Despite the impact of prompt-powered software, little is known about its development process and its relationship to programming. In this work, we argue that some prompts are programs and that the development of prompts is a distinct phenomenon in programming known as "prompt programming". We develop an understanding of prompt programming using Straussian grounded theory through interviews with 20 developers engaged in prompt development across a variety of contexts, models, domains, and prompt structures. We contribute 15 observations to form a preliminary understanding of current prompt programming practices. For example, rather than building mental models of code, prompt programmers develop mental models of the foundation model (FM)'s behavior on the prompt by interacting with the FM. While prior research shows that experts have well-formed mental models, we find that prompt programmers who have developed dozens of prompts still struggle to develop reliable mental models. Our observations show that prompt programming differs from traditional software development, motivating the creation of prompt programming tools and providing implications for software engineering stakeholders.
Key facts. Cited by 19 papers in the map (data through 7 Oct 2026). Builds on 34 of its 83 references that are in the map. First posted on arXiv 19 Sep 2024.
Builds on
34 of 83 references.
References · 34
- 2020Language Models are Few-Shot Learnerscited by 32,199
- 2023GPT-4 Technical Reportcited by 18,132
- 2022Training language models to follow instructions with human feedbackcited by 15,712
- 2023LLaMA: Open and Efficient Foundation Language Modelscited by 13,958
- 2022Chain-of-Thought Prompting Elicits Reasoning in Large Language Modelscited by 12,302
- 2021Evaluating Large Language Models Trained on Codecited by 8,053
- 2023Toolformer: Language Models Can Teach Themselves to Use Toolscited by 4,072
- 2021Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processingcited by 2,222
- 2019How Can We Know What Language Models Know?cited by 953
- 2020The State and Fate of Linguistic Diversity and Inclusion in the NLP Worldcited by 789
- 2023A Prompt Pattern Catalog to Enhance Prompt Engineering with ChatGPTcited by 612
- 2020Towards Faithfully Interpretable NLP Systems: How should we define and evaluate faithfulness?cited by 590
22 more
- 2021AI Chains: Transparent and Controllable Human-AI Interaction by Chaining Large Language Model Promptscited by 265
- 2023How is ChatGPT's behavior changing over time?cited by 265
- 2023The Impact of AI on Developer Productivity: Evidence from GitHub Copilotcited by 264
- 2022PromptChainer: Chaining Large Language Model Prompts through Visual Programmingcited by 134
- 2022Productivity Assessment of Neural Code Completioncited by 97
- 2023NLPositionality: Characterizing Design Biases of Datasets and Modelscited by 91
- 2023Graphologue: Exploring Large Language Model Responses with Interactive Diagramscited by 65
- 2021Collaboration Challenges in Building ML-Enabled Systems: Communication, Documentation, Engineering, and Processcited by 56
- 2023When Do Annotator Demographics Matter? Measuring the Influence of Annotator Demographics with the POPQUORN Datasetcited by 51
- 2018Software Engineering Challenges of Deep Learningcited by 41
- 2020A Software Engineering Perspective on Engineering Machine Learning Systems: State of the Art and Challengescited by 33
- 2023A Meta-Summary of Challenges in Building Products with ML Components -- Collecting Experiences from 4758+ Practitionerscited by 22
- 2023(Why) Is My Prompt Getting Worse? Rethinking Regression Testing for Evolving LLM APIscited by 21
- 2023PromptAid: Prompt Exploration, Perturbation, Testing and Iteration using Visual Analytics for Large Language Modelscited by 19
- 2023Building Your Own Product Copilot: Challenges, Opportunities, and Needscited by 17
- 2022Understanding Skills for OSS Communities on GitHubcited by 9
- 2024Wordflow: Social Prompt Engineering for Large Language Modelscited by 9
- 2024Development in times of hype: How freelancers explore Generative AI?cited by 8
- 2018Towards a Theory of Software Development Expertisecited by 5
- 2024A State-of-the-practice Release-readiness Checklist for Generative AI-based Software Productscited by 3
- 2024Design and evaluation of AI copilots -- case studies of retail copilot templatescited by 3
- 2024Making sense of AI systems developmentcited by 3
Built on by
Citing papers per year: 2024: 1; 2025: 11; 2026: 7.
19 papers.
Sort:
By area:
- 2026Natural-Language Agent Harnessescited by 54
- 2025What Prompts Don't Say: Understanding and Managing Underspecification in LLM Promptscited by 32
- 2025Vibe Coding as a Reconfiguration of Intent Mediation in Software Development: Definition, Implications, and Research Agendacited by 13
- 2024Beyond the Comfort Zone: Emerging Solutions to Overcome Challenges in Integrating LLMs into Software Productscited by 11
- 2025Novice Developers' Perspectives on Adopting LLMs for Software Development: A Systematic Literature Reviewcited by 3
- 2025Understanding User Experiences of Computer Use Agents: Design Space and Opportunities for Building Agent UX Prototypescited by 2
- 2025Walking the Tightrope of LLMs for Software Development: A Practitioners' Perspectivecited by 2
- 2025Sharing State Between Prompts and Programscited by 2
- 2026Agentic Pipelines in Embedded Software Engineering: Emerging Practices and Challengescited by 2
- 2025Understanding Prompt Programming Tasks and Questionscited by 1
- 2025Prompt-with-Me: in-IDE Structured Prompt Management for LLM-Driven Software Engineeringcited by 1
- 2025A Research Roadmap for Augmenting Software Engineering Processes and Software Products with Generative AIcited by 1
7 more
- 2025Experimental Analysis of Productive Interaction Strategy with ChatGPT: User Study on Function and Project-level Code Generation Taskscited by 0
- 2025The Limits of Goal-Setting Theory in LLM-Driven Assessmentcited by 0
- 2026Semantic Content Determines Algorithmic Performancecited by 0
- 2026"I Just Need GPT to Refine My Prompts": Rethinking Onboarding and Help-Seeking with Generative 3D Modeling Toolscited by 0
- 2026Graphical-Probabilistic Modeling of Generative Flows in LLM-Native Software Systemscited by 0
- 2026Ceci n'est pas une pipe: AI systems as semantic abstractionscited by 0
- 2026Natural-Language Workflows Are Not Software Yet: Artifact-Driven Compilation for Reliable Agent Executioncited by 0
- 2026Natural-Language Workflows Are Not Software Yet: Artifact-Driven Compilation for Reliable Agent Execution21 Aug 2026
- 2026Ceci n'est pas une pipe: AI systems as semantic abstractions10 Jul 2026
- 2026Graphical-Probabilistic Modeling of Generative Flows in LLM-Native Software Systems14 Jun 2026
- 2026"I Just Need GPT to Refine My Prompts": Rethinking Onboarding and Help-Seeking with Generative 3D Modeling Tools31 Mar 2026
- 2026Natural-Language Agent Harnesses26 Mar 2026
- 2026Semantic Content Determines Algorithmic Performance29 Jan 2026
- 2026Agentic Pipelines in Embedded Software Engineering: Emerging Practices and Challenges15 Jan 2026
- 2025Sharing State Between Prompts and Programs16 Dec 2025
- 2025Walking the Tightrope of LLMs for Software Development: A Practitioners' Perspective9 Nov 2025
- 2025A Research Roadmap for Augmenting Software Engineering Processes and Software Products with Generative AI30 Oct 2025
- 2025The Limits of Goal-Setting Theory in LLM-Driven Assessment8 Oct 2025
- 2025Understanding User Experiences of Computer Use Agents: Design Space and Opportunities for Building Agent UX Prototypes6 Oct 2025
7 more
- 2025Prompt-with-Me: in-IDE Structured Prompt Management for LLM-Driven Software Engineering21 Sep 2025
- 2025Experimental Analysis of Productive Interaction Strategy with ChatGPT: User Study on Function and Project-level Code Generation Tasks6 Aug 2025
- 2025Vibe Coding as a Reconfiguration of Intent Mediation in Software Development: Definition, Implications, and Research Agenda29 Jul 2025
- 2025Understanding Prompt Programming Tasks and Questions23 Jul 2025
- 2025What Prompts Don't Say: Understanding and Managing Underspecification in LLM Prompts19 May 2025
- 2025Novice Developers' Perspectives on Adopting LLMs for Software Development: A Systematic Literature Review10 Mar 2025
- 2024Beyond the Comfort Zone: Emerging Solutions to Overcome Challenges in Integrating LLMs into Software Products15 Oct 2024
- 2025Understanding User Experiences of Computer Use Agents: Design Space and Opportunities for Building Agent UX Prototypescited by 2
- 2026Agentic Pipelines in Embedded Software Engineering: Emerging Practices and Challengescited by 2
- 2026Natural-Language Workflows Are Not Software Yet: Artifact-Driven Compilation for Reliable Agent Executioncited by 0
- 2026Natural-Language Workflows Are Not Software Yet: Artifact-Driven Compilation for Reliable Agent Execution21 Aug 2026
- 2026Agentic Pipelines in Embedded Software Engineering: Emerging Practices and Challenges15 Jan 2026
- 2025Understanding User Experiences of Computer Use Agents: Design Space and Opportunities for Building Agent UX Prototypes6 Oct 2025
- 2026Natural-Language Agent Harnessescited by 54
- 2025What Prompts Don't Say: Understanding and Managing Underspecification in LLM Promptscited by 32
- 2025Vibe Coding as a Reconfiguration of Intent Mediation in Software Development: Definition, Implications, and Research Agendacited by 13
- 2024Beyond the Comfort Zone: Emerging Solutions to Overcome Challenges in Integrating LLMs into Software Productscited by 11
- 2025Novice Developers' Perspectives on Adopting LLMs for Software Development: A Systematic Literature Reviewcited by 3
- 2025Walking the Tightrope of LLMs for Software Development: A Practitioners' Perspectivecited by 2
- 2025Sharing State Between Prompts and Programscited by 2
- 2025Understanding Prompt Programming Tasks and Questionscited by 1
- 2025Prompt-with-Me: in-IDE Structured Prompt Management for LLM-Driven Software Engineeringcited by 1
- 2025A Research Roadmap for Augmenting Software Engineering Processes and Software Products with Generative AIcited by 1
- 2025Experimental Analysis of Productive Interaction Strategy with ChatGPT: User Study on Function and Project-level Code Generation Taskscited by 0
- 2025The Limits of Goal-Setting Theory in LLM-Driven Assessmentcited by 0
12 most cited of 15 All 15 (JSON)
- 2026Ceci n'est pas une pipe: AI systems as semantic abstractions10 Jul 2026
- 2026Graphical-Probabilistic Modeling of Generative Flows in LLM-Native Software Systems14 Jun 2026
- 2026Natural-Language Agent Harnesses26 Mar 2026
- 2026Semantic Content Determines Algorithmic Performance29 Jan 2026
- 2025Sharing State Between Prompts and Programs16 Dec 2025
- 2025Walking the Tightrope of LLMs for Software Development: A Practitioners' Perspective9 Nov 2025
- 2025A Research Roadmap for Augmenting Software Engineering Processes and Software Products with Generative AI30 Oct 2025
- 2025The Limits of Goal-Setting Theory in LLM-Driven Assessment8 Oct 2025
- 2025Prompt-with-Me: in-IDE Structured Prompt Management for LLM-Driven Software Engineering21 Sep 2025
- 2025Experimental Analysis of Productive Interaction Strategy with ChatGPT: User Study on Function and Project-level Code Generation Tasks6 Aug 2025
- 2025Vibe Coding as a Reconfiguration of Intent Mediation in Software Development: Definition, Implications, and Research Agenda29 Jul 2025
- 2025Understanding Prompt Programming Tasks and Questions23 Jul 2025
12 newest of 15 All 15 (JSON)