The first answer is a draft
Reflection is not mystical self-awareness. It is a review pass. The agent compares its output against requirements, finds gaps, and either fixes them or reports residual risk.
The most reliable verification is tool-based: tests, linters, schema checks, database queries, diff inspection. Use the model to reason about quality, but use tools to verify facts whenever possible.
Separate generator and reviewer roles
Even in one model call, use separate instructions for generation and review. For higher risk, use a different model, a deterministic checker, or a human.
Do not let reflection become infinite polishing. Set a maximum number of review cycles and clear acceptance criteria.