I build and maintain open-source AI agent systems, mostly through nanobot, where I'm one of the maintainers.
I care about what happens after the first successful run: preserving the right state, recovering from provider failures, and keeping tool boundaries explicit. Long-horizon tasks are only one part of making an agent usable. Its behavior has to make sense to the person using it. Its security boundaries have to hold, and the interface has to help rather than get in the way. A confusing WebUI or TUI can make a capable model hard to use.
I'm trying to understand multi-agent collaboration on open-ended problems, where the roles and division of labor are not fixed in advance. This is different from a hierarchy handing out predefined subtasks. LLM-based agents differ from human teams in their strengths, failure modes, and communication costs. Human-style task decomposition may not be a good default. I don't know what the right abstraction is yet.
I also maintain skills, a repository of reusable agent workflows for pull request review, verification, experiment planning, idea management, and technical writing.
I occasionally write about agent systems, debugging, machine learning, and security at chengyongru.github.io.



