<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Rahul Rangarao</title>
    <description>The latest articles on DEV Community by Rahul Rangarao (@rahulmranga).</description>
    <link>https://dev.to/rahulmranga</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3936881%2Fbf27eb42-8aca-47bc-8c93-2c7c60ab7700.jpeg</url>
      <title>DEV Community: Rahul Rangarao</title>
      <link>https://dev.to/rahulmranga</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rahulmranga"/>
    <language>en</language>
    <item>
      <title>I got tired of re-explaining myself to AI. So I built a memory graph</title>
      <dc:creator>Rahul Rangarao</dc:creator>
      <pubDate>Mon, 18 May 2026 10:53:28 +0000</pubDate>
      <link>https://dev.to/rahulmranga/i-got-tired-of-re-explaining-myself-to-ai-so-i-built-a-memory-graph-3i11</link>
      <guid>https://dev.to/rahulmranga/i-got-tired-of-re-explaining-myself-to-ai-so-i-built-a-memory-graph-3i11</guid>
      <description>&lt;p&gt;Every AI conversation starts from zero.&lt;/p&gt;

&lt;p&gt;You explain your architecture. The next day, you explain it again. You describe the decision you made three weeks ago. You clarify that constraint. You remind the model what your project actually &lt;em&gt;is&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;You are not using AI as a thinking partner. You are using it as a very fast search engine that needs a new tour every single session.&lt;/p&gt;

&lt;p&gt;I got frustrated with this. So I built something.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem Is Structural
&lt;/h2&gt;

&lt;p&gt;The issue isn't that Claude or GPT are bad models. The issue is that &lt;em&gt;context doesn't persist&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;You can dump your whole notes folder into a prompt window, but that's noisy — the model drowns in irrelevant text. You can use RAG, but that's heavy infrastructure for a personal workflow. You can use memory features in chat apps, but those are black boxes with no provenance: you don't know &lt;em&gt;why&lt;/em&gt; something was remembered, or whether it's still true.&lt;/p&gt;

&lt;p&gt;What I actually wanted was simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;graph&lt;/strong&gt; of concepts, decisions, goals, and relationships — not a pile of files&lt;/li&gt;
&lt;li&gt;Every claim &lt;strong&gt;backed by a source excerpt&lt;/strong&gt; — so I know where it came from&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Human review&lt;/strong&gt; before anything becomes durable — LLMs propose, I decide&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;tiny context snapshot&lt;/strong&gt; I can paste into any chat, any model, anywhere&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero cloud&lt;/strong&gt;. My graph is a JSON file on my machine.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Introducing &lt;code&gt;knowledge-worker&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnj2qrndettpn7lcrufmk.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnj2qrndettpn7lcrufmk.gif" alt="knowledge-worker graph visualizer demo" width="480" height="258"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/rahulmranga/knowledge-worker" rel="noopener noreferrer"&gt;&lt;code&gt;knowledge-worker&lt;/code&gt;&lt;/a&gt; is a local-first personal knowledge graph for carrying context across AI sessions. It turns markdown notes into reviewable concepts, decisions, goals, and relationships — with source excerpts attached — and exports a compact snapshot you can paste into Claude, GPT, Ollama, or whatever you're using next week.&lt;/p&gt;

&lt;p&gt;No account. No sync. No telemetry. Just a JSON file and a CLI.&lt;/p&gt;




&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;The pipeline is five stages:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Markdown note
  → LLM extracts candidate nodes + edges
  → Validator checks shape, provenance, excerpts
  → You review: accept / reject / edit each claim
  → Merger writes to your local graph
  → Eval log records outcomes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Stage 1: Ingest a note&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mykg ingest ~/notes/architecture-decision.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The CLI calls your chosen LLM (Claude, GPT, or local Ollama) and gets back a structured list of candidate nodes and edges. Nothing is written yet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stage 2: Review&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You see each candidate:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CANDIDATE: decision — "Use JSON first"
  excerpt: "plain JSON until it becomes the limiting factor"
  confidence: high
  [A]ccept / [R]eject / [E]dit &amp;gt; _
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The LLM proposes. You decide. Nothing becomes durable memory without your explicit approval.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stage 3: Query and export&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Search the graph&lt;/span&gt;
mykg query &lt;span class="s2"&gt;"provenance"&lt;/span&gt;

&lt;span class="c"&gt;# Find paths between ideas&lt;/span&gt;
mykg path goal:trusted-ai project:knowledge-worker

&lt;span class="c"&gt;# Export a compact LLM-ready context snapshot&lt;/span&gt;
mykg context
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;context&lt;/code&gt; command outputs something like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;knowledge-worker&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt; &lt;span class="s"&gt;project — A local-first knowledge graph for AI session continuity&lt;/span&gt;
  &lt;span class="s"&gt;→ serves&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="s"&gt;goal:trusted-ai&lt;/span&gt;
  &lt;span class="s"&gt;→ has_idea&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="s"&gt;idea:provenance-first&lt;/span&gt;

&lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;decision&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt; &lt;span class="s"&gt;Use JSON first — plain JSON until it becomes the limiting factor&lt;/span&gt;
  &lt;span class="s"&gt;source&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="s"&gt;architecture-note.md&lt;/span&gt;
  &lt;span class="s"&gt;confidence&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="s"&gt;high&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Paste that at the top of any new chat. Instant continuity.&lt;/p&gt;




&lt;h2&gt;
  
  
  No API Key? No Problem.
&lt;/h2&gt;

&lt;p&gt;If you already have a Claude or ChatGPT subscription, you don't need an API key at all.&lt;/p&gt;

&lt;p&gt;Just ask the model to produce a &lt;code&gt;*.candidates.json&lt;/code&gt; file from your notes (there's a schema in the repo), then run the local validator and merge:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mykg ingest notes.md &lt;span class="nt"&gt;--candidates-file&lt;/span&gt; notes.candidates.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your app subscription does the extraction. The repo keeps graph validation and merge local.&lt;/p&gt;




&lt;h2&gt;
  
  
  Visualize Your Graph
&lt;/h2&gt;

&lt;p&gt;Generate a self-contained, offline HTML viewer — no D3 CDN, no external requests, no server:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mykg viz &lt;span class="nt"&gt;--graph&lt;/span&gt; examples/demo_graph.json &lt;span class="nt"&gt;--out&lt;/span&gt; /tmp/my-graph.html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here's what the public demo graph looks like rendered:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Try it:&lt;/strong&gt; the repo ships a fictional demo graph you can run locally without any API key or install.&lt;/p&gt;


&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/rahulmranga/knowledge-worker
&lt;span class="nb"&gt;cd &lt;/span&gt;knowledge-worker
&lt;span class="nv"&gt;MYGRAPH_PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;examples/demo_graph.json python3 mygraph/mygraph.py summary
&lt;span class="nv"&gt;MYGRAPH_PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;examples/demo_graph.json python3 mygraph/mygraph.py context
python3 mygraph/mygraph.py viz &lt;span class="nt"&gt;--graph&lt;/span&gt; examples/demo_graph.json &lt;span class="nt"&gt;--out&lt;/span&gt; /tmp/demo.html
&lt;/code&gt;&lt;/pre&gt;

&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The Design Principles (Worth Saying Out Loud)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Provenance first.&lt;/strong&gt; Every durable claim points back to a source document and a literal excerpt. The graph distinguishes grounded claims from guesses.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Review before merge.&lt;/strong&gt; LLMs hallucinate. Letting an LLM write directly to your memory graph is how you end up with confident nonsense baked into your context. The pipeline enforces human review.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Boring persistence.&lt;/strong&gt; The graph is a JSON file. No database to stand up, no migration to run, no cloud to authenticate. Add SQL-backed storage when you actually need it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Local first.&lt;/strong&gt; Your private graph lives outside the repo, addressed by absolute path. The public repo ships only code, docs, and a fictional demo graph.&lt;/p&gt;




&lt;h2&gt;
  
  
  Works With Everything
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Backend&lt;/th&gt;
&lt;th&gt;Install&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Claude (Anthropic API)&lt;/td&gt;
&lt;td&gt;&lt;code&gt;pip install -e ".[anthropic]"&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT (OpenAI API)&lt;/td&gt;
&lt;td&gt;&lt;code&gt;pip install -e ".[openai]"&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ollama (local)&lt;/td&gt;
&lt;td&gt;&lt;code&gt;pip install -e ".[ollama]"&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;No API (app session)&lt;/td&gt;
&lt;td&gt;zero install — just bring a candidates JSON&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The &lt;code&gt;ollama_proxy/&lt;/code&gt; package also ships an MCP wrapper (&lt;code&gt;server.py&lt;/code&gt;) so it plugs into Claude/Cowork-style tool use.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Thing That Surprised Me
&lt;/h2&gt;

&lt;p&gt;Building this forced me to be honest about what I actually &lt;em&gt;know&lt;/em&gt; versus what I &lt;em&gt;assume&lt;/em&gt; about my own projects.&lt;/p&gt;

&lt;p&gt;The review step — accepting or rejecting each LLM-extracted claim — turns out to be useful on its own, independent of the graph. It's a forcing function to read your own notes carefully and decide: is this actually a decision, or is it still a question? Is this claim grounded in something real, or did I just assert it?&lt;/p&gt;

&lt;p&gt;The graph made my thinking legible to me. Which made it legible to the AI. Which made the AI actually useful for the second, third, and fiftieth conversation.&lt;/p&gt;




&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/rahulmranga/knowledge-worker
&lt;span class="nb"&gt;cd &lt;/span&gt;knowledge-worker
&lt;span class="nv"&gt;MYGRAPH_PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;examples/demo_graph.json python3 mygraph/mygraph.py query provenance
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No API key. No install. Just Python 3.10+.&lt;/p&gt;

&lt;p&gt;If you've ever re-explained the same context to an AI three times in a week — this is the thing I built so I'd stop doing that.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/rahulmranga/knowledge-worker" rel="noopener noreferrer"&gt;rahulmranga/knowledge-worker&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;MIT licensed. Local-first. stdlib-only core.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>markdown</category>
      <category>opensource</category>
      <category>graphdb</category>
    </item>
    <item>
      <title>Anthropic Named Their Models After Poetic Forms. I Think They Accidentally Mapped the Human Brain.</title>
      <dc:creator>Rahul Rangarao</dc:creator>
      <pubDate>Sun, 17 May 2026 22:11:46 +0000</pubDate>
      <link>https://dev.to/rahulmranga/anthropic-named-their-models-after-poetic-forms-i-think-they-accidentally-mapped-the-human-brain-2f7o</link>
      <guid>https://dev.to/rahulmranga/anthropic-named-their-models-after-poetic-forms-i-think-they-accidentally-mapped-the-human-brain-2f7o</guid>
      <description>&lt;p&gt;A 3am theory about cognitive architecture, Kahneman, and why I always reach for Sonnet.&lt;/p&gt;




&lt;p&gt;Kahneman's Two Systems&lt;/p&gt;

&lt;p&gt;Daniel Kahneman spent decades studying how humans make decisions. His conclusion, laid out in &lt;em&gt;Thinking, Fast and Slow&lt;/em&gt;, is that we don't have one brain — we have two systems running in parallel:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;System 1&lt;/strong&gt; is fast, automatic, instinctive. It pattern-matches. It reacts. It's the part of you that catches a ball before you consciously decide to reach for it. It doesn't deliberate — it fires.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;System 2&lt;/strong&gt; is slow, deliberate, effortful. It's the part of you that works through a logic puzzle, reads a contract, or plans a difficult conversation. It's expensive — metabolically and cognitively. You can't run it all day.&lt;/p&gt;

&lt;p&gt;Most of cognition, Kahneman argues, is System 1. System 2 is reserved for when it counts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu4z1buutr6nqg4x2mf33.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu4z1buutr6nqg4x2mf33.png" alt=" " width="720" height="376"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Third Layer Kahneman Didn't Name
&lt;/h2&gt;

&lt;p&gt;Neuroscience has a different framing — one that predates Kahneman and goes deeper.&lt;/p&gt;

&lt;p&gt;Paul MacLean's triune brain model describes three evolutionary layers:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The reptilian brain&lt;/strong&gt; — brainstem and cerebellum. Pure survival. Reflexes, breathing, heart rate. No reasoning. Just reaction.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The mammalian brain&lt;/strong&gt; — the limbic system. Emotion, memory, social bonding, creativity. The part of you that feels, connects, and imagines.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The human brain&lt;/strong&gt; — the neocortex, especially the prefrontal cortex. Abstract reasoning, planning, language, deep thought. The thing that makes us distinctly &lt;em&gt;us&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;The interesting part: these layers don't replace each other. They stack. They run in parallel. The neocortex doesn't turn off the limbic system — it converses with it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Three Models. Three Layers.
&lt;/h2&gt;

&lt;p&gt;Here's the theory:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Haiku is the reptilian brain.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Fast. Cheap. Reflexive. It pattern-matches and responds. It's System 1 made silicon. You use Haiku for the things that need to happen instantly — classification, tagging, quick lookups, high-volume inference at the edge. It doesn't deliberate. It fires.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sonnet is the mammalian brain.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And this is where it gets interesting.&lt;/p&gt;

&lt;p&gt;Sonnet is not the compromise between fast and slow. It's something qualitatively different. The limbic system isn't a weaker neocortex — it's where creativity lives. Emotion. Connection. Flow.&lt;/p&gt;

&lt;p&gt;Sonnet is where you go when you need to &lt;em&gt;think with feeling&lt;/em&gt;. When the problem isn't purely logical and it isn't purely reflexive. When you're writing, exploring, building, ideating. When you're at 3am and something is trying to surface.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Opus is the neocortex.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Slow. Expensive. Deliberate. It reasons through problems that require holding multiple competing ideas in tension. You bring Opus when the stakes are high and the problem is genuinely hard — architecture decisions, legal analysis, long-horizon planning. It's System 2. You can't run it on everything; it costs too much.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Matters for How You Work
&lt;/h2&gt;

&lt;p&gt;If this model is right, the choice of which model to use isn't just a cost-performance tradeoff. It's a &lt;em&gt;cognitive mode selection&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Routing a creative problem to Opus is like asking a team of senior engineers to brainstorm your product name. You'll get a technically rigorous answer when you needed a generative one. You'll get analysis when you needed flow.&lt;/p&gt;

&lt;p&gt;Routing a complex architecture decision to Haiku is the inverse mistake — you're asking your reflexes to do your planning.&lt;/p&gt;

&lt;p&gt;The instinct to "always use the smartest model" misses this. Bigger isn't always better. It's about matching the cognitive mode to the task.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Brain Layer&lt;/th&gt;
&lt;th&gt;System&lt;/th&gt;
&lt;th&gt;Use Case&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Haiku&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Brainstem / Cerebellum&lt;/td&gt;
&lt;td&gt;System 1&lt;/td&gt;
&lt;td&gt;Extraction, tagging, classification, high-volume inference&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Sonnet&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Limbic System&lt;/td&gt;
&lt;td&gt;Flow state&lt;/td&gt;
&lt;td&gt;Writing, coding, building, exploring, 3am crystallization&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Opus&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Prefrontal Cortex&lt;/td&gt;
&lt;td&gt;System 2&lt;/td&gt;
&lt;td&gt;Architecture, legal, long-horizon planning, high-stakes reasoning&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  A Note on the Naming
&lt;/h2&gt;

&lt;p&gt;I don't know if Anthropic intended this. The official explanation is capability tiers: Haiku is fastest and cheapest, Sonnet is balanced, Opus is most capable.&lt;/p&gt;

&lt;p&gt;But the poetic forms map. The cognitive layers map. The systems map.&lt;/p&gt;

&lt;p&gt;Maybe that's coincidence. Maybe it's the kind of thing that happens when a company thinks carefully about what they're building.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Practical Takeaway
&lt;/h2&gt;

&lt;p&gt;Next time you open a new conversation, don't default to Opus because it "feels safer." Ask what mode you're in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Classifying, reacting, extracting at scale → &lt;strong&gt;Haiku&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Creating, exploring, building, flowing → &lt;strong&gt;Sonnet&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Reasoning through hard, high-stakes, complex problems → &lt;strong&gt;Opus&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And if you find yourself reaching for Sonnet at 3am when something is trying to crystallize —&lt;/p&gt;

&lt;p&gt;You already know why.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Written at 3:30am. First draft always beats the edited version.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;— Rahul&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I'm building &lt;a href="https://github.com/rahulmranga/knowledge-worker" rel="noopener noreferrer"&gt;knowledge-worker&lt;/a&gt; — a local-first knowledge graph that gives AI assistants durable, provenance-backed memory across sessions. If you've ever re-explained the same context to Claude three times in a week, it might be for you.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>provenance</category>
      <category>memory</category>
      <category>network</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
