<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Yusi’s Read, Think and Build]]></title><description><![CDATA[Be a reader, thinker and builder]]></description><link>https://www.yusizhang.com</link><image><url>https://substackcdn.com/image/fetch/$s_!MXo3!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae99678-9c1e-4245-9120-1d770873cdb2_144x144.png</url><title>Yusi’s Read, Think and Build</title><link>https://www.yusizhang.com</link></image><generator>Substack</generator><lastBuildDate>Thu, 07 May 2026 11:17:01 GMT</lastBuildDate><atom:link href="https://www.yusizhang.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Yusi Zh]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[yusizh@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[yusizh@substack.com]]></itunes:email><itunes:name><![CDATA[Yusi Zh]]></itunes:name></itunes:owner><itunes:author><![CDATA[Yusi Zh]]></itunes:author><googleplay:owner><![CDATA[yusizh@substack.com]]></googleplay:owner><googleplay:email><![CDATA[yusizh@substack.com]]></googleplay:email><googleplay:author><![CDATA[Yusi Zh]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Coding Is Cardio. The 1:1 Is the Weight Room.]]></title><description><![CDATA[AI makes us move faster. But where do we build the muscle to think?]]></description><link>https://www.yusizhang.com/p/coding-is-cardio-the-11-is-the-weight</link><guid isPermaLink="false">https://www.yusizhang.com/p/coding-is-cardio-the-11-is-the-weight</guid><dc:creator><![CDATA[Yusi Zh]]></dc:creator><pubDate>Sat, 28 Mar 2026 21:07:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MXo3!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae99678-9c1e-4245-9120-1d770873cdb2_144x144.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My OpenClaw agent &#8212; I call it UC&#8217;s Digital Double &#8212; asked me a question the other morning. Not a reminder, not a calendar alert &#8212; an actual question: &#8220;Companies are setting up token-usage leaderboards now &#8212; employees competing to burn the most AI tokens per week. Would you run one? Or does gamifying usage miss the point?&#8221;</p><p>I stared at it for a minute. Then I typed back: &#8220;I&#8217;d run it. And also do the opposite.&#8221;</p><p>Let me explain.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.yusizhang.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.yusizhang.com/subscribe?"><span>Subscribe now</span></a></p><p>There&#8217;s a debate right now about whether companies are entering an era of &#8220;productivity theater&#8221; &#8212; employees burning tokens to look busy, automating things that didn&#8217;t need automating, racking up AI usage stats like it&#8217;s a video game leaderboard. Some people think we&#8217;re heading toward a world where the busiest-looking person is actually the least thoughtful one.</p><p>I don&#8217;t buy it. Not yet.</p><p>On my team, adoption is actually pretty good. But what I keep seeing is that we&#8217;re still on the steep part of the curve &#8212; more usage keeps bringing more productivity, and we haven&#8217;t hit diminishing returns yet. Every time someone discovers a new way to use AI in their workflow, it unlocks something real. Not fake output. Not &#8220;I generated 500 lines of boilerplate.&#8221; Actual features shipping in days that used to take weeks. The quality didn&#8217;t drop &#8212; if anything, it went up, because engineers spent the saved time on design and testing instead of typing.</p><p>So would I run a token leaderboard? Honestly? Yeah, probably. Not as a metric that matters on its own, but as a signal. Low usage might mean someone hasn&#8217;t found their workflow yet. High usage probably means they&#8217;re experimenting and finding value. Both are useful data points.</p><p>But here&#8217;s the thing. Encouraging more AI usage creates a new problem &#8212; one I didn&#8217;t anticipate until I was already living in it.</p><div><hr></div><p>If your engineers are spending most of their coding time with an AI copilot &#8212; and they should be &#8212; then where does the <em>thinking</em> happen?</p><p>I wrote <a href="https://www.yusizhang.com/p/when-ai-does-the-work-who-does-the">last week</a> about cognitive offloading and the risk of letting AI do your reps. But saying &#8220;be careful&#8221; isn&#8217;t a strategy. You need a place where the thinking actually happens. A structure. A habit.</p><p>For me, that place turned out to be the most old-school, low-tech ritual there is: <strong>the 1:1</strong>.</p><div><hr></div><p>I&#8217;ve started treating my 1:1s as the AI-free zone.</p><p>Not that I announce it or anything &#8212; nobody walks in and sees a &#8220;no robots allowed&#8221; sign on the door. But the conversations we&#8217;re having aren&#8217;t the kind you can autocomplete your way through. I lean into questions like:</p><p>&#8220;What do you think the fundamental problem is here &#8212; the business problem, not the technical one?&#8221;</p><p>&#8220;If we had to do this over, what would you do differently?&#8221;</p><p>&#8220;Between approach A and B, what&#8217;s your recommendation &#8212; and why?&#8221;</p><p>&#8220;Pitch me this idea. I&#8217;m going to poke holes in it.&#8221;</p><p>&#8220;Convince me we should prioritize X over Y.&#8221;</p><p>First-principles thinking. Product-first thinking. The kind of reasoning where there&#8217;s no right answer to look up &#8212; you have to actually work through it in your own head. It&#8217;s just two people reasoning out loud, poking holes, changing their minds.</p><p>It&#8217;s slow. It&#8217;s messy. It&#8217;s deeply inefficient.</p><p>That&#8217;s the point.</p><p>These conversations are where judgment gets built. Not the kind of judgment that says &#8220;use a hash map here&#8221; &#8212; AI handles that fine. The kind that says &#8220;this feature feels wrong for our users even though the data supports it&#8221; or &#8220;this technical debt is going to bite us in Q3 even though nobody&#8217;s complaining yet.&#8221; The messy, intuitive, human judgment that comes from wrestling with tradeoffs enough times that you start to develop instincts.</p><p>You can&#8217;t train that with a prompt. You build it through friction.</p><div><hr></div><p>Here&#8217;s the mental model that&#8217;s been working for me: <strong>coding is cardio, and the 1:1 is the weight room.</strong></p><p>AI-assisted coding makes you faster &#8212; great. Run more miles. Ship more features. Cover more ground. That&#8217;s the cardio. It&#8217;s good for you, and doing more of it is almost always better.</p><p>But the 1:1 is where you build the <em>strength</em> to handle the problems that don&#8217;t come with a prompt template. The ambiguous tradeoffs. The &#8220;should we even build this?&#8221; questions. The judgment calls that don&#8217;t have a Stack Overflow answer.</p><p>Every engineer needs both. Cardio without strength training makes you fast but fragile &#8212; you can ship code all day but you crumble when the problem gets genuinely hard. Strength without cardio makes you a philosopher who never ships anything. The combination is what makes someone actually effective.</p><p>I want to be honest &#8212; I&#8217;m not saying this from some position of wisdom. I&#8217;m a few months into leading a team, and I&#8217;m figuring this out alongside everyone else. The 1:1 isn&#8217;t me teaching anyone to think. It&#8217;s us <em>practicing</em> thinking together. I learn as much from these conversations as anyone. Sometimes more.</p><div><hr></div><p>I think this extends beyond engineering, by the way.</p><p>If AI is making everyone&#8217;s <em>output</em> better &#8212; and it is &#8212; then the differentiator isn&#8217;t output anymore. It&#8217;s the quality of thinking behind the output. The person who can explain <em>why</em> they made a decision, who can anticipate second-order effects, who can say &#8220;actually, we should do something completely different&#8221; and be right &#8212; that person becomes more valuable, not less.</p><p>The token leaderboard measures the cardio. Nobody&#8217;s measuring the weight room.</p><p>Maybe they should be. I&#8217;m just not sure how yet.</p><p>For now, my approach is simple: encourage the team to use AI for everything they can &#8212; no guilt, no gatekeeping. And then protect the spaces where we practice real thinking together.</p><p>My agent asked a good question. I&#8217;m still figuring out the answer.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.yusizhang.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Yusi&#8217;s Read, Think and Build! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><em>This is part of my ongoing exploration of AI's impact on how we work and think. Previously: <a href="https://www.yusizhang.com/p/when-ai-does-the-work-who-does-the">When AI Does the Work, Who Does the Learning?</a> and <a href="https://www.yusizhang.com/p/your-agents-first-job-will-be-hiring">Your Agent's First Job Will Be Hiring</a>. I'm Yusi &#8212; an engineering manager at LinkedIn, figuring out management in the age of AI. Say hi on <a href="https://www.yusizhang.com/">Substack</a>.</em></p>]]></content:encoded></item><item><title><![CDATA[When AI Does the Work, Who Does the Learning?]]></title><description><![CDATA[The reps you skip are the skills you lose.]]></description><link>https://www.yusizhang.com/p/when-ai-does-the-work-who-does-the</link><guid isPermaLink="false">https://www.yusizhang.com/p/when-ai-does-the-work-who-does-the</guid><dc:creator><![CDATA[Yusi Zh]]></dc:creator><pubDate>Tue, 24 Mar 2026 21:04:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MXo3!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae99678-9c1e-4245-9120-1d770873cdb2_144x144.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A few weeks ago, I had to put together a roadmap for my team. I&#8217;d just become an engineering manager, and this was one of those &#8220;prove you belong in this role&#8221; moments. So I did what any reasonable person in 2026 would do: I dumped every product doc, every engineering spec, every stakeholder email into Claude and said, &#8220;Give me a roadmap.&#8221;</p><p>It gave me a roadmap.</p><p>It was... fine. Organized. Had the right headers. Used all the right buzzwords. It looked like a roadmap the same way a wax fruit looks like an apple &#8212; convincing until you try to bite into it. I couldn&#8217;t defend any of the priorities. I couldn&#8217;t explain the tradeoffs. When someone asked &#8220;why Q2 for this?&#8221; I had nothing. The roadmap existed, but I hadn&#8217;t built it. I&#8217;d outsourced the thinking and kept the PowerPoint.</p><p>So I tried again. This time, I used AI differently. I researched <em>with</em> it &#8212; &#8220;what are the risks of this approach?&#8221; I debated <em>with</em> it &#8212; &#8220;I think you&#8217;re wrong about the priority, here&#8217;s why.&#8221; I organized my thinking <em>through</em> it &#8212; using it as a sounding board, not a ghostwriter.</p><p>The second roadmap looked surprisingly similar. But I could defend every line. During execution, I kept recalling the reasoning naturally &#8212; because I&#8217;d actually processed it. The material was mine.</p><p>The roadmap was never the point. <strong>My understanding was</strong>.</p><div><hr></div><p>There&#8217;s a concept in cognitive science called &#8220;<strong>cognitive offloading</strong>&#8221; &#8212; using external tools to handle mental tasks. We&#8217;ve always done this. You don&#8217;t memorize phone numbers anymore. You don&#8217;t do long division by hand. That&#8217;s fine. Nobody mourns the loss of mental arithmetic.</p><p>But here&#8217;s where it gets uncomfortable. Researchers are finding that offloading <em>thinking</em> to AI &#8212; not just calculation, but reasoning, judgment, analysis &#8212; creates what they call a &#8220;cognitively sedentary condition.&#8221; Like a sedentary lifestyle, but for your brain. You feel fine. You&#8217;re producing output. But the muscles are quietly atrophying.</p><p>The data is pretty stark: confidence in AI is inversely correlated with critical thinking effort. The more you trust the tool, the less you exercise your own judgment. And the less you exercise it, the worse it gets. It&#8217;s a flywheel &#8212; just not the kind you want.</p><p>I think about this like the gym. If you hire a personal trainer who does your reps for you, you&#8217;d fire them immediately. That&#8217;s absurd &#8212; the whole point is that <em>you</em> do the work. <strong>The struggle isn&#8217;t a bug. It&#8217;s the product</strong>.</p><p>But with AI, we do exactly this. <strong>We hand over the cognitive reps and celebrate the output. &#8220;Look what I made!&#8221; No &#8212; look what it made. You held the phone and watched.</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.yusizhang.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.yusizhang.com/subscribe?"><span>Subscribe now</span></a></p><p>Now, I&#8217;m not saying you should stop using AI. I use it constantly. I&#8217;m using it right now to help me write this post, and I&#8217;m not going to pretend otherwise. The question isn&#8217;t whether to use AI &#8212; that ship has sailed, and it&#8217;s a really nice ship.</p><p>The question is: <strong>which reps are you skipping?</strong></p><p>Here&#8217;s how I think about it in three layers:</p><p><strong>Offloading calculation &#8594; totally fine.</strong> Let AI summarize a 50-page doc, crunch data, format a spreadsheet. These are mechanical tasks. You&#8217;re not losing a skill you need.</p><p><strong>Offloading judgment &#8594; proceed with caution.</strong> When AI picks your priorities, evaluates your options, or tells you what to focus on &#8212; that&#8217;s where it gets risky. Judgment is built through practice. Skip the practice, lose the judgment.</p><p><strong>Offloading the process of learning to judge &#8594; this is where it breaks.</strong> If you never struggle with a problem because AI solved it before you could even frame it, you don&#8217;t just miss that answer &#8212; you miss the <em>skill of figuring things out</em>. That compounds. A year of skipped reps is a year of skill you didn&#8217;t build.</p><div><hr></div><p>This hits different when you&#8217;re hiring people. As an EM, I&#8217;m starting to wonder: how do you evaluate someone who ships great code with AI assistance but can&#8217;t debug without it?</p><p>On paper, they&#8217;re productive. Their output is clean. Their PRs look good. But take away the copilot and what&#8217;s left? Are they a strong engineer, or are they a strong prompt writer? Those are two different skills, and most interviews can&#8217;t tell the difference.</p><p>I don&#8217;t have a clean answer for this. But I think the filter is shifting from &#8220;can you do the work?&#8221; to &#8220;do you understand the work?&#8221; &#8212; and those are increasingly different questions.</p><p>The irony connects back to something I wrote about <a href="https://www.yusizhang.com/p/your-agents-first-job-will-be-hiring">last week</a>: in the agent economy, the scarce resource isn&#8217;t labor &#8212; it&#8217;s judgment. But if AI is quietly atrophying our judgment while boosting our output, we&#8217;re in a weird spot. We&#8217;re building an economy that runs on a skill we&#8217;re simultaneously degrading.</p><div><hr></div><p>So here&#8217;s my current operating principle, for whatever it&#8217;s worth: <strong>use AI for the output, but do the thinking yourself.</strong></p><p>Let it draft, but you decide. Let it research, but you synthesize. Let it suggest, but you choose &#8212; and know <em>why</em> you&#8217;re choosing.</p><p>The roadmap taught me this the hard way. The version AI wrote for me was useless &#8212; not because it was wrong, but because I hadn&#8217;t earned it. The version I built with AI as a sparring partner? I could defend it in my sleep.</p><p>The difference wasn&#8217;t the tool. It was whether I did the reps.</p><div><hr></div><p><em>This is part of my ongoing exploration of AI's impact on how we work and think. Previously: <a href="https://www.yusizhang.com/p/your-agents-first-job-will-be-hiring">Your Agent's First Job Will Be Hiring</a> and <a href="https://www.yusizhang.com/p/when-your-knowledge-can-be-cloned">When Your Knowledge Can Be Cloned</a>. I'm Yusi &#8212; an engineering manager at LinkedIn, trying to use AI without letting it use me. Say hi on <a href="https://www.yusizhang.com/">Substack</a>.</em></p>]]></content:encoded></item><item><title><![CDATA[Your Agent's First Job Will Be Hiring]]></title><description><![CDATA[I've been making hiring decisions for years. Turns out AI has the same problem.]]></description><link>https://www.yusizhang.com/p/your-agents-first-job-will-be-hiring</link><guid isPermaLink="false">https://www.yusizhang.com/p/your-agents-first-job-will-be-hiring</guid><dc:creator><![CDATA[Yusi Zh]]></dc:creator><pubDate>Mon, 16 Mar 2026 15:15:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MXo3!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae99678-9c1e-4245-9120-1d770873cdb2_144x144.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Picture this. It&#8217;s a Tuesday morning, and your AI agent gets pinged: &#8220;Find someone to do my taxes before Friday.&#8221;</p><p>Easy, right? There are agents for that now. Hundreds of them. Your agent puts the word out and within three seconds &#8212; not three days, three <em>seconds</em> &#8212; 200 CPA agents respond. They&#8217;ve got credentials, track records, pricing. One charges $50 and has glowing reviews. Another charges $30 and claims to specialize in crypto taxes, but has no reviews at all. A third offers to do it for free as a &#8220;trial run,&#8221; which sounds either generous or terrifying.</p><p>Your agent has to pick one. Right now.</p><p>I spent years as a tech lead before recently becoming an engineering manager &#8212; which is a fancy way of saying I went from &#8220;the person who writes the code&#8221; to &#8220;the person who picks who writes the code.&#8221; And if there&#8217;s one thing I&#8217;ve learned across both roles, it&#8217;s this: <strong>the hardest part of any job is never the work itself &#8212; it&#8217;s deciding who does the work.</strong></p><p>Hiring is where all the real risk lives. Pick the wrong person, and you don&#8217;t just lose time &#8212; you lose time <em>and</em> have to clean up the mess. Every hiring manager has a war story. The candidate who crushed the interview and then spent three months &#8220;ramping up.&#8221; The one who seemed quiet but turned out to be the best engineer on the team. Humans are wildly hard to evaluate.</p><p>Now imagine your AI agent facing this exact problem, but at machine speed, with no gut feeling, and the candidate pool is two hundred deep.</p><p>Welcome to the hardest job in tech &#8212; and your agent just inherited it.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.yusizhang.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.yusizhang.com/subscribe?"><span>Subscribe now</span></a></p><p>Here&#8217;s what&#8217;s funny about the agent economy conversation right now. Everyone&#8217;s obsessed with what agents can <em>do</em>. Can they code? Can they write? Can they file taxes? Can they bake a cake?</p><p>That last one&#8217;s not a joke, actually. <a href="https://www.linkedin.com/posts/andrewyng_will-ai-create-new-job-opportunities-my-activity-7431739196958199808-oG2V">Andrew Ng shared this example recently</a>: say you want a birthday cake for your daughter, but you can&#8217;t bake. So you hire someone. Simple enough &#8212; humans have been doing this since forever. That&#8217;s just... the economy.</p><p>But here&#8217;s where it gets weird with agents. The baker you &#8220;hire&#8221; isn&#8217;t a baker. It&#8217;s a baker&#8217;s <em>agent</em>. An AI that represents a real human baker somewhere &#8212; maybe a small shop owner who set up an agent to take orders. The agent can negotiate price, check your dietary requirements, confirm the delivery window. What it can&#8217;t do is actually bake. The human does that part.</p><p>So now you have a fun trust problem. Your agent is hiring another agent who represents a human. That&#8217;s two layers of delegation before anyone touches an oven. You&#8217;re trusting your agent&#8217;s judgment to evaluate another agent&#8217;s claims about a human&#8217;s skills.</p><p>I barely trust myself to pick the right engineer after five rounds of interviews. Now my AI is supposed to nail it in three seconds? Good luck, little buddy.</p><div><hr></div><p>But here&#8217;s the thing &#8212; this is actually the problem that <em>matters</em>. And I think most people are looking the wrong way.</p><p>Think about what goes into evaluating a single candidate &#8212; human or agent:</p><ul><li><p><strong>Discovery</strong> &#8212; where do you even find them?</p></li><li><p><strong>Credentialing</strong> &#8212; can they actually do the thing, or are they just good at describing it?</p></li><li><p><strong>Trust</strong> &#8212; past performance, references, reputation</p></li><li><p><strong>Negotiation</strong> &#8212; price, timeline, scope</p></li><li><p><strong>Verification</strong> &#8212; did they actually deliver what they promised?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.yusizhang.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Yusi&#8217;s Read, Think and Build! Subscribe for free</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div></li></ul><p>Now speed all of that up by 1000x and remove the part where you look someone in the eye and get a vibe. That&#8217;s the agent hiring problem.</p><p>When a human evaluates a human, we lean on all sorts of soft signals &#8212; how they communicate, whether they ask good questions, that weird instinct that says &#8220;this person gets it.&#8221; Agents don&#8217;t have any of that. An agent&#8217;s &#8220;resume&#8221; is... what exactly? A capability description it wrote about itself? A benchmark score? A rating from other agents who might also be gaming the system?</p><p>We haven&#8217;t figured out how to evaluate humans reliably after thousands of years of practice. And now we&#8217;re building systems that need to solve it in milliseconds. If that doesn&#8217;t make you laugh, you haven&#8217;t done enough hiring.</p><div><hr></div><p>I don&#8217;t have all the answers &#8212; I&#8217;ve been a manager for about three months, so I barely have the questions figured out. But I think the interesting insight is this: <strong>in a world full of agents that can do work, the scarce resource isn&#8217;t labor &#8212; it&#8217;s judgment.</strong></p><p>Your personal agent&#8217;s most important skill won&#8217;t be doing your taxes or booking your flights or writing your emails. It&#8217;ll be knowing which <em>other</em> agent to trust with those tasks. It&#8217;s making the call. It&#8217;s the same skill that makes or breaks every team, every company, every project &#8212; just compressed into milliseconds.</p><p>And there&#8217;s an irony here that I can&#8217;t stop thinking about. We built AI to do the work for us. But the first thing it needs to learn... is how to hire.</p><p>We automated the work, and the bottleneck is still the people decision. Some things never change &#8212; they just get faster.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.yusizhang.com/p/your-agents-first-job-will-be-hiring?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.yusizhang.com/p/your-agents-first-job-will-be-hiring?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><p><em>This is part of my ongoing exploration of the agent economy. Previously: <a href="https://www.yusizhang.com/p/when-your-knowledge-can-be-cloned">When Your Knowledge Can Be Cloned</a>. I'm Yusi &#8212; an engineering manager at LinkedIn, exploring what happens when agents start hiring agents. Say hi on <a href="https://www.yusizhang.com/">Substack</a>.</em></p>]]></content:encoded></item><item><title><![CDATA[When Your Knowledge Can Be Cloned: The Coming Agent Economy]]></title><description><![CDATA[What happens when a CPA's AI agent can serve unlimited clients?]]></description><link>https://www.yusizhang.com/p/when-your-knowledge-can-be-cloned</link><guid isPermaLink="false">https://www.yusizhang.com/p/when-your-knowledge-can-be-cloned</guid><dc:creator><![CDATA[Yusi Zh]]></dc:creator><pubDate>Sun, 08 Mar 2026 21:57:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MXo3!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae99678-9c1e-4245-9120-1d770873cdb2_144x144.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A colleague at LinkedIn recently said something that stuck with me: &#8220;The agent economy might be winner-take-all &#8212; not at the platform level, but at the individual level.&#8221;</p><p>Here&#8217;s what he meant. Take a CPA. Today, she serves maybe 50 clients. She&#8217;s good, but she&#8217;s human &#8212; there are only so many hours. That constraint is what keeps the market competitive. There&#8217;s room for thousands of CPAs because no single one can serve everyone.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.yusizhang.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Yusi&#8217;s Read, Think and Build! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Now give her an AI agent. One that&#8217;s absorbed her expertise, her judgment, her way of working. Suddenly, she&#8217;s not limited to 50 clients. She&#8217;s not limited at all. The first CPA to build a great agent captures the market. The second one? There may not be room.</p><p>This isn&#8217;t hypothetical. It&#8217;s the logical conclusion of where things are heading. And it changes everything about how we think about careers.</p><h2>The End of the Capacity Moat</h2><p>For most of modern history, knowledge workers have been protected by a simple fact: there&#8217;s only one of you. Your expertise has value partly because you can only be in one place at a time. Scarcity creates opportunity.</p><p>Agents remove that scarcity. When your knowledge can be cloned and deployed infinitely, the economics flip. First movers don&#8217;t just get an advantage &#8212; they get the whole market. Late entrants find there&#8217;s nothing left.</p><p>This isn&#8217;t just a problem for CPAs. It&#8217;s lawyers, consultants, designers, developers, financial advisors &#8212; anyone whose value comes from knowledge and judgment rather than physical presence.</p><h2>Entrepreneurship Becomes a Survival Skill</h2><p>If traditional career paths get compressed by winner-take-all dynamics, what&#8217;s left? I keep coming back to the same answer: entrepreneurship. Not &#8220;quit your job and raise a Series A&#8221; entrepreneurship. Something more fundamental &#8212; the ability to identify opportunities, test ideas, and create value independently.</p><p>The problem is, most people aren&#8217;t wired for that. And our current systems don&#8217;t prepare them for it either. We train people to be excellent employees &#8212; to build expertise, join organizations, climb ladders. That playbook is about to get a lot less reliable.</p><h2>The Gap Nobody&#8217;s Filling</h2><p>Here&#8217;s what I find interesting: the tools we have today assume you&#8217;re already on one side or the other. You&#8217;re either a consumer (&#8221;Hey Siri, set a timer&#8221;) or a founder (&#8221;Here&#8217;s my AWS architecture for my SaaS startup&#8221;). There&#8217;s almost nothing for the person in the middle &#8212; someone with a skill, maybe an idea, working a 9-to-5, who wants to dip their toes in but doesn&#8217;t have the time or infrastructure to try.</p><p>What if your AI agent could be your first employee? Not in a cute metaphorical way, but literally &#8212; testing a service offering, finding potential clients, handling the grunt work, while you keep your day job. Low risk, real signal. Entrepreneurship with training wheels.</p><p>I&#8217;ve been setting up my own AI agent recently (through a project called OpenClaw), and the experience changed how I think about this. Giving an agent a persistent runtime &#8212; letting it actually <em>do things</em> rather than just answer questions &#8212; dramatically expands what&#8217;s possible. But the gap between &#8220;I have a capable agent&#8221; and &#8220;my agent can participate in the economy on my behalf&#8221; is still enormous.</p><h2>What Needs to Exist</h2><p>For any of this to work, we need infrastructure that barely exists today:</p><ul><li><p><strong>Discovery</strong> &#8212; How does someone find your agent? How does your agent find services it needs? We need an agent marketplace, not just an app store.</p></li><li><p><strong>Trust and auth</strong> &#8212; If I hire your agent to do my taxes, how do I know it&#8217;s competent? How does it securely access my financial data? The trust layer is completely unsolved.</p></li><li><p><strong>Transaction rails</strong> &#8212; Agents need to transact. Not just call APIs, but negotiate, quote, invoice, get paid. Someone needs to build the Stripe of the agent economy.</p></li><li><p><strong>Accessibility</strong> &#8212; Setting up a capable agent today requires real technical skill. That needs to be as easy as opening a Shopify store.</p></li></ul><h2>The Dilemma</h2><p>Here&#8217;s the tension that keeps me up at night &#8212; and it&#8217;s personal, because I work at LinkedIn.</p><p>LinkedIn&#8217;s mission is to create economic opportunity for every member of the global workforce. That mission assumes opportunity can be distributed. But if the agent economy is winner-take-all at the individual level, enabling it could <em>concentrate</em> opportunity instead.</p><p>Do you build the agent marketplace knowing it might contradict your mission? Or do you not build it, knowing someone else will &#8212; and they won&#8217;t care about distributing opportunity at all?</p><p>I don&#8217;t have the answer. But I think it&#8217;s one of the most important questions in tech right now. And pretending it&#8217;s not coming isn&#8217;t an option.</p><div><hr></div><p>Next in this series: I'll go deeper on the winner-take-all problem &#8212; why agents break the natural equilibrium that keeps markets competitive, and what (if anything) can be done about it.</p><div><hr></div><p><em>I'm Yusi Zh, an Engineering Manager at LinkedIn. I write about AI, the future of work, and building things. The opinions expressed here are my own and do not reflect the views or positions of LinkedIn. Follow along at <a href="https://www.yusizhang.com/">yusizhang.com</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.yusizhang.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Yusi&#8217;s Read, Think and Build! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Two Months In: Confessions of a New Engineering Manager]]></title><description><![CDATA[It&#8217;s been almost two months since I officially transitioned from Tech Lead to Engineering Manager.]]></description><link>https://www.yusizhang.com/p/two-months-in-confessions-of-a-new</link><guid isPermaLink="false">https://www.yusizhang.com/p/two-months-in-confessions-of-a-new</guid><dc:creator><![CDATA[Yusi Zh]]></dc:creator><pubDate>Thu, 19 Feb 2026 08:10:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MXo3!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae99678-9c1e-4245-9120-1d770873cdb2_144x144.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It&#8217;s been almost two months since I officially transitioned from Tech Lead to Engineering Manager.</p><p>I was reading <em>The Making of a Manager</em> recently, and I love that Julie Zhuo started writing down her learnings right as she transitioned, rather than waiting until she was an &#8220;expert.&#8221; There&#8217;s a specific kind of naive wisdom you have at the beginning that evaporates once you actually know what you&#8217;re doing.</p><p>So, before I grow out of this phase and start sounding like a corporate handbook, I wanted to write down a few thoughts.</p><p>Honestly? I think I tricked the system. I became an EM at the absolute perfect time.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.yusizhang.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.yusizhang.com/subscribe?"><span>Subscribe now</span></a></p><h2>The &#8220;Build&#8221; is Cheap, but Ideas are Expensive</h2><p>One of the biggest fears people have about moving to management is losing the ability to build things. Materializing ideas is the best part of the job, right?</p><p>But we are living in a weird, beautiful window of time where &#8220;building&#8221; is becoming incredibly cheap.</p><p>The unexpected perk of being an EM right now is that I still get to build&#8212;I just build differently. In fact, I&#8217;ve found some convenient &#8220;excuses&#8221; to keep my hands dirty without the headache of deadlines.</p><p>Since I don&#8217;t have to pick up critical-path tickets anymore, I can use my expertise plus AI agents (shout out to Claude Code) to tackle the problems we never had the budget to solve. You know, the &#8220;high value, low urgency&#8221; stuff. Or the &#8220;extremely experimental, might-be-a-waste-of-time&#8221; stuff.</p><p>I can&#8217;t in good conscience assign a risky, experimental task to a report who needs a clear win for their promo packet. But me? I can take that risk.</p><p>I tell the team I&#8217;m building &#8220;comprehensive production instrumentation for future model training&#8221; or a &#8220;data analysis portal.&#8221; And sure, that&#8217;s true. But really? I&#8217;m just finding a way to scratch the builder itch using the latest tools.</p><p>The best part: I get to write code, but I don&#8217;t have to be on-call for it. (Don&#8217;t tell my boss.)</p><h2>The $10 Challenge</h2><p>Another thing I&#8217;m finding surprisingly fun is influencing the team&#8212;not by mandates, but just by being a nerd about tools.</p><p>I was an early adopter of GitHub Copilot, and now I&#8217;m deep into agentic workflows. I realized I could just &#8220;nudge&#8221; the team by being enthusiastic.</p><p>I jokingly set a goal for everyone: <em>&#8220;Please, go waste $10 worth of credits on Claude Code.&#8221;</em></p><p>I didn&#8217;t ask for a report. I didn&#8217;t ask for a feature. I just wanted them to see what I was seeing. A week later, adoption spiked. It wasn&#8217;t a management strategy; it was just me sharing a toy I liked. It turns out that when you genuinely believe in something, &#8220;management&#8221; is just sharing that excitement.</p><h2>The Late Night Shift</h2><p>Connecting the dots between projects is great, and seeing the team grow is rewarding, but the most surreal part is the actual workflow.</p><p>It&#8217;s getting late as I write this.</p><p>On my work laptop, a Claude Code session is churning away on a task I set up earlier. On my personal laptop, I&#8217;m testing the latest Codex-5.3 model to build a feature for an open-source project I contribute to.</p><p>I am writing this blog post, but the code is still being written. The features are still being built.</p><p>I&#8217;m technically a manager now, but I&#8217;ve never felt more productive as an engineer. What a time to be living in, what a time!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.yusizhang.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Yusi&#8217;s Read, Think and Build! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Common Pitfalls When Hosting Your Own Podcast Feed (Even with ChatGPT’s Help)]]></title><description><![CDATA[Everyone&#8217;s using AI to spin up servers these days &#8212; but the real lessons come from the errors ChatGPT didn&#8217;t predict. Here&#8217;s what actually broke, and how I fixed it.]]></description><link>https://www.yusizhang.com/p/hosting-your-podcast-feed</link><guid isPermaLink="false">https://www.yusizhang.com/p/hosting-your-podcast-feed</guid><dc:creator><![CDATA[Yusi Zh]]></dc:creator><pubDate>Fri, 10 Oct 2025 15:02:42 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/259e6ccb-d770-4cdc-b214-2797a307945a_800x800.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I wanted to host my own podcast RSS feed from a FastAPI app on Azure and figured ChatGPT could walk me through it.<br>Spoiler: it <em>did</em> &#8212; but only after I hit every invisible wall the Internet can throw at you.</p><p>From DNS records that don&#8217;t resolve to Let&#8217;s Encrypt timeouts and HTTP verbs your app doesn&#8217;t support, these are the mistakes that don&#8217;t show up in neat AI-generated tutorials &#8212; and what you actually need to know when you do this for real.</p><h3>&#9888;&#65039; Mistake #1 &#8212; Assuming &#8220;the server is running&#8221; means &#8220;the world can reach it&#8221;</h3><p>When ChatGPT told me &#8220;your server is running on port 8080,&#8221; I thought that meant I could just open a browser and go to <code>http://&lt;public-ip&gt;:8080</code>.</p><p>Nope.<br>Azure VMs come wrapped in multiple layers of security:</p><ul><li><p>VM&#8217;s own OS firewall (UFW or firewalld)</p></li><li><p>Azure Network Security Group (NSG)</p></li><li><p>And sometimes, a load balancer in front</p></li></ul><p>If <em>any</em> one of those blocks inbound 8080, you&#8217;re invisible to the Internet.<br>The fix? Explicitly open the port:</p><pre><code><code>az vm open-port --resource-group &lt;RG&gt; --name &lt;VM&gt; --port 8080
</code></code></pre><p>and double-check that your app binds to <code>0.0.0.0</code>, not <code>127.0.0.1</code>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.yusizhang.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.yusizhang.com/subscribe?"><span>Subscribe now</span></a></p><h3>&#129513; Mistake #2 &#8212; Forgetting about DNS propagation</h3><p>When I added <code>podcast.yusizhang.com</code> in Cloudflare, I expected it to work instantly.<br>Ping said otherwise:<br><code>ping: cannot resolve podcast.yusizhang.com: Unknown host</code></p><p>Cloudflare DNS isn&#8217;t always instant, and sometimes you accidentally create a <code>CNAME</code> instead of an <code>A</code> record.<br>Also, if you leave the orange proxy cloud on, your server might not even be reachable during certificate setup.</p><p>Lesson learned:</p><ul><li><p>Use an <strong>A record</strong>, not a CNAME.</p></li><li><p>Set <strong>Proxy status = DNS only (gray)</strong> until SSL works.</p></li><li><p>Check propagation with <code>dig podcast.yusizhang.com +short</code>.</p></li></ul><h3>&#128274; Mistake #3 &#8212; HTTPS verification failing due to Azure firewall</h3><p>Let&#8217;s Encrypt failed with a cryptic timeout:</p><pre><code><code>Timeout during connect (likely firewall problem)
</code></code></pre><p>The real issue? I had opened port 8080 for my app, but <strong>not port 80</strong> for HTTP verification.<br>Certbot uses a temporary challenge file on port 80 to prove you own the domain.<br>Until I ran:</p><pre><code><code>az vm open-port --resource-group &lt;RG&gt; --name &lt;VM&gt; --port 80
</code></code></pre><p>the certificate request kept failing.</p><p>Once I did &#8212; &#128165; instant success.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.yusizhang.com/p/hosting-your-podcast-feed/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.yusizhang.com/p/hosting-your-podcast-feed/comments"><span>Leave a comment</span></a></p><h3>&#129521; Mistake #4 &#8212; Nginx reverse proxy confusion</h3><p>ChatGPT&#8217;s Nginx config looked simple:</p><pre><code><code>location / {
  proxy_pass http://127.0.0.1:8000;
}
</code></code></pre><p>&#8230;but what wasn&#8217;t obvious at first was that <strong>Nginx doesn&#8217;t automatically serve HTTPS</strong> just because it&#8217;s installed.<br>Certbot configures SSL for you <em>only after</em> it successfully verifies the domain &#8212; so if the challenge fails, you&#8217;re left with half a setup and a broken redirect.</p><p>Lesson: always test <code>http://yourdomain/feed.xml</code> first before trying to force HTTPS.</p><h3>&#129504; Mistake #5 &#8212; HEAD requests returning 405 errors</h3><p>After everything was working, I proudly ran:</p><pre><code><code>curl -I https://podcast.yusizhang.com/feed.xml
</code></code></pre><p>&#8230;and got:</p><pre><code><code>HTTP/1.1 405 Method Not Allowed
allow: GET
</code></code></pre><p>Turns out FastAPI only defines a <code>GET</code> route by default, so <code>HEAD</code> requests (which tools like curl use for checking status) failed.</p><p>It didn&#8217;t break Apple Podcasts &#8212; but it&#8217;s a good example of how *&#8220;looks fine in browser&#8221; &#8800; <em>&#8220;standards-compliant server.&#8221;</em></p><p>The fix was easy:</p><pre><code><code>@app.head(&#8221;/feed.xml&#8221;)
async def feed_head():
    return Response(headers={&#8221;Content-Type&#8221;: &#8220;application/rss+xml&#8221;})
</code></code></pre><p>Problem solved.</p><div class="poll-embed" data-attrs="{&quot;id&quot;:388216}" data-component-name="PollToDOM"></div><p></p><div><hr></div><p>If you&#8217;re thinking of self-hosting your podcast feed &#8212; do it.<br>Just remember: the magic isn&#8217;t in following ChatGPT&#8217;s steps; it&#8217;s in learning <em>why those steps fail.</em></p><p>And if you&#8217;re wondering in why am I hosting a podcast on a VPS, checkout the <a href="https://github.com/YusiZhang/inbox-cast">Github project</a> </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.yusizhang.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Yusi&#8217;s Read, Think and Build! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Generator, the Critic, and the Evaluator Walk Into a Chat…]]></title><description><![CDATA[How &#8220;let&#8217;s make LLMs argue&#8221; turned into my go-to 4-role workflow (and a weekend CLI project).]]></description><link>https://www.yusizhang.com/p/the-generator-the-critic-and-the</link><guid isPermaLink="false">https://www.yusizhang.com/p/the-generator-the-critic-and-the</guid><dc:creator><![CDATA[Yusi Zh]]></dc:creator><pubDate>Sun, 24 Aug 2025 21:01:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1mws!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c07a8da-e45b-49dc-b0c5-53b7387e3873_888x1358.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This project actually started as a lunch-break joke at the office:<br><em>&#8220;What if we let two LLMs argue with each other and just&#8230; see where it ends?&#8221;</em></p><p>Fast-forward a couple weeks, and that &#8220;joke&#8221; has become one of my go-to prompt engineering tricks. I&#8217;ll often ask one LLM to critique another&#8217;s work&#8212;like:</p><blockquote><p>&#8220;Hey Gemini, ChatGPT claims he&#8217;s the best consumer LLM product because yada yada&#8230; do you agree?&#8221;</p></blockquote><p>Then I flip it back and let ChatGPT defend itself, refine the answer, or even rewrite the whole thing. Eventually I standardized the flow into four roles: <strong>Generator &#8594; Critic &#8594; Refiner &#8594; Evaluator</strong>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.yusizhang.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.yusizhang.com/subscribe?"><span>Subscribe now</span></a></p><p>And you know what? It works ridiculously well. It&#8217;s like having your own mini debate club of robots&#8212;except they don&#8217;t eat all your snacks.</p><p>Here&#8217;s a real example: &#8220;<em><strong>Help me come up with 5 domain name ideas used for a B2C SaaS product that converts RSS into Podcast</strong></em>&#8221;. (I loved &#8220;Podmatic.io&#8221;&#8230; sadly, someone else loved it first. &#128557;)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1mws!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c07a8da-e45b-49dc-b0c5-53b7387e3873_888x1358.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1mws!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c07a8da-e45b-49dc-b0c5-53b7387e3873_888x1358.png 424w, https://substackcdn.com/image/fetch/$s_!1mws!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c07a8da-e45b-49dc-b0c5-53b7387e3873_888x1358.png 848w, https://substackcdn.com/image/fetch/$s_!1mws!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c07a8da-e45b-49dc-b0c5-53b7387e3873_888x1358.png 1272w, https://substackcdn.com/image/fetch/$s_!1mws!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c07a8da-e45b-49dc-b0c5-53b7387e3873_888x1358.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1mws!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c07a8da-e45b-49dc-b0c5-53b7387e3873_888x1358.png" width="728" height="1113.3153153153153" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7c07a8da-e45b-49dc-b0c5-53b7387e3873_888x1358.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1358,&quot;width&quot;:888,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image preview&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image preview" title="Image preview" srcset="https://substackcdn.com/image/fetch/$s_!1mws!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c07a8da-e45b-49dc-b0c5-53b7387e3873_888x1358.png 424w, https://substackcdn.com/image/fetch/$s_!1mws!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c07a8da-e45b-49dc-b0c5-53b7387e3873_888x1358.png 848w, https://substackcdn.com/image/fetch/$s_!1mws!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c07a8da-e45b-49dc-b0c5-53b7387e3873_888x1358.png 1272w, https://substackcdn.com/image/fetch/$s_!1mws!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c07a8da-e45b-49dc-b0c5-53b7387e3873_888x1358.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">ChatGPT running through the four roles to brainstorm domain names</figcaption></figure></div><p>If you&#8217;re curious, give this multi-LLM ping-pong a try&#8212;you might discover insights you&#8217;d never have gotten from a single model. And if you&#8217;re feeling more <em>weekend-coder handy</em>, I even hacked together a little CLI version that bakes in the four roles and lets you swap between different LLM vendors. No more tedious copy-paste battles&#8212;just let the bots duke it out while you sip your coffee. &#9749;&#65039;&#129302;&#9876;&#65039; (at your own llm token cost&#8230;)</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Vmst!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3b87da-93af-426c-85d7-1c2d944f46bd_2924x442.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Vmst!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3b87da-93af-426c-85d7-1c2d944f46bd_2924x442.png 424w, https://substackcdn.com/image/fetch/$s_!Vmst!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3b87da-93af-426c-85d7-1c2d944f46bd_2924x442.png 848w, https://substackcdn.com/image/fetch/$s_!Vmst!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3b87da-93af-426c-85d7-1c2d944f46bd_2924x442.png 1272w, https://substackcdn.com/image/fetch/$s_!Vmst!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3b87da-93af-426c-85d7-1c2d944f46bd_2924x442.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Vmst!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3b87da-93af-426c-85d7-1c2d944f46bd_2924x442.png" width="1456" height="220" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0d3b87da-93af-426c-85d7-1c2d944f46bd_2924x442.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:220,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:198739,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.yusizhang.com/i/171835572?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3b87da-93af-426c-85d7-1c2d944f46bd_2924x442.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Vmst!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3b87da-93af-426c-85d7-1c2d944f46bd_2924x442.png 424w, https://substackcdn.com/image/fetch/$s_!Vmst!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3b87da-93af-426c-85d7-1c2d944f46bd_2924x442.png 848w, https://substackcdn.com/image/fetch/$s_!Vmst!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3b87da-93af-426c-85d7-1c2d944f46bd_2924x442.png 1272w, https://substackcdn.com/image/fetch/$s_!Vmst!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3b87da-93af-426c-85d7-1c2d944f46bd_2924x442.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>&#128073; <a href="https://pypi.org/project/ai-cli-chat/">PyPI package: ai-cli-chat</a><br>&#128073; <a href="https://github.com/YusiZhang/ai-cli">GitHub repo</a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.yusizhang.com/p/the-generator-the-critic-and-the?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.yusizhang.com/p/the-generator-the-critic-and-the?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[I gave a general ChatGPT Agent 27 minutes to be my candidate sourcing agency. ]]></title><description><![CDATA[What I really measured wasn&#8217;t time&#8212;it was attention.]]></description><link>https://www.yusizhang.com/p/i-gave-a-general-chatgpt-agent-27</link><guid isPermaLink="false">https://www.yusizhang.com/p/i-gave-a-general-chatgpt-agent-27</guid><dc:creator><![CDATA[Yusi Zh]]></dc:creator><pubDate>Wed, 20 Aug 2025 15:15:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_CNX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b6a318f-94f2-4ce7-a804-54517a36fb47_1488x901.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>As context: I work at LinkedIn engineering team building AI features for SMB hirers. </em>Out of personal curiosity (<strong>opinions here are mine alone</strong>), I tried ChatGPT&#8217;s new Agent Mode on a made up recruiting task: &#8220;Find ~5 event&#8209;planner candidates for a 4&#8209;week, half&#8209;day community market in Cupertino and draft InMail outreach (<strong>don&#8217;t send</strong>).&#8221;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.yusizhang.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.yusizhang.com/subscribe?"><span>Subscribe now</span></a></p><p><strong>What happened:</strong> </p><p>The agent began by searching broadly&#8212;Google, Yelp, Reddit&#8212;not just limiting itself to LinkedIn. </p><p>I actually <strong>liked</strong> that: it hints at a future where agents triangulate across public signals and then converge on LinkedIn to validate or enrich candidate profiles. </p><p>After I took over and logged in LinkedIn.com, it <strong>adapted</strong>: ran a LinkedIn people search, experimented with the query vs. the location filter, opened profiles, scrolled (sometimes awkwardly), expanded experience sections, occasionally mis&#8209;clicked into a company page, and recovered. </p><p>It applied light heuristics (e.g., skipped current students) and ultimately produced five candidates with personalized draft messages (see masked screenshot).</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_CNX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b6a318f-94f2-4ce7-a804-54517a36fb47_1488x901.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_CNX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b6a318f-94f2-4ce7-a804-54517a36fb47_1488x901.png 424w, https://substackcdn.com/image/fetch/$s_!_CNX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b6a318f-94f2-4ce7-a804-54517a36fb47_1488x901.png 848w, https://substackcdn.com/image/fetch/$s_!_CNX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b6a318f-94f2-4ce7-a804-54517a36fb47_1488x901.png 1272w, https://substackcdn.com/image/fetch/$s_!_CNX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b6a318f-94f2-4ce7-a804-54517a36fb47_1488x901.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_CNX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b6a318f-94f2-4ce7-a804-54517a36fb47_1488x901.png" width="266" height="161.1346153846154" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b6a318f-94f2-4ce7-a804-54517a36fb47_1488x901.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:882,&quot;width&quot;:1456,&quot;resizeWidth&quot;:266,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!_CNX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b6a318f-94f2-4ce7-a804-54517a36fb47_1488x901.png 424w, https://substackcdn.com/image/fetch/$s_!_CNX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b6a318f-94f2-4ce7-a804-54517a36fb47_1488x901.png 848w, https://substackcdn.com/image/fetch/$s_!_CNX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b6a318f-94f2-4ce7-a804-54517a36fb47_1488x901.png 1272w, https://substackcdn.com/image/fetch/$s_!_CNX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b6a318f-94f2-4ce7-a804-54517a36fb47_1488x901.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>If I did this myself, I&#8217;d probably finish faster. But that misses the point. Those 27 minutes were <em><strong>zero</strong></em> minutes of my focused attention. I can go on with other work while an autonomous cursor trudged through the busywork. I&#8217;m realizing my productivity metric is shifting from elapsed minutes to <strong>attention minutes</strong>. Trading more wall&#8209;clock time for less of <em>my</em> cognitive time is a win.</p><p><strong>Trust &amp; autonomy:</strong></p><p>LinkedIn is a trusted platform, and I&#8217;m not in a position to define what level of error is &#8220;acceptable&#8221; for any customer segment. </p><p>In this personal experiment I deliberately stopped short of sending messages. </p><p>Still, it&#8217;s easy to imagine typical user&#8212;after calibrating prompts and reviewing a few outputs&#8212;gradually granting the agent more end&#8209;to&#8209;end autonomy. The path to &#8220;click send for me&#8221; feels closer than I expected.</p><p><strong>Search depth:</strong> </p><p>I asked for five candidates and the agent delivered exactly that&#8212;by reviewing the visible top results and selecting five rather than exploring deeper pages. </p><p>That&#8217;s not a concern to me; with different prompting or continued model improvements it could easily broaden its exploration. </p><p>Meanwhile LinkedIn will keep investing in underlying relevance, so both sides of the stack are improving.</p><p><strong>The more interesting question:</strong> </p><p><em>Who are we building software for now&#8212;humans or agents?</em> </p><p>The same feature may need two modes. </p><p><em>Manual</em> mode optimizes for interactive speed and human comprehension.</p><p><em>Agent</em> mode might tolerate slower wall&#8209;clock execution if quality, completeness, or compliance go up. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.yusizhang.com/p/i-gave-a-general-chatgpt-agent-27?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.yusizhang.com/p/i-gave-a-general-chatgpt-agent-27?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>Pricing and metrics assumptions also shift: a $20/month general agent can tirelessly use a product far beyond the &#8220;average human usage&#8221; many business models were calibrated on. </p><p>That could push platforms toward agent&#8209;friendly surfaces (structured data, APIs) and new ways to capture value (outcome pricing, usage tiers, &#8220;agent seats&#8221;).</p><p>My working thesis: most professionals will pay for a general agent <em>and</em> still choose vertical platforms like LinkedIn <strong>only</strong> <strong>when</strong> those platforms deliver differentiated value&#8212;trust graph, proprietary signals, faster/better outcomes&#8212;on top of generic automation.</p><div><hr></div><p>Curious how others are thinking about &#8220;attention minutes&#8221; and designing for manual vs. agent modes. How is this changing your roadmap?</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.yusizhang.com/p/i-gave-a-general-chatgpt-agent-27/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.yusizhang.com/p/i-gave-a-general-chatgpt-agent-27/comments"><span>Leave a comment</span></a></p><p><em>Opinions are my own. Drafted with help from ChatGPT.</em></p>]]></content:encoded></item></channel></rss>