A powerful concept is just like gravity - it grabs hold of builders and drives them to do extraordinary things. Incredibly proud of this crew. The magic is unfolding as we speak!
Most people think we have ideas. The irony? Ideas have people.
Watching the 4 AI-native prod pods in Cohort 30 (another expt of mine) hit their stride is proof. You have folks from entirely different teams across the company coming together with pure passion and a shared purpose
Anthropic pays $750,000+ a year for engineers who can build LLM architectures from scratch. Stanford taught the entire thing in 1 hour lecture & released it for free.
Bookmark & watch this today before someone takes it down and read this article below.
βLoop engineeringβ is a hot buzzphrase after mentions of it by Boris Cherny (Claude Codeβs creator) and Peter Steinberger (OpenClaw's creator) went viral on social media. Loops are now a key part of how we get AI agents to iterate at length to build software. In this letter, Iβd like to share my 3 key loops, shown in the image below, for building 0-to-1 products. These loops guide not just how I build software, but also how I decide what software to build.
Agentic coding loop: Given a product specification and optionally a set of evals (that is, a dataset against which to measure performance), we can have an AI agent write code, test its work, and keep iterating until the code is bug-free and meets its specification. This idea of closing the loop took off around the end of last year, and it has been a game changer in enabling coding agents to work longer productively without human intervention. For example, over the weekend, I was building an app for my daughter to practice typing, and my coding agent could easily work for around an hour, using a web browser to check what it had built multiple times before getting back to me, without needing my intervention.
The engineering loop executes quickly. Every few minutes, the coding agent might build and test a new version of the software. I hear frequently from developers who are finding new ways to engineer more effective engineering loops. This is an active area of invention!
Developer feedback loop: In this loop, a developer examines the current product and steers the coding agent to improve it. Last year, a lot of developers (including me) were acting as the QA (quality assurance) function for our coding agents, manually finding bugs and then asking the agent to fix them. But with coding agents much more able to test their own code, the amount of time we need to spend on this function has decreased significantly. This allows us to make higher-level product decisions, such as what key features to offer, where the UI needs improvement, and so on.
The developer-feedback loop operates over time intervals between tens of minutes and hours β that's how frequently a developer might review a product and give feedback. In the case of the typing app, I changed my mind a few times about the visual design, what cat costumes she can unlock as she learns (she loves cats), and the user flow for a grown-up to log in and steer the child's learning experience.
When a developer has a clear vision for what to build, it is still a lot of work to translate that vision into a specification for a coding agent to implement. Further, after the developer has seen an implementation, they might update (or perhaps clarify) the spec to steer it toward what they want. If you find that the system repeatedly runs into certain problems, building a set of evals for the agent becomes useful.
AI-native teams are increasingly using AI to help shape product direction, for example, automating the gathering and analysis of usage data, summarizing written and verbal customer feedback, or carrying out competitive analysis. However, for pretty much all the products Iβm involved in, I see humans as having a significant context advantage over current AI systems β we know a lot more than the AI system about the users and the context the product has to operate in β and thus humans play a critical role. Many people describe this human contribution as βtaste,β but I prefer to think of it as humans having a context advantage, since that gives us a clearer path to helping AI systems get better. This also speaks to why this step canβt be automated: So long as the human knows something the AI does not, human-in-the-loop is needed to to inject that knowledge into the system.
External feedback loop: This includes a wide range of tactics like asking a few friends for feedback, launching to alpha testers, or putting the code into production with A/B testing. These tactics are usually slow, rarely taking less than hours and sometimes taking days or even weeks. This data informs the developer vision, which in turn continues to drive the detailed product spec, which in turn drives the coding agent.
With coding agents speeding up software development, more engineers are starting to play a partial product management role. For many engineers who are growing into this role, the hardest part is shaping the product vision and striking a balance between building (bridging the gap between vision and spec) and getting user feedback to evolve the vision. It is important to do both!
I will write more about how to do this in future posts, but for now, I find it encouraging that engineers are playing an expanded role (just as product managers and designers now do more engineering).
[Original text: The Batch]
I've left OpenAI and the Codex team to build Blackstar: A new hardware company building the future of human-computer interaction.
We believe that software is solved. Building apps is now easy, but the next meaningful improvement in human-AI communication requires changing the OS & hardware. That's why we're building a new device entirely.
I'm also excited to announce our $12m seed round led by @AbstractVC, with participation from @naval, @SVAngel, @chapterone, and Timeless, among other amazing angels who've supported us from the old Alex days.
Excited to launch the accompanying free RLHF Course for my book. To kick it off, I've released:
- Welcome video
- Lecture 1: Overview of RLHF & Post-training
- Lecture 2: IFT, Reward Models, Rejection Sampling
- Lecture 3: RL Math
- Lecture 4: RL Implementation
I'm going to add question & answer videos throughout the lecture to go deeper on topics that need it, and potentially cover some topics that are too recent and in flux to go in print. I expect 10-15 videos in total over the next few months.
At the same time, development around the code for the book is picking up. It's a great time to build the foundation for post-training methods.
YT playlist and course landing page below.
the prompt I've been using is:
read this @SPEC.md and interview me in detail using the AskUserQuestionTool about literally anything: technical implementation, UI & UX, concerns, tradeoffs, etc. but make sure the questions are not obvious
be very in-depth and continue interviewing me continually until it's complete, then write the spec to the file
This is the most complete Claude Code setup that exists right now.
27 agents. 64 skills. 33 commands. All open source.
The Anthropic hackathon winner open-sourced his entire system, refined over 10 months of building real products.
What's inside:
β 27 agents (plan, review, fix builds, security audits)
β 64 skills (TDD, token optimization, memory persistence)
β 33 commands (/plan, /tdd, /security-scan, /refactor-clean)
β AgentShield: 1,282 security tests, 98% coverage
60% documented cost reduction.
Works on Claude Code, Cursor, OpenCode, Codex CLI. 100% open source.
Someone finally documented how to actually use Claude Code.
22K+ stars. claude-code-best-practice.
Direct from Boris Cherny and team:
β Always use plan mode, give Claude a way to verify
β Ask Claude to interview you using AskUserQuestion tool
β Use Git Worktrees for parallel development
β /loop - schedule recurring tasks for up to 3 days
β Code Review - fresh context windows catch bugs the original agent missed
β /btw - side chain conversations while Claude works
β Make phase-wise gated plans with tests for each phase
β Use cross-model (Claude Code + Codex) to review your plan
β CLAUDE[.]md should target under 200 lines per file
β Use commands for workflows instead of sub-agents
β Have feature-specific sub-agents with skills instead of general QA or backend engineer
β Vanilla Claude Code is better than complex workflows for smaller tasks
β Take screenshots and share with Claude when stuck
β Use MCP to let Claude see Chrome console logs
β Ask Claude to run terminal as background task for better debugging
β Use cross-model for QA - e.g. Codex for plan and implementation review
The community workflows included:
β Cross-Model (Claude Code + Codex) Workflow
β RPI (Research Plan Implement)
β Ralph Wiggum Loop for autonomous tasks
β Github Speckit (74K stars)
β obra/superpowers (72K stars)
β OpenSpec OPSX (28K stars)
The billion-dollar questions it addresses:
β What should you put inside CLAUDE[.]md?
β When should you use command vs agent vs skill?
β Why does Claude ignore CLAUDE[.]md instructions?
β Can we convert a codebase into specs and regenerate code from those specs alone?
The daily habits:
β Update Claude Code daily
β Start your day by reading the changelog
β Follow r/ClaudeAI, r/ClaudeCode on Reddit
Repost it. Bookmark it.
We're starting "What We Shipped," a monthly stream where we'll share our latest tips and talk about new Claude Code releases.
The first one is April 7th, come hang out with @dmwlff and me!
OMG you guys, this is incredible! This is using Google's new WebMCP function to control your browser, but not only is it lightning fast, but its unique because it is using your main Chrome instance.
Not some sandboxxed Playwright instance that doesn't want to remember your sessions, cookies, or passwords.
Your real Chrome instance. It's incredible.
You need to enable:
chrome://inspect/#remote-debugging
Also, it doesn't even require a skill to use. It just works. I'm thinking about making one anyway.
I'm telling you, download this and try it. This is my new daily for sure.
Introducing the new dev-browser cli.
The fastest way for an agent to use a browser is to let it write code.
Just `npm i -g dev-browser` and tell your agent to "use dev-browser"
Pretty much every PR I review:
0) review <URL> [codex does it's thing and finds issues]
1) is the issue clear? [if not, trash PR]
2) is this the best possible fix? [95% of the time no]
3) continue discussion, consider tradeoffs, usually rewrite PR
Most folks send too localized, small fixes that would end up making the project unmaintainable.
best coding models right now
sync work, shorter iterations, 1-5 agents in parallel:
- plan: composer 2
- work: composer 2
when you're in control, you simply only need composer 2.
async work, longer iterations, deep work:
- work: gpt 5.4
for async, you still want maximum intelligence as speed is less important with a model that can run for a really really long time
ui & taste
- opus 4.6 is still really strong here
- composer 2 is a fast follow, but not as strong (yet)
this space moves fast, so it will probably change soon!