I'm a senior in Computer Science and Technology at Zhejiang University (ζ΅ζ±ε€§ε¦), Chu Kochen Honors College (η«Ίε―ζ‘’ε¦ι’), graduating in 2027.
Two years ago this page said I liked automating boring things. That's still true β I just have more expensive ways of doing it now. These days I split my time between research on agentic AI and building the tools I personally want to exist.
- π¬ Research: Agentic AI, multimodal document retrieval & RAG. Currently with the ZJU-REAL group, working on GUI agent personalization β can an agent adapt to you at test time without retraining?
- π§ͺ Previously: AI research intern at DP Technology (ζ·±εΏη§ζ), AI for Science team β built evaluation tooling for chemistry-domain agent models, and found out the hard way that bolting RAG onto a strong base model can make it worse.
- ποΈ Building: A personal agent that lives on my own server, and a growing pile of sensors trying to give it a sense of the physical world.
A self-hosted agent running on my own server, wired into the tools I actually use daily. Along the way I've dealt with the unglamorous parts nobody puts in demos: flaky third-party clients, and the eternal question of which framework to bet on this month.
My first hardware project, coming from a background of zero hardware experience. ESP32 sensor nodes via ESPHome β Home Assistant β exposed to my agent over MCP. The goal isn't a smart home; it's answering a question I kept running into: an agent that can only read text is missing most of the world.
Building this taught me that the gap between "the code compiles" and "the thing works on my desk" is much wider than I assumed.
Research in progress: applying training-free test-time policy optimization to make GUI agents adapt to individual users. Lots of open questions, including the uncomfortable one β will GUIs still matter once agents get native interfaces? Doing the work anyway.
class Miracle:
def __init__(self):
self.languages = ["Python", "C/C++"]
self.working_on = ["Agentic AI", "Multimodal RAG", "GUI Agents"]
self.tinkering = ["ESPHome", "Home Assistant", "MCP"]
self.status = "perpetually_learning"
def introduce(self):
return ("Still forget syntax. Still ship things. "
"The ratio has improved.")Day to day: Python for everything, PyTorch for research, a lot of time in the terminal, and an increasingly opinionated view on how agents should be structured.
I used to joke that I was an unreliable programmer. I now think the real skill is knowing which parts you can afford to be unreliable about β and being ruthless about the rest.
- Reinforcement learning for agent post-training
- Embedded development, one blown ESP32 at a time
- How to pick a good research problem β genuinely the hardest thing on this list
Happy to talk about:
- π€ Agentic AI, RAG, or multimodal document understanding
- π¨ Self-hosted tooling and personal automation setups
- π‘ Hardware for people who came from software
- β Or just debugging together β misery still loves company π


