Prompting a model to write intermediate reasoning steps before committing to an answer. The written steps measurably improve performance on multi-step problems; they are also generated text, to be read as a debugging aid rather than a sworn account of the computation (Chapter 4).