Agent memory
Copilot Studio agents forgot everything between conversations. I built the prototype of long-term memory, then led the research and the team that took it to production. Primary inventor on its patent.
- Designed memory that learns differently for employees, organizations and consumers, where the data owner decides what is extracted and where it is stored.
- Designed re-learning from teaching and feedback. The org hierarchy decides who can teach an agent for everyone, and each changed fact keeps its source and history.
- Designed recall on linked metadata (people, entities, source, time) with semantic search and metadata filtering. Agents treat recalled memories as possibly stale context, not ground truth.
- Built hybrid search (BM25 and vector) over Cosmos DB with the Azure AI Search team, before Cosmos DB had vector search.
Multi-agent orchestration
I architected and built the runtime that lets a Copilot Studio agent delegate tasks to other agents, in the background and in parallel.
- Modeled delegation as a task graph with a state machine per task.
- Added an in-memory fast path (.NET Channels) for task updates beside the event bus (Event Grid, Service Bus), removing backpressure, hot partitions and resource starvation.
- Designed prompt caching that keeps its hits after context compaction and across sub-agents, both of which break exact-prefix caching.
- Built cloud agents in containers, and a React workspace where people and agents edit one task checklist and agents publish status pages.
- Designed, built and deployed production agents with customers, on site and remotely.
Agent activity and history
I created the service that records what agents say and do across M365 Copilot and Copilot Studio, and lead the team of seven engineers and scientists that builds it.
- Sharded conversation history by user to enforce each user's retention policy and data residency.
- Built agent skills and CLI tools that let coding agents read production telemetry and check their own changes after a deploy. Teams across Microsoft use them.
- Built real-time collaborative editing between people and agents in Word and Excel, and a shared remote browser. Agents propose tracked changes and never retry an action with an unknown result.
- Bring new product teams onto the service through design reviews.
Agent evaluation
For agents that fail without an error, I defined a taxonomy of failures that product and evaluation teams adopted.
- Built pre-release end-to-end evals that score the tools an agent calls, the state it changes and its final answer.
- Built a recommender that finds silent agent failures and proposes fixes.
Real-time collaborative editing
I built real-time collaborative editing for plans in Microsoft Supply Chain Center, in .NET on distributed data structures.