I want language models that don't just recall what we know, but help discover what we don't.
My research is on the post-training of language models — the data and algorithms that turn a pretrained model into a capable, reliable reasoner and agent. I work from a data-centric view: much of what looks like a modeling problem is really a question of which experience a model learns from, and how.
That lens runs through my work. I've shown that instruction diversity — not sheer volume — drives generalization; that the best supervised fine-tuning prepares a model for reinforcement learning rather than merely imitating it; and that self-improving agents can quietly corrupt their own memory as they accumulate experience. The connecting thread is understanding the mechanisms behind generalization well enough to engineer it.
Looking forward, I'm most excited about agents that move from recalling knowledge to discovering it: offline-to-online RL, incentivizing proactive reasoning for knowledge discovery, and foundation-model agents that can be dropped into a novel environment and learn it by experiment. The next frontier for post-training, I believe, is building models that extend the frontier of human knowledge — not just compress it.
Post-training data & algorithms
What data and objectives actually make models generalize — instruction diversity, SFT-for-RL, data selection & reweighting.
RL & reasoning
Offline-to-online reinforcement learning and incentivizing proactive, verifiable reasoning behaviors.
Self-improving agents
How agents learn from their own experience — and the failure modes when memory is continually rewritten.
AI for scientific discovery
Agents that experiment, form hypotheses, and recover mechanisms — a step toward AI scientists.
What's new
Read my research, the fun way
Visual, scrollable research stories and field notes — built to be read in about ten minutes.
OLIVE: Online Intervention
We found online intervention pretty useful: let the student try, have a teacher continue, and learn from what comes next. Gains in reasoning and agent training, with larger-scale experiments next.
Read the blog →Measurement Is the Bottleneck of Auto-Research
We trained 8,298 candidate objectives. The hard part was not generating ideas, but finding a cheap, repeatable proxy that predicted which ideas would survive at scale.
Read essay →CausaLab: Can LLM Agents Discover Causal Mechanisms by Experiment?
Agents in a synthetic lab — intervening, observing, revising. They predict the right answer with the wrong mechanism, and stop experimenting too soon.
Read write-up →Useful Memories Become Faulty When Continuously Updated by LLMs
Agents that compress experience into textual lessons can end up worse than the same model with no memory at all — even on problems they already solved.
Read write-up →GridRule: Self-Proposed Subgoal RL in an ARC-AGI-3-Style Environment
A pilot study — can a 0.8B model learn to decompose multi-step problems by proposing its own subgoals? Compositional generalization, 1.8× baseline, replicated on two seeds.
Read write-up →Publications
Where I've worked
Earlier research
- Software testing. I coauthored FuzzGPT (ICSE 2024), which uses LLMs to generate unusual programs that uncover bugs in PyTorch and TensorFlow, with Lingming Zhang, Steven Xia, and collaborators.
- Proof automation. My work with Talia Ringer and collaborators includes QEDCartographer (ICSE 2025), which uses reward-free reinforcement learning to guide Coq proof search; Proofster (ICSE 2023 Demonstrations), a web interface for automated proof synthesis; and Getting More out of Large Language Models for Proofs (AITP 2023), studying failures of common prompting methods for theorem proving.
- Learning structural recursion. In Transformer-Based Models Are Not Yet Perfect At Learning to Emulate Structural Recursion (TMLR 2024), we studied whether transformers learn recursive computations, finding shortcut behavior and failures on underrepresented cases.
- Proof-oriented programming in F*. With Justin Wang and Tianran Sun, I developed PoPilot (2025 preprint), using synthetic training data to improve proof generation and repair at both function and repository level.
I am particularly grateful for the experience working with and learning from junior collaborators:
Research is a team effort. I’ve been fortunate to learn from and build alongside these collaborators.