Material disengagement is the term Advait Sarkar and Ian Drosos use, in Vibe coding: programming through conversation with artificial intelligence, for a knowledge workflow in which the material substrate of the work is no longer worked by the practitioner. In programming that substrate is code: rather than authoring, editing and reading it directly, the programmer deliberately disengages from it and orchestrates its production and editing through an AI “producer-mediator”. The authors present Vibe Coding, taken at face value as described in Andrej Karpathy’s post, as the first glimpse of such a workflow, and conclude that vibe coding is an early manifestation of it in which practitioners keep selective and strategic oversight.
Usage
The authors interpret the idea through Material Engagement Theory, in which thinking is constituted through engagement with material things. On that reading the AI tool becomes a new kind of mediating material, so vibe coding shifts the object of material engagement from code to the AI rather than abandoning material engagement altogether; the unexpected outputs, errors and failures of the model act as the resistances that shape the programmer’s intentions. They also stress that code does not stop being a material in vibe coding: programmers still scan diffs, inspect identifiers and structure, and edit and debug directly, only tactically and selectively rather than as the norm — and doing so still requires substantial expertise in the code itself.
What the authors identify as potentially lost is the deep, enactive understanding and skill formation that come from grappling firsthand with code’s syntax, structure and debugging challenges. Separately, they link the model’s pushback during iteration to the concept of designing “productive resistances” into AI tools to cultivate intention, suggesting that intentionally designed resistances could formalise a process already occurring in vibe coding workflows.
The authors argue that the same disposition could extend to other knowledge work — reports, emails, spreadsheets, presentations — and that studying it in programming offers a way to anticipate changes in the structure of knowledge work. They caution that other domains may be harder to “vibe” in: code offers identifiers, component structure, tests, exceptions and compilation to help a practitioner check generated output, whereas auditing generated text may require line-by-line reading, so structural support for co-auditing AI-mediated work may be needed first.