I live in Seattle, WA, and work on AI agents in Visual Studio Code
and GitHub Copilot at Microsoft. My work spans agent products, evaluation, and agent observability. You can find it at @zhichli, primarily across VS Code and the GitHub Copilot SDK, and my personal work at @b1tank.
I led the VS Code evaluation engineering workstream and created the evaluation harness and associated agentic analysis and reporting framework (public showcase: What 50,000 agent runs taught us), as well as VSC-Bench, a benchmarking suite for VS Code and its extensions. I worked closely with model providers, including Microsoft AI, OpenAI, and Anthropic, to produce accurate, meaningful evaluations, and with the community to advance observability in VS Code.
Before joining the VS Code core team, I worked on the GitHub Copilot Applied Science team, focusing on coding data synthesis, model training pipelines, and recommendation systems (public display). Earlier, I helped build cloud services including Azure Datadog and Azure Managed Grafana, where I was a founding engineer. Across these roles, I developed broad experience in full-stack application development, cloud infrastructure, operations, and observability.
My path into software began in scientific computing during my PhD in chemical engineering, where I built machine learning models in MATLAB and aerosol models in Fortran and C++. Those experiences shaped my appreciation for performance, correctness, and clarity.
Having worked in both academia and the AI and software industries, I believe:
“AI can save us work, but it can also distance us from the learning that work provides. Curiosity is fundamental to human nature. We want to learn more, not less - and AI should be wielded to advance education, not deprive us of opportunities to learn.”
That is why I began building an educational site for my dad, a longtime mathematics teacher, and learning projects for myself to catch up on foundational technologies that still matter.
I also enjoy basketball 🏀 and billiards 🎱. I’m a Stephen Curry and Golden State Warriors fan, and I admire Curry’s humility, work ethic, and competitive drive.
My public collection of reusable agent skills is available at b1tank/skills. Other tools I have built are shown below.
Public work
- Agent monitoring in VS CodeThe public guide to collecting and inspecting traces, logs, and metrics from agent sessions.
- What 50,000 agent runs taught usA co-authored analysis of repeated evaluation runs across models, prompts, and agent behavior.
- Enterprise OpenTelemetry controls for VS Code agentsPolicy-backed telemetry export controls for VS Code agent sessions in enterprise-managed environments.
- VS Code agent OpenTelemetry walkthroughThe official GenAI observability walkthrough uses VS Code agent instrumentation I worked on, visualized in the Aspire Dashboard.
Open source contributions
- VS CodeAgent Host OpenTelemetry, trace context, content controls, and model telemetry.
- VS Code Copilot ChatGenAI instrumentation, local SQLite trace storage, OTLP export, and agent activity signals.
- GrafanaFixed OpenTelemetry Jaeger context propagation and added configurable outbound user-agent headers.
- Dagger container-useNative Windows support, a Git-notes hang fix, and command documentation.
- Pi coding agentClarified and reconciled coding-agent keybinding behavior in the public documentation.
Projects
Agent and Observability
A cross-platform, local-first OpenTelemetry desktop app for exploring traces, logs, and metrics, designed for use by both people and agents.
A VS Code extension built by Michelle Ma (@michiisai), an intern I mentored, for exploring agent behavior in depth through OpenTelemetry, designed for use by both people and agents.
Vendor-neutral OpenTelemetry instrumentation for the Pi coding agent, exporting traces, metrics, and logs with GenAI semantic conventions, privacy-first content controls, and bounded shutdown behavior.
A Linux desktop-control MCP server for X11/Xwayland, AT-SPI, OCR, and isolated Xvfb verification.
Education
A production learning platform that turns my dad’s original classroom material into structured, interactive high-school mathematics method courses with polished formulas, diagrams, and multiple learning paths.
A freehand-first mathematics whiteboard optimized for iPad and Apple Pencil. It converts drawn intent into editable parametric geometry and supports images, durable local boards, and browser-local course recording.
Runnable browser lessons for K&R and Salvatore Sanfilippo’s 37-part Let’s Learn C series, with modern-C notes and source-linked examples.
A source-backed workshop that teaches terminal architecture by reconstructing Ghostty one observable subsystem at a time, from process ownership and PTYs to a native GTK window and OpenGL rendering.
A balloon-popping learning game I built for my kids, combining alphabet free play with emoji-guided spelling and visual addition and subtraction challenges.
Tools
A browser-based screenshot and annotation tool with local editing, export, and no required backend.
A GNOME Shell extension for discovering, controlling, and inspecting WireGuard tunnels from the desktop panel.
Scientific
A C++ aerosol coagulation model from my scientific-computing work that ran about 90% faster than the legacy Fortran implementation.
A Fortran implementation of aerosol coagulation using the Direct Simulation Monte Carlo method.
Small implementations of foundational computational-fluid-dynamics methods.
An early distributed-computing project applying k-means clustering to geospatial data with PySpark.
