Changelog
All notable changes to this project are documented here. The format is based on Keep a Changelog, and this project follows Semantic Versioning.
Unreleased
0.1.0 - 2026-08-31
First release.
Added
hf-logittiltmodel provider, registered through theinspect_aientry point, so any eval resolving its model withget_model()can use it unchanged.- Two-context lockstep decoding: the model’s own weights run twice per step, on the conversation and on a behaviour-eliciting variant of it, and the mixed distribution is sampled from.
steering_prompt(system message at the start) andsteering_reminder(appended to the last user message), each with a_filevariant.steering_strengthandtarget_strengthfor weighting the two distributions,naturalness_floorfor bounding how far a sampled token may stray from the unmodified model, andprefillfor opening the elicited context.steering_strength=0with no instruction as a valid unsteered starting state; an instruction is required only when steering is actually on.set_steering()andclear_steering(), which scope steering to the running sample, andsteer_target(), a tool that lets an agent turn steering on partway through a conversation and change what it steers toward.- Batching of concurrent
generate()calls into shared forward passes, with per-row token budgets. - Tool calling, parsed with Inspect’s own handler.
- Every
GenerateConfigoption Inspect’shfprovider honours:max_tokens,temperature,top_p,top_k,seed,stop_seqs,logprobsandtop_logprobs. - On-policy plausibility of each completion in
output.metadata["logittilt"].
Notes
- Logprobs are reported from the unmodified model rather than the distribution sampled from, so they measure how plausible the unsteered model finds the steered text. This differs from
hf. - The naturalness floor does not apply when
steering_strengthis 0, so that setting reproduces the unmodified model exactly and works as a control arm. - Inspect’s generate cache keys on the messages, tools, config and model name, so it cannot see steering and two calls differing only in steering share an entry. Leave
cacheoff when steering. seedreproduces a decode for a fixed batch; batch composition depends on arrival timing.