How Anthropic Builds: Lessons from Labs — Mike Krieger, Anthropic
Mike Krieger, a former CPO at Anthropic, details his transition to an IC role to build directly with AI, advocating for "unreasonable" asks like porting entire codebases. He shares lessons from Instagram on scaling and highlights Anthropic's internal use of Claude as a proactive teammate, flexible lab structure, and critical insights on AI product design, vertical applications, and mental health in the fast-paced AI industry.
Mike Krieger, previously Chief Product Officer at Anthropic, transitioned to an Individual Contributor (IC) role in Anthropic Labs, driven by a “fear of missing out” (FOMO) on building directly with advanced models. This shift reflects a broader trend of senior technical leaders engaging hands-on with AI. He emphasizes a new paradigm for AI interaction: moving from explicit task delegation to articulating an end goal, granting models autonomy to achieve it, even if the results sometimes require human simplification for comprehension.
Krieger advocates for an “unreasonable” approach to AI prompts, a mindset he believes is often constrained by the “boxed-in” nature of first-generation AI products. He vividly illustrates this by recounting how, over a single weekend, he tasked Claude with porting a multi-hundred-thousand-line Python codebase to TypeScript, including verification and deployment. By Monday, the task was complete and deployable. This achievement, considered a “dumb idea” with a 2010s engineering mindset, was possible due to AI models’ enhanced access to tools and environments (e.g., virtual machines in Co-work), enabling autonomous issue remediation. He draws parallels to Instagram’s past use of Python 3 type hints and tools like MonkeyType for managing complex codebase conversions, highlighting AI’s potential to leverage production data for cross-compiling.
Drawing on his scaling experience from Instagram’s early days in 2010, Krieger underscores the importance of “pre-measuring everything” and implementing “knobs” (feature flags, dynamic configuration) for runtime adjustments. These lessons are highly pertinent in the rapidly evolving AI development landscape, where continuous change and optimization are standard.
Internally at Anthropic, Claude’s utility extends beyond basic prompting. It’s integrated through “tagging” in Slack for multiplayer delegation, allowing users to assign Claude complex, proactive roles—such as monitoring codebases, fixing bugs, independently tackling tasks, and adapting to API changes. This positions Claude as a proactive teammate equipped with context and memory, transforming internal workflows into a more asynchronous and collaborative model.
Addressing the challenge of code reviews, Krieger acknowledges that human comprehension remains a bottleneck, particularly for extensive pull requests. Anthropic mitigates this by generating “Claude Code artifacts,” which provide detailed explanations, intentions, and trade-offs behind changes, aiding reviewers in understanding without scrutinizing every line. He describes a “Claude-powered code review” process where Claude investigates specific code questions, allowing human oversight to focus on strategic intent and trade-offs.
Anthropic Labs operates on a “persevere or pivot” model, featuring bi-weekly reviews where projects are frequently wound down—a deliberate design choice rather than a sign of failure. This rapid iteration necessitates a flexible organizational structure: teams, or “bets,” are formed ad hoc, and “bet leads” often manage no direct reports, maintaining a stable org chart while projects fluidly assemble and disband. Engineering managers concentrate on individual development and optimal team assignments. Successful projects, such as Claude Design, eventually transition into more structured teams.
Regarding the future of Claude Design, Krieger envisions seamless interaction among Anthropic’s various AI services and a blurring of boundaries between design tools and full applications, enabling users to build persistent, shareable, and fully functional experiences. He also mentions “Project Unhip,” an internal initiative to remove features that are not “AGI-pilled” or are underutilized. He points out a current product complexity in the unintuitive distinctions between “code,” “co-work,” and “chat” interfaces, suggesting that simplifying these would significantly enhance user experience and AI’s delegation capabilities.
Addressing concerns about startups competing with large AI labs, Krieger remains optimistic about the startup ecosystem. He believes foundational models empower new ventures by simplifying experimentation. While large labs build platforms, startups can cultivate “laser-obsessed” vertical expertise, deep user understanding, and agile iteration—qualities often challenging for large organizations due to their complexity and broad focus. He asserts that understanding user needs and domain knowledge, rather than just code writing, remains the primary differentiator for startup success. He also notes AI’s expanding capabilities in vertical domains like finance, where the key challenge is balancing AI’s flexibility with stringent requirements for verifiability, audit logging, and data provenance.
Finally, Krieger emphasizes the critical importance of mental health and preventing burnout in the high-intensity AI field. He advises consciously allocating time offline, asserting that “no job is so important you cannot be offline for a couple of days.” He encourages adopting a “long game” perspective, recognizing that daily fluctuations are normal and that one’s sense of success should not be solely tied to day-to-day events. As a leader, he advocates for verbalizing emotions, which creates an environment where others feel comfortable expressing their feelings, fostering collective problem-solving.