<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" 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">
    <channel>
        <title>Growth Alchemy Lab</title>
        <link>https://growthalchemylab.com</link>
        <description>Practitioner notes on agentic systems, ops automation, and shipping AI.</description>
        <lastBuildDate>Fri, 01 May 2026 08:42:38 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <copyright>All rights reserved 2026, Luis Calderon</copyright>
        <atom:link href="https://growthalchemylab.com/feed.xml" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Eval design before agent design]]></title>
            <link>https://growthalchemylab.com/blog/eval-design-before-agent-design</link>
            <guid>https://growthalchemylab.com/blog/eval-design-before-agent-design</guid>
            <pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[A practical note on deciding what failure looks like before adding agents to a workflow.]]></description>
            <content:encoded><![CDATA[<p>The cheapest agent improvement usually happens before the agent exists.</p>
<p>Write the eval first. A good eval describes the job, the source material, the allowed action, the required citation, and the conditions that force refusal. That sounds slower than prompting, but it prevents the expensive version of speed: a system that produces plausible work nobody trusts.</p>
<p>For an operating workflow, I start with five examples:</p>
<ul>
<li>A clear pass.</li>
<li>A close-but-wrong answer.</li>
<li>A missing-source refusal.</li>
<li>A risky action that needs a human.</li>
<li>A correct answer with weak evidence.</li>
</ul>
<p>Those examples become the product spec. The model, prompt, tools, and UI are implementation details underneath the eval.</p>
<p>The moment an agent can say "I do not have source material for that" and still be considered successful, the team starts trusting it for the right reason.</p>]]></content:encoded>
            <category>evals</category>
            <category>agents</category>
        </item>
        <item>
            <title><![CDATA[When not to deploy an agent]]></title>
            <link>https://growthalchemylab.com/blog/when-not-to-deploy-an-agent</link>
            <guid>https://growthalchemylab.com/blog/when-not-to-deploy-an-agent</guid>
            <pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Some workflows need a checklist, a script, or a better queue before they need agent autonomy.]]></description>
            <content:encoded><![CDATA[<p>Not every slow workflow deserves an agent.</p>
<p>If the decision rules are unclear, adding autonomy usually makes the problem harder to inspect. If the source data is unreliable, the agent will package that unreliability in nicer prose. If the team does not know who approves a risky action today, the software will not solve the ownership gap.</p>
<p>I usually pause agent work when one of these is true:</p>
<ul>
<li>The team cannot name the decision the agent is supposed to improve.</li>
<li>The workflow has no owner.</li>
<li>The data changes faster than the review loop.</li>
<li>The cost of a wrong action is higher than the cost of a manual step.</li>
<li>A deterministic script would remove most of the work.</li>
</ul>
<p>The right first move is often a queue, a form, a policy, or a dashboard. Agents earn their place after the workflow has enough shape to evaluate.</p>]]></content:encoded>
            <category>governance</category>
            <category>operations</category>
        </item>
        <item>
            <title><![CDATA[The audit trail is the product]]></title>
            <link>https://growthalchemylab.com/blog/the-audit-trail-is-the-product</link>
            <guid>https://growthalchemylab.com/blog/the-audit-trail-is-the-product</guid>
            <pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Agentic systems become useful when leaders can inspect what happened, why, and who approved it.]]></description>
            <content:encoded><![CDATA[<p>The impressive part of an agent demo is usually the output. The useful part in production is the audit trail.</p>
<p>An operating team needs to know what the agent saw, what it ignored, which tool it used, what it was allowed to do, who approved the action, and how the result changed the next run. Without that record, every failure becomes a debate about hidden reasoning.</p>
<p>The audit trail should be designed as a user interface, not a log dump. A good review surface answers five questions quickly:</p>
<ul>
<li>What source material was used?</li>
<li>Which rule or budget applied?</li>
<li>What action was proposed?</li>
<li>Who approved or rejected it?</li>
<li>What changed after the action?</li>
</ul>
<p>That record is what lets autonomy compound without turning into institutional folklore.</p>]]></content:encoded>
            <category>audit</category>
            <category>product</category>
        </item>
        <item>
            <title><![CDATA[Your Agents Have Amnesia - Stop Using Markdown!]]></title>
            <link>https://growthalchemylab.com/blog/your-agents-have-amnesia-stop-using-markdown</link>
            <guid>https://growthalchemylab.com/blog/your-agents-have-amnesia-stop-using-markdown</guid>
            <pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[A production-ready six-layer memory stack for agents: SQLite session search, curated memory, skills, git knowledge, cross-session retrieval, and plugin backends.]]></description>
            <content:encoded><![CDATA[<p>A few weeks ago, I posted about something most AI agents are doing wrong. They are stuffing context into markdown files. <code>memory.md</code>. <code>AGENTS.md</code>. <code>skills.md</code>.</p>
<p>It felt clever. Worked great for about a week.</p>
<p>Then you hit 100 files across a handful of agents. And you ask yourself: what happens when this is 500? What happens next month?</p>
<p>The answer was not good.</p>
<h2>The problem</h2>
<p>Stanford published a paper called "Lost in the Middle: How Language Models Use Long Contexts." It proved something most of us suspected: LLMs are bad at finding important information buried in long text.</p>
<p>Production systems fail to find the right context 20-40% of the time. That is 1 in 3 queries.</p>
<p>A file system is not a memory system.</p>
<p>So what do you actually build instead?</p>
<h2>What actually works</h2>
<p>After running production agents across Discord, Telegram, Slack, iMessage, and the CLI, serving multiple platforms simultaneously with persistent sessions, this is the architecture that survived.</p>
<p>It has six layers. Each one solves a different problem.</p>
<ul>
<li>Layer 6: Plugin extensibility with mem0, Neo4j, and vector databases.</li>
<li>Layer 5: Cross-session search with FTS5 full-text search.</li>
<li>Layer 4: Long-term memory in a git repo: <code>AGENTS.md</code> and the knowledge base.</li>
<li>Layer 3: Procedural memory with 100+ expert skills, loaded on demand.</li>
<li>Layer 2: Curated memory in <code>MEMORY.md</code> and <code>USER.md</code>, with hard limits.</li>
<li>Layer 1: Session memory in SQLite plus FTS5, storing every conversation.</li>
</ul>
<p>The repo is the brain. The agents are the hands. The harness is just the wiring: thin, fast, replaceable.</p>
<h2>Layer 1: Session memory, SQLite with FTS5</h2>
<p>Every conversation. Every tool call. Every reasoning chain. Persisted to a single database file. Not JSONL. Not markdown. A real database with transactions, indexes, and concurrent access.</p>
<p>Why SQLite?</p>
<p>One file. No Docker. No API keys. No infrastructure.</p>
<p>Twenty years of production testing. Handles thousands of concurrent reads in WAL mode.</p>
<p>Real transactions. Not eventual consistency. Not "close enough."</p>
<h3>The working part: FTS5</h3>
<p>A content-linked full-text virtual table. Three triggers keep the index in sync on every <code>INSERT</code>, <code>DELETE</code>, and <code>UPDATE</code>. Zero manual maintenance.</p>
<p>Search supports real query syntax. Keywords. Phrases. Boolean operators. Prefix matching. Combined queries like <code>error OR exception AND docker</code>.</p>
<p>WAL mode handles concurrent access. Multiple agents on multiple platforms read freely. Writes serialize with application-level retry and random jitter. Competing writers naturally stagger. The database never blocks for more than 150ms.</p>
<h2>Layer 2: Curated memory</h2>
<p>Two files. Hard character limits. Forced curation.</p>
<p><code>MEMORY.md</code>: 2,200 characters. The agent's personal notes.</p>
<p><code>USER.md</code>: 1,375 characters. What the agent knows about you.</p>
<p>When you hit the limit, you replace. You do not add. The agent cannot hoard. It has to choose what matters.</p>
<h3>Frozen snapshot pattern</h3>
<p>Both files load at session start. They inject into the system prompt as a frozen snapshot. Mid-session writes update the files immediately. But the system prompt does not change.</p>
<p>This preserves the prefix cache for the entire session. No invalidation. No re-computation. The snapshot refreshes on the next session start.</p>
<p>Threat scanning protects this layer. Prompt injection patterns. Role hijacking. Deception attempts. Exfiltration with <code>curl</code> and secrets. Suspicious entries get rejected.</p>
<p>The curation is not a limitation. It is the point. You cannot remember everything. Neither can your agent.</p>
<h2>Layer 3: Procedural memory, skills</h2>
<p>Session memory is what happened. Curated memory is what matters. Skills are how to do it.</p>
<p>One hundred skills. Each one encodes an expert workflow.</p>
<p>Skill files are markdown with YAML frontmatter. They define when to use a skill, the step-by-step procedure, pitfalls to avoid, and verification steps.</p>
<h3>The skill router</h3>
<pre><code class="language-bash">python3 skill-router.py "optimize landing page"
# Returns: top 5 matching skills with relevance scores
</code></pre>
<p>The agent loads the most relevant skill, cites it in the response, and follows its framework. Not default behavior. The skill's framework.</p>
<p>Skills load on demand. They do not all live in memory. Load the best match. Execute. Unload.</p>
<p>Categories span development, marketing, social media, research, productivity, and MLOps. The agent has procedural memory for tasks it has never encountered.</p>
<h2>Layer 4: Long-term memory, the git repo</h2>
<p>Everything above is agent-local. The git repo is shared. Version-controlled. Human-readable.</p>
<p><code>AGENTS.md</code> defines the agent's identity, rules, and operating procedures. Who the agent is. What files to read every session. Safety rules. Tool conventions. Memory structure.</p>
<p>The knowledge base is a git repository that every agent pulls at session start.</p>
<pre><code class="language-bash">git pull --rebase
</code></pre>
<p>Shared context lives there. <code>CURRENT_PRIORITIES.md</code>. <code>COMPANY_FACTS.md</code>. <code>BRAND_VOICE.md</code>. The agent's morning briefing. It reads the latest updates before doing any work.</p>
<p>Why git?</p>
<p>Version control. Every change is tracked and reversible.</p>
<p>Human-readable. Anyone can read and edit.</p>
<p>Branchable. Experiment without breaking production.</p>
<p>Distributed. No central server required.</p>
<p>The repo is the brain. Not a database. Not a vector store. Text files in git.</p>
<h2>Layer 5: Cross-session search</h2>
<p>The agent has thousands of past conversations. It needs to find the right one.</p>
<h3>FTS5 search, no embeddings required</h3>
<p>The session search tool uses the same FTS5 index. No embeddings. No preprocessing. No vector database. Just full-text search.</p>
<p>Query syntax is rich. Broad recall with <code>OR</code>. Exact phrase matching. Exclusion with <code>NOT</code>. Prefix matching with wildcards.</p>
<p>When a match is found, the system pulls the message before and after. The agent gets the match plus context. Full conversation flow around the relevant part.</p>
<p>The agent searches its own history before asking the user to repeat themselves.</p>
<h2>Layer 6: Plugin extensibility</h2>
<p>SQLite handles 95% of cases. But some agents need more.</p>
<h3>Memory provider interface</h3>
<p>A pluggable architecture for alternative memory backends:</p>
<ul>
<li><code>mem0</code>: vector memory with session-based retrieval.</li>
<li>Neo4j: graph database for relationship-based memory.</li>
<li>Honcho: dialectic memory with peer-based reasoning.</li>
<li>Holographic: holographic memory encoding.</li>
<li>RetainDB: persistent retrieval database.</li>
<li>Hindsight: retrospective memory analysis.</li>
</ul>
<p>Providers combine in hybrid mode. <code>mem0</code> plus Neo4j for vector and graph memory. SQLite plus Honcho for session and dialectic memory. Same interface. Different backends.</p>
<p>When to use vector memory: semantic similarity search, unstructured and diverse memory, RAG over large document collections, and cross-lingual search.</p>
<p>But for most agent workflows, finding a past conversation, remembering a user preference, or recalling a tool configuration, keyword search is faster, cheaper, and more predictable.</p>
<h2>The philosophy</h2>
<p>Here is what most people get wrong about agent memory.</p>
<p>They think more context equals better memory. It does not. More context equals more noise. The Stanford paper proved it. LLMs lose information in the middle of long contexts. Stuffing everything into markdown files is just a file attachment, not memory.</p>
<p>Real memory has layers. Each layer has a purpose, a format, and a size limit.</p>
<p>Session memory for everything. Curated memory for what matters. Skills for how to do things. Git for shared knowledge. Search for finding it all.</p>
<p>Memory is not about storing everything. It is about finding the right thing.</p>
<p>You are either building a folder or building a system.</p>
<p>Pick one.</p>
<h2>Getting started</h2>
<p>Want to implement this? Here is the minimum viable stack:</p>
<ul>
<li>SQLite session store: one file, WAL mode, FTS5 for search.</li>
<li>Curated memory: two files, hard limits, forced curation.</li>
<li>Session search: FTS5 with <code>MATCH</code> queries, snippet extraction, and surrounding context.</li>
<li>Skills registry: skill files with YAML frontmatter and a router for on-demand loading.</li>
</ul>
<p>This scales. From one agent to hundreds. From one platform to all of them.</p>
<h2>Final thought</h2>
<p>The agents that win will not be the ones with the biggest context windows. They will be the ones with the best memory architecture.</p>
<p>Layered. Bounded. Searchable. Version-controlled. Extensible.</p>
<p>That is not a folder. That is a system. And the system scales.</p>]]></content:encoded>
            <category>agent-memory</category>
            <category>sqlite</category>
            <category>skills</category>
            <category>architecture</category>
        </item>
        <item>
            <title><![CDATA[Most PMs Won't Become Agent Orchestrators. They'll Become Obsolete.]]></title>
            <link>https://growthalchemylab.com/blog/most-pms-wont-become-agent-orchestrators</link>
            <guid>https://growthalchemylab.com/blog/most-pms-wont-become-agent-orchestrators</guid>
            <pubDate>Tue, 30 Dec 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[A contrarian view of product management in the agentic era: orchestration is temporary, and surviving PM roles become deeply technical or deeply domain-specific.]]></description>
            <content:encoded><![CDATA[<p>I am going to make an argument that most people in product management will not like. I might be wrong. But I think the counterargument needs to be made, because the current narrative feels too comfortable, and comfortable narratives are often the ones that age worst.</p>
<p>Everyone is telling product managers the same story: agentic AI will transform you from a backlog manager into an "agent orchestrator." You will coordinate fleets of autonomous AI agents. You will be more strategic than ever. Your job is safe. It is just evolving.</p>
<p>I do not buy it.</p>
<p>Here is my contrarian position: 89% of agentic AI pilots never make it to production. Not because the technology fails. Because organizations realize they do not need a human in the loop at all.</p>
<p>I want to stress upfront: this is one perspective. The optimists have real arguments too. But I think someone needs to articulate the pessimistic case clearly, so PMs can stress-test their own assumptions.</p>
<h2>The orchestrator fantasy</h2>
<p>McKinsey, Deloitte, and every AI course vendor are pushing the same narrative: PMs will "orchestrate intelligent ecosystems" instead of managing Jira tickets.</p>
<p>To be fair, these are smart people with real data. They are not making things up. But I think they are describing a transitional state, not an end state.</p>
<p>Here is what I believe they are missing:</p>
<p>Orchestration is a temporary job.</p>
<p>When AI agents first deploy, yes, someone needs to coordinate them, set guardrails, and handle edge cases. That someone might be a PM.</p>
<p>But agents learn. They adapt. The orchestration layer gets automated too.</p>
<p>Andrew Ng's agentic AI patterns, reflection, tool use, planning, and multi-agent collaboration, are not designed to keep humans in charge. They are designed to remove the need for human coordination entirely.</p>
<p>The 23% of companies scaling agentic AI are not hiring more PMs. They are hiring fewer.</p>
<h2>What actually happens when agents ship</h2>
<p>Here is where I will admit my sample size is small. I talked to three PMs at companies with production agentic AI systems. Three people is not a trend. But their stories were consistent enough that I think they are worth sharing.</p>
<p>Here is what they described:</p>
<ul>
<li>Week 1-4: PM defines agent goals, sets constraints, reviews outputs. Feels strategic.</li>
<li>Month 2-3: Agent handles 80% of decisions autonomously. PM reviews exceptions. Starts feeling like QA.</li>
<li>Month 4+: Exception rate drops below 5%. PM role becomes "agent babysitter": checking dashboards, escalating the rare failure. Leadership asks: "Why do we need a full-time person for this?"</li>
</ul>
<p>One PM put it bluntly: "I went from product manager to product janitor."</p>
<h2>The skills gap nobody talks about</h2>
<p>Now here is where reasonable people might disagree with me.</p>
<p>The industry says PMs need new skills:</p>
<ul>
<li>AI literacy.</li>
<li>Prompt engineering.</li>
<li>Systems thinking.</li>
<li>Guardrail design.</li>
</ul>
<p>These are real skills. The courses teaching them are not scams. But here is where my contrarian view gets sharper: I think these are fundamentally engineering skills, not PM skills.</p>
<p>The PM who can design agent architectures, write evaluation frameworks, and debug multi-agent coordination? That is not a PM who "evolved." That is a PM who became an engineer.</p>
<p>And if you are competing for that role, you are competing against actual engineers who already have those skills, plus computer science degrees and 10 years of technical depth.</p>
<p>The "upskilling" path leads to a job you are underqualified for.</p>
<h2>The two PMs who will survive</h2>
<p>I do not think the PM role goes to zero. That would be an overclaim, and I am trying to be honest about what I actually believe versus what makes for a spicy take.</p>
<p>Here is my actual view: most PM jobs disappear, but some survive. The survivors will not be "orchestrators." They will be one of two things.</p>
<h3>1. Domain experts who happen to do product</h3>
<p>Agentic AI can coordinate tasks. It cannot understand why a healthcare compliance workflow matters more than a marketing automation workflow.</p>
<p>The PM who survives is the one with 15 years in fintech regulation, or clinical trial management, or supply chain logistics. Someone whose expertise cannot be scraped from the internet and fed to an LLM.</p>
<p>If your domain knowledge can fit in a prompt, you are replaceable.</p>
<h3>2. The last-mile human</h3>
<p>Some decisions require a human for legal, ethical, or trust reasons. Not because humans decide better, but because regulations or customers demand it.</p>
<p>These PMs are not orchestrating agents. They are the mandatory human checkpoint before an agent-generated decision goes live. It is a compliance role, not a strategic one.</p>
<p>Neither of these is the glamorous "agent orchestrator" future the industry is selling.</p>
<h2>The real numbers</h2>
<p>Let us be specific:</p>
<ul>
<li>11% of organizations have agentic AI in production, according to Deloitte 2025.</li>
<li>35% have no formal agentic AI strategy at all.</li>
<li>94% say process orchestration is essential, but they mean automated orchestration, not human orchestration.</li>
<li>15% of day-to-day work decisions will be made autonomously by 2028, according to Gartner.</li>
</ul>
<p>That last number is the killer. "Day-to-day work decisions" is literally the PM job description. Prioritization. Tradeoffs. Stakeholder alignment. Resource allocation.</p>
<p>If 15% of those decisions are autonomous by 2028, what is the number by 2032? By 2035?</p>
<p>The trend line does not end at "PM as orchestrator." It ends at "PM as historical artifact."</p>
<h2>What to actually do</h2>
<p>I am not saying quit your PM job tomorrow. I am saying stop believing the comfortable narrative and start making real moves.</p>
<h3>Option 1: Go deep on domain</h3>
<p>Pick an industry vertical. Become the expert who understands not just the product, but the regulatory environment, the customer psychology, the competitive dynamics, and the operational constraints.</p>
<p>This takes years. Start now.</p>
<h3>Option 2: Go technical for real</h3>
<p>Do not learn "prompt engineering" from a weekend course. Learn ML fundamentals. Learn distributed systems. Learn how to actually build and evaluate AI systems.</p>
<p>This means competing with engineers on their turf. It is hard. But at least it is honest.</p>
<h3>Option 3: Move to strategy</h3>
<p>The decisions agents cannot make are the ones with incomplete information, high uncertainty, and existential stakes. M&amp;A. Market entry. Pivots.</p>
<p>These are executive decisions, not PM decisions. If you want this path, you need to get out of product and into business strategy.</p>
<h3>Option 4: Accept the timeline</h3>
<p>Maybe you are 15 years from retirement. Maybe agentic AI's impact takes longer than predicted. Maybe you ride it out.</p>
<p>This is a valid choice. Just make it consciously, not by default.</p>
<h2>The contrarian bet</h2>
<p>Here is my actual prediction:</p>
<p>By 2030, the PM role as we know it will not exist at most tech companies.</p>
<p>Not because PMs failed. Because the job, translating customer needs into prioritized requirements and coordinating cross-functional execution, is exactly what agentic AI does best.</p>
<p>The surviving "product" roles will look nothing like today's PM job. They will either be deeply technical, as AI/ML product engineers, or deeply domain-specific, as regulated industry specialists.</p>
<p>The generalist PM who is "technical enough" and "strategic enough" and "customer-focused enough" is the profile most exposed to automation.</p>
<p>I know this is not what you want to hear. The "agent orchestrator" story is much nicer.</p>
<p>But if I were a PM today, I would rather know the uncomfortable truth than optimize for a future that is not coming.</p>
<h2>The bottom line</h2>
<p>The agentic AI narrative for PMs has three versions:</p>
<ul>
<li>Version 1, industry marketing: "You will become an agent orchestrator. More strategic than ever."</li>
<li>Version 2, honest assessment: "Some PMs will adapt. Many will not. The job changes fundamentally."</li>
<li>Version 3, what I actually believe: "The PM role is a transitional artifact of the pre-AI era. Its core functions are being automated. Plan accordingly."</li>
</ul>
<p>I am betting on version 3.</p>
<p>You do not have to agree. But you should at least consider it before investing your career in the orchestrator fantasy.</p>
<p>What is your take? Are PMs positioned to thrive in the agentic era, or is the industry selling false hope? I would genuinely like to hear the counterargument.</p>
<h2>Sources</h2>
<ul>
<li>Deloitte: Agentic AI Strategy, 2025.</li>
<li>McKinsey: The Agentic Organization.</li>
<li>Gartner: Top Tech Trends 2025.</li>
<li>Andrew Ng on Agentic AI Patterns.</li>
</ul>]]></content:encoded>
            <category>product-management</category>
            <category>agentic-ai</category>
            <category>careers</category>
            <category>strategy</category>
        </item>
    </channel>
</rss>