One solution to this problem are synchronous monitors, which we support in verifiers, our open-source framework.
However, models became increasingly creative to circumvent the monitor: they used encodings, split actions into multiple ones, or inferred the answer otherwise.
