Bio, Work & Ideas
Mihail Eric
On this page
Mihail Eric is Head of AI at Monaco and a Stanford lecturer who teaches developers how to build software with coding agents. His work spans task-oriented dialogue research, the codebase assistant Sage, and developer education. Across these projects, he has examined how models use surrounding information—and what engineers need to build, evaluate, and work with them.
Grounding conversation in data
Mihail spent several years in Stanford’s Natural Language Processing Group, working with Christopher Manning, Percy Liang, and Christopher Potts. His research included systems that connect a conversation to the information needed to complete a task.
In key-value retrieval networks, coauthored with Christopher D. Manning in 2017, he investigated a dialogue model that retrieved information from a knowledge base without requiring a separately modeled dialogue-state tracker. The work included a dataset of 3,031 conversations covering calendar scheduling, weather, and navigation. An assistant had to use appointment details or destination information to answer appropriately, rather than merely generate a plausible conversational response.
He also coauthored MultiWOZ 2.1, a corrected version of a widely used multidomain dialogue dataset. The team’s reannotation changed more than 32 percent of state annotations across 40 percent of dialogue turns. This addressed a problem in evaluating dialogue systems: an apparent model error can originate in an incorrect benchmark label.
What stalled at Alexa
Mihail’s engineering career included joining autonomous-mobility startup RideOS as its eighth hire. In early 2019, he joined Amazon Alexa as a research scientist, working in a small group that grew into the Conversational Modeling team. Its projects included large language models, knowledge-grounded response generation, and multimodal assistant prototypes.
His retrospective on Alexa explains how promising research could stall inside a large organization. His team identified an annotation scheme that repeatedly produced incorrect labels, but changing it required approvals across organizational layers. A transformer-training effort he led also failed to establish a productive collaboration with another internal team pursuing similar infrastructure.
These experiences inform specific criticisms of how Alexa organized research and development. Mihail argues for accessible compute, dependable data, shared infrastructure, and timelines that let uncertain experiments develop. He also argues that dividing conversation into independently owned skills made it difficult to preserve context across an interaction. His account connects organizational decisions to technical consequences: teams could struggle to correct their training data, duplicate infrastructure work, or lose information as a conversation crossed skill boundaries.
Building Confetti AI and Storia
In January 2020, Mihail and a cofounder conceived Confetti AI after discussing shortcomings in machine-learning interviews. They built curricula, question banks, and self-assessments while maintaining full-time jobs.
His account of selling Confetti describes a profitable platform whose next stage exceeded the founders’ available time. They believed expansion would require more marketing, a larger team, and a more enterprise-focused offering. Towards AI acquired it in August 2022. The sale involved both choosing who could develop the product further and transferring its technology and business.
Mihail subsequently cofounded Storia AI with Julia Turc. The company joined Y Combinator’s Summer 2024 batch and developed Sage, an open-source assistant for understanding and working with existing codebases. Its premise was that as generating code became easier, developers would spend more time reading, assessing, and designing software. An assistant therefore needed to understand the surrounding project.
Sage supported several retrieval strategies, including approaches that indexed a repository and lighter alternatives. Developers could run its pipeline locally with Ollama and a vector store or use external model providers. The team also published retrieval experiments against its own benchmark. These options let developers inspect and adjust how the assistant found relevant code, rather than treat context selection as a fixed part of the product. The repository was archived in February 2025.
Explaining the engineering around models
Mihail’s writing develops practical arguments about what engineers should learn and where models belong in software:
- Teach the work around model fitting. His 2021 analysis of data hiring examined job openings at roughly 70 relevant Y Combinator companies, collected in late 2020. From that limited sample, he argued that practitioner education should give more attention to data pipelines, deployment, and testing. His recommendation makes the gap concrete: learning to fit a model should come with learning to write a unit test.
- Expose the coding-agent loop. His minimal coding-agent tutorial explains the core through a model, conversation history, and functions for listing, reading, and editing files. The model requests an operation; ordinary code executes it and returns the result for the next iteration. He distinguishes this teachable mechanism from the approvals, error handling, and context management needed in production tools.
- Connect operational signals to implementation. In his argument about coding agents inside business software, Mihail predicts that products will increasingly help perform the work their data identifies. An error tracker, for example, could move from reporting a failure to proposing a code change. He sees an advantage in connecting diagnosis, implementation, validation, and feedback using context the product already holds. This is a proposed direction for business software, rather than a claim that every such workflow is already automated.
Teaching development with coding agents
At Stanford, Mihail teaches The Modern Software Developer, which examines how developers define intent, supply context, and evaluate work performed with coding agents. Students translate product requirements into executable specifications and build iterative workflows in which people and agents plan, implement, evaluate, and improve software together. Hands-on assignments and projects explore both the capabilities and limitations of current agents.
He also teaches professional courses on individual AI-assisted development and building AI-native engineering teams. His video series, The Build System, features AI engineers building with coding tools and showing their end-to-end workflows. These offerings extend his educational work from learning machine learning to learning how software development changes when models participate in it.
At Monaco, Mihail leads AI work on a revenue platform for go-to-market teams. The platform combines prospecting, outbound communication, interaction records, and pipeline management, capturing emails, calls, and meetings as structured records. It gives his current work a concrete setting: applying AI to the information and activities involved in a sales process.