Plain meaning
Start with the shortest useful explanation before going deeper.
An instruction generated during cross-program invocation (CPI) that appears in a transaction's metadata as a nested instruction under its parent. Inner instructions are not declared in the original transaction message but are produced at runtime when a program calls another program via invoke or invoke_signed. They are visible in explorers and via the getTransaction RPC method's innerInstructions field.