<?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: Pranava Kailash Subramaniam Prema</title>
    <description>The latest articles on DEV Community by Pranava Kailash Subramaniam Prema (@harvesh_kumar).</description>
    <link>https://dev.to/harvesh_kumar</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%2F3645867%2Fefd8bc76-2e85-4f38-85a4-4f90574ded95.jpg</url>
      <title>DEV Community: Pranava Kailash Subramaniam Prema</title>
      <link>https://dev.to/harvesh_kumar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/harvesh_kumar"/>
    <language>en</language>
    <item>
      <title>Part 3: Why Transformers Still Forget</title>
      <dc:creator>Pranava Kailash Subramaniam Prema</dc:creator>
      <pubDate>Mon, 05 Jan 2026 09:46:04 +0000</pubDate>
      <link>https://dev.to/harvesh_kumar/part-3-why-transformers-still-forget-1mm3</link>
      <guid>https://dev.to/harvesh_kumar/part-3-why-transformers-still-forget-1mm3</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This is Part 3 and the final post in a three-part series on why long-context language models still struggle with memory.&lt;br&gt;&lt;br&gt;
In &lt;a href="https://forem.com/harvesh_kumar/part-1-long-context-memory-on-why-transformers-still-forget-1am0" rel="noopener noreferrer"&gt;Part 1&lt;/a&gt;, we saw why increasing context length does not equal better memory.&lt;br&gt;&lt;br&gt;
In &lt;a href="https://forem.com/harvesh_kumar/part-2-why-transformers-still-forget-17od" rel="noopener noreferrer"&gt;Part 2&lt;/a&gt;, we reframed sequence models as memory systems using the MIRAS perspective.&lt;br&gt;&lt;br&gt;
In this final post, we examine &lt;strong&gt;Titans&lt;/strong&gt;, a concrete architecture that puts those memory principles into practice.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Why Titans Exist at All
&lt;/h2&gt;

&lt;p&gt;Titans does not start by asking how to make attention cheaper or how to stretch context windows further. It starts from a more fundamental observation: &lt;strong&gt;short-term memory and long-term memory serve different purposes and should not be implemented by the same mechanism&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Attention excels at precise, short-range dependency modelling. It is flexible, expressive, and powerful, but expensive and fragile at scale. Long-term memory, on the other hand, must persist across long horizons, store abstractions rather than raw data, and selectively forget. Titans exist because trying to force attention to play both roles leads to unavoidable trade-offs.&lt;/p&gt;

&lt;p&gt;Rather than replacing attention, Titans keeps it where it performs best and introduces a dedicated long-term memory module alongside it.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Three Memory Components in Titans
&lt;/h2&gt;

&lt;p&gt;At a high level, Titans separates memory into three distinct components.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;core model&lt;/strong&gt; utilises attention as a form of short-term memory, operating within a limited window where precision is most crucial. This is where immediate reasoning and local dependency tracking happen.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;long-term memory module&lt;/strong&gt; is implemented as a neural network rather than a fixed-size vector or matrix. Its role is to store information that should persist beyond the attention window. Crucially, this memory is not static; it can be updated as the model processes new data.&lt;/p&gt;

&lt;p&gt;Finally, &lt;strong&gt;persistent memory&lt;/strong&gt; captures task-level or global knowledge that does not change during inference. This allows the system to separate stable knowledge from context-specific learning.&lt;/p&gt;

&lt;p&gt;This explicit separation is what allows Titans to scale memory without relying on unbounded attention.&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%2Fnd37k2ntku4a7it5pbrp.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%2Fnd37k2ntku4a7it5pbrp.png" alt="Titans architecture showing short-term attention, long-term neural memory, and persistent memory" width="800" height="436"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Conceptual diagram illustrating how short-term attention and long-term memory interact in Titans.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Learning During Inference: Test-Time Memory Updates
&lt;/h2&gt;

&lt;p&gt;The most distinctive feature of Titans is that it allows &lt;strong&gt;memory updates during inference&lt;/strong&gt;. Instead of freezing all learning at training time, Titans treats long-term memory as something that can evolve while the model is running.&lt;/p&gt;

&lt;p&gt;This raises an immediate concern: how does the model avoid learning noise, contradictions, or irrelevant details?&lt;/p&gt;

&lt;p&gt;Titans addresses this by introducing a &lt;strong&gt;surprise-driven update mechanism&lt;/strong&gt;. Intuitively, the model measures how unexpected a new input is based on gradient signals. Information that produces little surprise is unlikely to be written to memory, while information that generates strong learning signals is more likely to be retained.&lt;/p&gt;

&lt;p&gt;To stabilise this process, Titans incorporates momentum so that important information remains relevant across neighbouring tokens, and adaptive forgetting so memory does not grow without bound. Forgetting is not treated as a failure mode, but as a necessary control mechanism.&lt;/p&gt;




&lt;h2&gt;
  
  
  How Titans Integrates Memory with Attention
&lt;/h2&gt;

&lt;p&gt;Titans explores multiple ways of connecting long-term memory to the core attention mechanism, each with different trade-offs.&lt;/p&gt;

&lt;p&gt;In &lt;strong&gt;Memory as Context (MAC)&lt;/strong&gt;, retrieved long-term memory is injected directly into the attention context, allowing attention to decide how much to use. This provides strong performance but increases the load on attention.&lt;/p&gt;

&lt;p&gt;In &lt;strong&gt;Memory as Gate (MAG)&lt;/strong&gt;, long-term memory runs in parallel with attention, and a gating mechanism blends their outputs. This balances efficiency and expressiveness.&lt;/p&gt;

&lt;p&gt;In &lt;strong&gt;Memory as Layer (MAL)&lt;/strong&gt;, memory is placed as a layer before attention. This simplifies integration but reduces interaction between short-term and long-term memory.&lt;/p&gt;

&lt;p&gt;These variants make explicit that memory integration is a routing decision, not an afterthought.&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%2F1jusgj852ldxsr9pqdbe.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%2F1jusgj852ldxsr9pqdbe.png" alt="Comparison of MAC, MAG, and MAL memory integration strategies" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Side-by-side diagram showing different paths for memory integration in Titans. Source: Google Research, Titans paper (arXiv:2501.00663)&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Scalability and What the Results Actually Show
&lt;/h2&gt;

&lt;p&gt;Titans demonstrates that this memory-first design can scale to &lt;strong&gt;extremely long contexts&lt;/strong&gt;, with experiments extending beyond two million tokens. Importantly, performance does not collapse as context grows. On retrieval-heavy benchmarks, Titans maintains strong accuracy where attention-only models degrade.&lt;/p&gt;

&lt;p&gt;The key takeaway is not the exact numbers, but the trend: &lt;strong&gt;explicit long-term memory changes how scaling behaves&lt;/strong&gt;. Instead of paying quadratic costs or compressing aggressively, Titans keeps attention bounded and relies on memory to carry forward what matters.&lt;/p&gt;

&lt;p&gt;This is a qualitative shift in how long-context modelling is approached.&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%2F1eb70eymnqo3pv18uvvs.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%2F1eb70eymnqo3pv18uvvs.png" alt="Retrieval accuracy versus context length for Titans and attention-based baselines" width="800" height="436"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Graph illustrating retrieval performance as context length increases.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Practical Trade-offs and Open Constraints
&lt;/h2&gt;

&lt;p&gt;Titans is not a free win. Allowing memory to update during inference introduces additional computation and system complexity. Serving such models requires careful monitoring, memory management, and safeguards to prevent drift.&lt;/p&gt;

&lt;p&gt;There are also open questions around evaluation. Measuring “true” long-term memory usage in realistic settings is difficult, and synthetic benchmarks can overemphasise recall patterns that do not always transfer cleanly to real-world workloads.&lt;/p&gt;

&lt;p&gt;Titans make these challenges explicit rather than hiding them behind larger context windows.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Titans Teaches Us Beyond This Architecture
&lt;/h2&gt;

&lt;p&gt;Even if Titans itself is not the final answer, it highlights several durable lessons.&lt;/p&gt;

&lt;p&gt;First, &lt;strong&gt;memory should be treated as a first-class system&lt;/strong&gt;, not a side effect of attention or recurrence. Second, forgetting must be controlled and intentional, not incidental. Third, long-context performance improves when models learn what to store, not just what to attend to.&lt;/p&gt;

&lt;p&gt;These insights generalise beyond Titans and point toward a broader shift in how sequence models are designed.&lt;/p&gt;




&lt;h2&gt;
  
  
  Conclusion: From Context Scaling to Memory Design
&lt;/h2&gt;

&lt;p&gt;This series began by questioning the assumption that more context equals better memory. We then reframed sequence models as memory systems with explicit design choices. Titans provides a concrete example of what happens when those choices are made deliberately.&lt;/p&gt;

&lt;p&gt;The future of long-context AI systems is unlikely to be defined by ever-larger windows alone. It will be defined by &lt;strong&gt;how memory is structured, updated, and forgotten over time&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That shift from context scaling to memory design is the real contribution of the Titans line of work.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>ai</category>
      <category>llm</category>
      <category>architecture</category>
    </item>
    <item>
      <title>Part 2: Why Transformers Still Forget</title>
      <dc:creator>Pranava Kailash Subramaniam Prema</dc:creator>
      <pubDate>Sun, 28 Dec 2025 21:05:38 +0000</pubDate>
      <link>https://dev.to/harvesh_kumar/part-2-why-transformers-still-forget-17od</link>
      <guid>https://dev.to/harvesh_kumar/part-2-why-transformers-still-forget-17od</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This is Part 2 of a three-part series on why long-context language models still struggle with memory.&lt;/p&gt;

&lt;p&gt;In &lt;a href="https://forem.com/harvesh_kumar/part-1-long-context-memory-on-why-transformers-still-forget-1am0" rel="noopener noreferrer"&gt;Part 1&lt;/a&gt;, we saw why increasing context length does not solve the memory problem. &lt;/p&gt;

&lt;p&gt;Here, we introduce a memory-centric way of thinking that explains &lt;em&gt;why&lt;/em&gt; models remember, forget, or fail under long context.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Why Architectural Labels Stop Being Useful
&lt;/h2&gt;

&lt;p&gt;Most discussions about sequence models revolve around architectural families: Transformers, RNNs, state-space models, linear attention, and so on. While these labels are useful historically, they often hide the real reasons models behave the way they do. Two models with very different architectures can fail for the same reason, while two seemingly similar models can behave very differently under long context.&lt;/p&gt;

&lt;p&gt;The MIRAS perspective starts from a simple shift: instead of asking &lt;em&gt;what architecture is this?&lt;/em&gt;, it asks &lt;em&gt;what kind of memory system is this model implementing?&lt;/em&gt; Once you adopt that lens, many long-context failures stop looking mysterious and start looking inevitable.&lt;/p&gt;




&lt;h2&gt;
  
  
  Memory as a System, Not a Side Effect
&lt;/h2&gt;

&lt;p&gt;At a high level, any system that processes sequences over time must answer four questions, whether explicitly or implicitly:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How does information get written into memory?
&lt;/li&gt;
&lt;li&gt;How is information retrieved later?
&lt;/li&gt;
&lt;li&gt;What gets forgotten, and when?
&lt;/li&gt;
&lt;li&gt;How is memory updated as new data arrives?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Traditional models answer these questions indirectly. Recurrent models write by compressing history into a hidden state and read by exposing that state at the next step. Transformers write by appending tokens into the context and read by attending over them. Forgetting happens automatically when context limits are exceeded or when compression loses detail.&lt;/p&gt;

&lt;p&gt;MIRAS makes these mechanisms explicit and treats them as &lt;em&gt;design choices&lt;/em&gt;, not side effects.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Four MIRAS Design Knobs
&lt;/h2&gt;

&lt;p&gt;MIRAS (Memory-Informed Recurrent Associative Systems) characterizes sequence models using four core components. These are not tied to any single architecture; they describe &lt;em&gt;how memory behaves&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;The first is &lt;strong&gt;memory structure&lt;/strong&gt;. This defines &lt;em&gt;what form memory takes&lt;/em&gt;. It might be a vector, a matrix, or a more expressive neural network. Fixed-size structures force compression, while richer structures allow selective retention.&lt;/p&gt;

&lt;p&gt;The second is &lt;strong&gt;attentional bias&lt;/strong&gt;. This defines &lt;em&gt;what the model considers relevant&lt;/em&gt;. In Transformers, this is typically dot-product similarity. MIRAS highlights that this choice strongly influences what gets retrieved and what gets ignored, especially in noisy or long sequences.&lt;/p&gt;

&lt;p&gt;The third is the &lt;strong&gt;retention or forgetting mechanism&lt;/strong&gt;. Forgetting is not a flaw; it is a necessity. The question is whether forgetting is controlled and adaptive, or implicit and uncontrolled. Many models forget simply because they have no choice.&lt;/p&gt;

&lt;p&gt;The fourth is the &lt;strong&gt;memory update rule&lt;/strong&gt;. This determines how memory changes over time. Some models update memory only during training. Others allow memory to update during inference in a controlled way.&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%2Frbzaaxexcjkng98pvcad.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%2Frbzaaxexcjkng98pvcad.png" alt="MIRAS framework control panel" width="800" height="285"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Illustration showing the four MIRAS dimensions: memory structure, attentional bias, retention, and update rule.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Reinterpreting Familiar Models Through MIRAS
&lt;/h2&gt;

&lt;p&gt;When you view common architectures through the MIRAS lens, their strengths and weaknesses become clearer.&lt;/p&gt;

&lt;p&gt;Transformers use a vibrant memory structure (the full context window) and a strong attentional bias (similarity-based attention). However, their retention mechanism is crude: once the window is full, older information disappears entirely. Their memory update rule is static during inference.&lt;/p&gt;

&lt;p&gt;Linear attention and state-space models modify their structure and update rules to achieve efficiency, but they often rely on aggressive compression. This explains why they scale well but struggle with precise recall over very long sequences.&lt;/p&gt;

&lt;p&gt;The key insight is that these trade-offs are not accidental. They follow directly from the memory design choices each model makes.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Loss Functions and Objectives Matter
&lt;/h2&gt;

&lt;p&gt;One subtle but important point in MIRAS is that memory behaviour is influenced not only by architecture, but also by the objective being optimised. Many models rely heavily on mean-squared-error-like objectives or similarity-based losses. These can be sensitive to noise and outliers, which in turn affects what memory updates are emphasised.&lt;/p&gt;

&lt;p&gt;MIRAS uses this observation to motivate alternative formulations that change how relevance and stability are defined. The result is not just better robustness, but more predictable memory behaviour under long and noisy inputs.&lt;/p&gt;

&lt;p&gt;This reinforces the central idea: memory is not just where information is stored, but how learning signals shape what is kept.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Framework Matters Before Talking About Titans
&lt;/h2&gt;

&lt;p&gt;Without a framework like MIRAS, Titans can look like a collection of clever tricks: test-time updates, surprise signals, adaptive forgetting. With MIRAS, those choices become legible. They are answers to explicit memory-design questions rather than ad-hoc optimisations.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://forem.com/harvesh_kumar/part-1-long-context-memory-on-why-transformers-still-forget-1am0" rel="noopener noreferrer"&gt;Part 1&lt;/a&gt; showed that attention alone cannot serve as long-term memory. Part 2 explains &lt;em&gt;why&lt;/em&gt; most existing alternatives still fall short. Only after this framing does it make sense to examine Titans as a concrete instantiation of a different memory system.&lt;/p&gt;




&lt;h2&gt;
  
  
  What to Watch for in Real Applications
&lt;/h2&gt;

&lt;p&gt;If you apply the MIRAS lens to real systems, patterns emerge quickly. Models fail when the memory structure is too rigid, when retention is uncontrolled, or when update rules are frozen despite changing inputs. Conversely, systems become more robust when memory design is intentional and aligned with task requirements.&lt;/p&gt;

&lt;p&gt;This perspective is especially relevant for agents, streaming data, long-running processes, and any application where the model must operate continuously rather than in isolated prompts.&lt;/p&gt;




&lt;h2&gt;
  
  
  Looking Ahead to Part 3
&lt;/h2&gt;

&lt;p&gt;Part 2 sets the conceptual groundwork. In Part 3, we will look closely at the Titans' architecture and see how it instantiates these memory principles in practice. We will examine how long-term memory is represented, how it updates during inference, and how forgetting is managed to keep the system stable.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>ai</category>
      <category>architecture</category>
      <category>llm</category>
    </item>
    <item>
      <title>Part 1: Why Transformers Still Forget</title>
      <dc:creator>Pranava Kailash Subramaniam Prema</dc:creator>
      <pubDate>Thu, 18 Dec 2025 12:37:51 +0000</pubDate>
      <link>https://dev.to/harvesh_kumar/part-1-long-context-memory-on-why-transformers-still-forget-1am0</link>
      <guid>https://dev.to/harvesh_kumar/part-1-long-context-memory-on-why-transformers-still-forget-1am0</guid>
      <description>&lt;p&gt;This is Part 1 of a three-part series examining why long context is not equivalent to long-term memory in modern language models. Here, we focus on why attention-based systems forget even when context windows grow dramatically. The next parts will introduce a memory-first framework and analyse how the Titans architecture approaches long-term memory explicitly.&lt;/p&gt;

&lt;p&gt;Long-context models are everywhere now. The marketing message is simple: if a model can read more tokens, it can “remember” more. That sounds reasonable, but it is the wrong mental model. A bigger context window mostly turns a model into a better reader, not a better rememberer. The distinction matters because many real-world tasks are not about reading everything; they are about keeping what matters and using it later without constantly re-scanning a massive history.&lt;/p&gt;

&lt;p&gt;This post introduces the core problem behind the &lt;em&gt;Titans&lt;/em&gt; line of work from Google Research: &lt;strong&gt;attention is an excellent short-term memory mechanism, but it is not a complete memory system&lt;/strong&gt;. Titans starts from this premise and proposes a way to introduce long-term memory without relying on quadratic attention over the entire past.&lt;/p&gt;




&lt;h2&gt;
  
  
  The False Promise of “Just Increase the Context Window”
&lt;/h2&gt;

&lt;p&gt;Transformers are built around attention. Attention works by comparing queries to keys across the tokens provided in the context window and retrieving values weighted by similarity. This mechanism can feel like memory because the model can “look back” and reuse earlier information. In reality, however, the model is only conditioning on what is currently visible; it repeatedly consults the context rather than storing information in a durable internal memory.&lt;/p&gt;

&lt;p&gt;As context length increases, the model can consult more text, but relevance becomes harder to isolate. The longer the history, the more distractors exist, and the easier it becomes for retrieval to miss the one detail that matters. This explains the common gap between &lt;em&gt;“the model can technically see the information”&lt;/em&gt; and &lt;em&gt;“the model reliably uses the information.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In short, long context improves access, but it does not guarantee retention.&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%2F6cspx1mc9vetju80sz1p.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%2F6cspx1mc9vetju80sz1p.png" alt="Attention cost grows with context length (quadratic scaling)" width="800" height="436"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Illustration showing quadratic growth of attention cost as context length increases&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Attention as Memory: Useful, but Incomplete
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://arxiv.org/abs/2501.00663" rel="noopener noreferrer"&gt;Titans' paper&lt;/a&gt; frames attention as an &lt;strong&gt;associative memory block&lt;/strong&gt;. Tokens are stored as key–value pairs and retrieved through similarity search. This explains why Transformers perform so well on many sequence tasks. However, it also clarifies the limitation: the model’s output is strictly conditioned on dependencies inside the current context window, which is fundamentally bounded.&lt;/p&gt;

&lt;p&gt;Titans draws a clear conceptual line. Attention behaves like &lt;strong&gt;short-term memory&lt;/strong&gt;, high fidelity, flexible, and powerful, but constrained by window size and computational cost. Long-term memory requires different properties: persistence over time, selective storage, and the ability to retain useful abstractions without keeping every past token accessible through attention.&lt;/p&gt;

&lt;p&gt;This distinction is not philosophical; it is architectural. Focusing attention on handling long-term storage increases compute cost without delivering reliable recall.&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%2F2wh67hwlr4zje1t8bz9d.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%2F2wh67hwlr4zje1t8bz9d.png" alt="Short-term attention memory vs long-term persistent memory" width="800" height="436"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;short-term attention with persistent long-term neural memory&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Why “Efficient” Transformers and Linear Models Still Struggle
&lt;/h2&gt;

&lt;p&gt;One response to attention’s scaling limits is to replace softmax attention with linear or kernel-based alternatives. While these approaches reduce computational complexity, they often behave like linear recurrent models that compress history into a fixed-size state. This makes them efficient, but also introduces information loss.&lt;/p&gt;

&lt;p&gt;The contradiction is clear: these models are most appealing when context is very long, yet very long histories are difficult to compress without losing important details. As a result, two imperfect strategies dominate today:&lt;/p&gt;

&lt;p&gt;Full-attention Transformers retain rich access to recent context but are expensive and bounded. Linear or recurrent variants scale efficiently but risk forgetting critical information due to compression.&lt;/p&gt;

&lt;p&gt;Titans is motivated by this tension. Efficiency and reliable recall clash when only a single memory mechanism is used.&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%2Fwodli675r0c6log4rvk5.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%2Fwodli675r0c6log4rvk5.png" alt="Trade-off between full attention and compressed recurrence" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“Full attention: accurate but expensive” versus “Compressed recurrence: efficient but forgetful”&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Memory Perspective That Leads to Titans
&lt;/h2&gt;

&lt;p&gt;A key contribution of the Titans' work is its &lt;strong&gt;memory-centric view of sequence modelling&lt;/strong&gt;. Models are described in terms of two operations: writing (or updating memory) and reading (or retrieving from memory). Recurrent models write by compressing history into a hidden state. Transformers write by appending keys and values to the context. Retrieval then happens either by reading the hidden state or attending to stored keys.&lt;/p&gt;

&lt;p&gt;Seen through this lens, the important questions shift. Instead of asking which architecture is best, we ask how memory should be structured, how it should update, how it should retrieve information, how it should forget, and how multiple memory modules can be combined so each handles what it does best.&lt;/p&gt;

&lt;p&gt;This framing naturally leads to Titans: an architecture where attention remains in short-term memory, and a separate module is responsible for long-term memory.&lt;/p&gt;




&lt;h2&gt;
  
  
  What This Means for Real Systems
&lt;/h2&gt;

&lt;p&gt;For systems that involve continuous reasoning, long-running agents, extended conversations, log analysis, long documents, or time-series data, the limitation appears quickly. Increasing context length helps, but retrieval becomes fragile as the haystack grows. This is why larger windows often improve demos without fully solving reliability.&lt;/p&gt;

&lt;p&gt;Titans is compelling because it does not claim that attending to everything is sufficient. Instead, it argues for an architecture that explicitly incorporates long-term memory and manages retention over extended horizons while remaining computationally practical.&lt;/p&gt;




&lt;h2&gt;
  
  
  Unresolved Questions
&lt;/h2&gt;

&lt;p&gt;Part 1 deliberately leaves one major question unanswered: &lt;strong&gt;what should a long-term memory module look like, and how should it decide what to store and forget?&lt;/strong&gt; The Titans paper addresses this later using a neural long-term memory updated at test time via a “surprise” signal and adaptive forgetting.&lt;/p&gt;

&lt;p&gt;These mechanisms will be explored in Part 3. Before that, Part 2 introduces a broader memory lens that explains why forgetting and retention emerge from design choices rather than bugs.&lt;/p&gt;




&lt;h2&gt;
  
  
  Conclusion: We Don’t Have a Context Problem, We Have a Memory Problem
&lt;/h2&gt;

&lt;p&gt;Attention is an exceptional tool for short-range dependency modelling, but treating it as the entire memory system forces trade-offs that do not disappear with larger context windows. Truly scalable long-context systems require dedicated long-term memory mechanisms, not just longer scrollback.&lt;/p&gt;

&lt;p&gt;In Part 2, we will make this memory-first framing explicit so that Titans appears as a logical architectural step rather than an isolated idea.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>productivity</category>
    </item>
    <item>
      <title>I Built a Fully Local Prompt Enhancer Chrome Extension with Gemini Nano</title>
      <dc:creator>Pranava Kailash Subramaniam Prema</dc:creator>
      <pubDate>Sun, 07 Dec 2025 21:00:14 +0000</pubDate>
      <link>https://dev.to/harvesh_kumar/i-built-a-fully-local-prompt-enhancer-chrome-extension-with-gemini-nano-1m5m</link>
      <guid>https://dev.to/harvesh_kumar/i-built-a-fully-local-prompt-enhancer-chrome-extension-with-gemini-nano-1m5m</guid>
      <description>&lt;p&gt;Over the last few weeks, I’ve been building a Chrome extension called &lt;strong&gt;Prompt Enhancer&lt;/strong&gt; that turns rough ideas into clear, structured prompts for ChatGPT in a single click. It runs fully on‑device using &lt;strong&gt;Chrome’s built‑in Gemini Nano&lt;/strong&gt; via the Prompt API, so nothing ever leaves your browser.&lt;/p&gt;

&lt;p&gt;In this post, you’ll see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why Prompt Enhancer exists (and the workflow problem it solves)
&lt;/li&gt;
&lt;li&gt;How it works end‑to‑end from the user’s perspective
&lt;/li&gt;
&lt;li&gt;The technical architecture: Manifest V3, content scripts, and the Prompt API
&lt;/li&gt;
&lt;li&gt;What’s shipped today and what’s coming next (v2 ideas and roadmap)
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Problem: We Underspecify Prompts
&lt;/h2&gt;

&lt;p&gt;Most people use ChatGPT (or any LLM) like a search bar: dump a half‑formed thought, hit Enter, and hope for magic. The result is usually OK, but not great.&lt;/p&gt;

&lt;p&gt;Common issues:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Vague prompts like “explain this topic for my exam” with no level, context, or constraints
&lt;/li&gt;
&lt;li&gt;Coding requests with no input/output format, no edge cases, and no performance constraints
&lt;/li&gt;
&lt;li&gt;Writing tasks with no target audience, tone, or length
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As a data/AI person, this is painful to watch because &lt;strong&gt;prompt quality directly controls output quality&lt;/strong&gt;. A well‑designed prompt can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Save multiple back‑and‑forth iterations
&lt;/li&gt;
&lt;li&gt;Produce more reliable and testable outputs (especially for code and analysis)
&lt;/li&gt;
&lt;li&gt;Make AI tools actually usable in real workflows
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So the idea was simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What if you could type as you usually do, then hit one button that rewrites your rough text into a high‑quality prompt?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That’s precisely what &lt;strong&gt;Prompt Enhancer&lt;/strong&gt; does on top of ChatGPT, with almost zero friction.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Prompt Enhancer Does (User Experience)
&lt;/h2&gt;

&lt;p&gt;From the user’s point of view, Prompt Enhancer adds a tiny bit of superpower to the ChatGPT UI without changing how they use it day‑to‑day.&lt;/p&gt;

&lt;h3&gt;
  
  
  One‑Click Prompt Upgrade
&lt;/h3&gt;

&lt;p&gt;Once installed and enabled:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open ChatGPT in Chrome.
&lt;/li&gt;
&lt;li&gt;Start typing any rough idea into the input box.
&lt;/li&gt;
&lt;li&gt;You’ll see a small &lt;strong&gt;“Enhance”&lt;/strong&gt; button appear beside or near the textarea.
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Enhance&lt;/strong&gt;, wait a moment, and your rough text is replaced with a refined, structured prompt.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The enhanced prompt usually:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Adds missing context (audience, constraints, format)
&lt;/li&gt;
&lt;li&gt;Clarifies the task (summarise vs critique vs generate vs explain)
&lt;/li&gt;
&lt;li&gt;Specifies outputs (bullet list, table, code with comments, etc.)
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can quickly review the rewritten prompt, tweak anything you like, then hit Enter as usual.&lt;/p&gt;

&lt;h3&gt;
  
  
  100% On‑Device, No External APIs
&lt;/h3&gt;

&lt;p&gt;The critical design choice: &lt;strong&gt;Prompt Enhancer does not call any external API&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead, it uses &lt;strong&gt;Chrome’s Prompt API&lt;/strong&gt; to talk to Gemini Nano, the small LLM that Chrome can run locally inside the browser.&lt;/p&gt;

&lt;p&gt;That means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No API keys
&lt;/li&gt;
&lt;li&gt;No extra backend server to maintain
&lt;/li&gt;
&lt;li&gt;No prompts going to third‑party infrastructure beyond what ChatGPT itself already uses when you submit
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For anyone writing sensitive content (internal docs, research, planning), this matters a lot. The extension never ships your text to another cloud service to enhance it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Keyboard‑First Flow
&lt;/h3&gt;

&lt;p&gt;To keep things fast for power users, Prompt Enhancer also supports keyboard shortcuts (for example, pressing a combination to trigger an enhancement instead of clicking the button). This keeps the workflow:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Type → Enhance → Enter  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;All from the keyboard, which is how heavy users of ChatGPT typically operate.&lt;/p&gt;




&lt;h2&gt;
  
  
  Under the Hood: Architecture and Design
&lt;/h2&gt;

&lt;p&gt;Now for the fun part: how it’s built.&lt;/p&gt;

&lt;p&gt;Prompt Enhancer is a &lt;strong&gt;Manifest V3&lt;/strong&gt; Chrome extension that combines three main pieces:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The extension manifest (permissions + wiring)
&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;content script&lt;/strong&gt; that interacts with the ChatGPT DOM
&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;Prompt API integration&lt;/strong&gt; that calls Gemini Nano locally
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  1. Manifest V3 Basics
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;manifest.json&lt;/code&gt; file:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Declares this as a Manifest V3 extension.
&lt;/li&gt;
&lt;li&gt;Specifies the sites where the content script should run (e.g., &lt;code&gt;https://chat.openai.com/*&lt;/code&gt;).
&lt;/li&gt;
&lt;li&gt;Requests the minimum permissions needed to inject UI and read/write the textarea.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Keeping permissions minimal helps with both security and Chrome Web Store review. It also forces the architecture to be simple, which is a good constraint for a small but focused tool.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Content Script: Injecting the Enhance Button
&lt;/h3&gt;

&lt;p&gt;The content script is responsible for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Detecting when you’re on a ChatGPT page
&lt;/li&gt;
&lt;li&gt;Locating the main input textarea
&lt;/li&gt;
&lt;li&gt;Injecting the floating &lt;strong&gt;Enhance&lt;/strong&gt; button into the UI
&lt;/li&gt;
&lt;li&gt;Listening for click/keyboard events and reading the user’s current text
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because ChatGPT’s UI is a React app that changes frequently, the content script needs to be &lt;strong&gt;robust to DOM changes&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use stable selectors where possible
&lt;/li&gt;
&lt;li&gt;Fall back to heuristics like “the largest textarea in the chat input area”
&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;MutationObserver&lt;/code&gt; to re‑attach the button if the UI re-renders
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This prevents the extension from silently breaking when ChatGPT updates its frontend.&lt;/p&gt;

&lt;p&gt;Once the button is clicked:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The script grabs the current textarea value (the rough prompt).
&lt;/li&gt;
&lt;li&gt;It sends this text to the Gemini Nano logic (still inside the same browser context).
&lt;/li&gt;
&lt;li&gt;When the enhanced prompt comes back, the script overwrites the textarea value and restores focus.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Using Chrome’s Prompt API with Gemini Nano
&lt;/h3&gt;

&lt;p&gt;The most interesting part is the AI integration.&lt;/p&gt;

&lt;p&gt;Chrome has introduced a &lt;strong&gt;Prompt API&lt;/strong&gt; that lets developers send natural‑language requests to the built‑in Gemini Nano model directly inside the browser.&lt;/p&gt;

&lt;p&gt;The typical flow is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Check if the environment supports the AI APIs (for example, Dev or Canary builds with flags enabled if necessary).&lt;/li&gt;
&lt;li&gt;Create a language model instance via the Prompt API (this is what connects to Gemini Nano).
&lt;/li&gt;
&lt;li&gt;Pass a “meta‑prompt” plus the user’s rough text to the model.
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The &lt;strong&gt;meta‑prompt&lt;/strong&gt; is where the actual prompt engineering lives. Conceptually, it looks like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“You are a prompt‑engineering assistant. Rewrite the user’s text as a clear, detailed prompt that specifies context, output format, and constraints, without changing the core intent.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The model then returns an enhanced version of the prompt, which the extension pipes back into the ChatGPT textarea.&lt;/p&gt;

&lt;p&gt;Because Gemini Nano runs locally:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Latency is low and predictable (no network round-trip time).&lt;/li&gt;
&lt;li&gt;The extension can even function with Wi‑Fi turned off, as long as ChatGPT is already loaded and the model is available in Chrome.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This architecture cleanly separates concerns:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Content script&lt;/strong&gt;: DOM integration and UX.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI layer&lt;/strong&gt;: Prompt API + meta‑prompt logic.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What’s Shipped Today
&lt;/h2&gt;

&lt;p&gt;As of now, Prompt Enhancer includes a solid v1 feature set focused on doing one thing exceptionally well: &lt;strong&gt;turn rough prompts into better ones for ChatGPT.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Shipped features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Floating “Enhance” button&lt;/strong&gt; on the ChatGPT prompt textarea
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;On‑device prompt enhancement&lt;/strong&gt; using Gemini Nano via Chrome’s Prompt API
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full local processing&lt;/strong&gt; with no external prompt‑enhancement APIs
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keyboard shortcut support&lt;/strong&gt; for in‑flow power usage
&lt;/li&gt;
&lt;li&gt;A minimal, clean UX that feels native to ChatGPT
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s live on the &lt;strong&gt;Chrome Web Store&lt;/strong&gt;, so users can install it like any other extension and start using it in seconds. &lt;a href="https://chromewebstore.google.com/detail/prompt-enhancer/bbadphpjobokbobhbiejmajbclkkganp?authuser=1&amp;amp;hl=en-GB" rel="noopener noreferrer"&gt;Link to the extension&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Lessons Learned While Building It
&lt;/h2&gt;

&lt;p&gt;Beyond the feature list, this project taught several practical lessons that are worth sharing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Designing with Real‑World Constraints
&lt;/h3&gt;

&lt;p&gt;Shipping to the Chrome Web Store forces you to think about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Permissions and privacy policies
&lt;/li&gt;
&lt;li&gt;Clear explanations of what data is accessed, and why
&lt;/li&gt;
&lt;li&gt;How to communicate that everything runs locally and no extra server is involved
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because Prompt Enhancer is entirely local, the privacy story is strong, but it still needs to be communicated clearly in the listing and docs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Working With Experimental Browser AI
&lt;/h3&gt;

&lt;p&gt;Using Gemini Nano in Chrome is still relatively new, which means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Some setups require enabling flags or using Dev/Canary builds.&lt;/li&gt;
&lt;li&gt;The APIs and documentation are evolving, so error handling must be defensive.
&lt;/li&gt;
&lt;li&gt;It’s essential to provide a graceful fallback message if the model isn’t available yet on a user’s browser.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is a trade‑off between being &lt;strong&gt;early&lt;/strong&gt; on a powerful capability and accepting that not every user is ready out of the box.&lt;/p&gt;

&lt;h3&gt;
  
  
  UX Matters More Than Model Choice
&lt;/h3&gt;

&lt;p&gt;One of the biggest takeaways: users care more about flow than about which model is behind it.&lt;/p&gt;

&lt;p&gt;The small details add up:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Not breaking the user’s typing flow
&lt;/li&gt;
&lt;li&gt;Giving quick visual feedback when the enhancement is running
&lt;/li&gt;
&lt;li&gt;Respecting the original intent instead of over‑rewriting
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In other words, a simple, well‑integrated UX around a local model can improve day‑to‑day AI usage more than yet another separate web app.&lt;/p&gt;




&lt;h2&gt;
  
  
  Roadmap: What’s Coming Next
&lt;/h2&gt;

&lt;p&gt;Prompt Enhancer v1 focuses on ChatGPT, but there’s a lot of room to grow. Here are some ideas and updates planned for future versions.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Multi‑Platform Support
&lt;/h3&gt;

&lt;p&gt;Extend the same enhancement flow beyond ChatGPT to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Claude
&lt;/li&gt;
&lt;li&gt;Gemini web
&lt;/li&gt;
&lt;li&gt;Other AI tools with standard textareas
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This would turn Prompt Enhancer into a &lt;strong&gt;universal prompt‑upgrade layer&lt;/strong&gt; atop whichever LLM you prefer.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Mode‑Aware Enhancements
&lt;/h3&gt;

&lt;p&gt;Introduce selectable modes such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Coding prompt” (add test cases, clarify language, specify constraints)
&lt;/li&gt;
&lt;li&gt;“Writing prompt” (tone, audience, structure)
&lt;/li&gt;
&lt;li&gt;“Analysis prompt” (data format, assumptions, limitations)
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These modes would tweak the internal meta‑prompt to better match the user’s goal without making them think about prompt engineering too much.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Configurable Meta‑Prompts
&lt;/h3&gt;

&lt;p&gt;Expose some customisation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Let advanced users tweak the internal meta‑prompt
&lt;/li&gt;
&lt;li&gt;Save and reuse custom enhancement styles (e.g., “consultant style”, “exam prep”, “SDE interview”)
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This would bridge the gap between a plug‑and‑play extension and a more advanced power tool for prompt engineers.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Deeper Chrome Integration
&lt;/h3&gt;

&lt;p&gt;Longer‑term experiments could include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enhancing prompts based on page context (e.g., selected text on a docs page)
&lt;/li&gt;
&lt;li&gt;Using side panels for history and templates
&lt;/li&gt;
&lt;li&gt;Smarter handling of very long prompts or complex workflows
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All while maintaining the core principle: &lt;strong&gt;no extra backend, everything stays local&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Closing Thoughts
&lt;/h2&gt;

&lt;p&gt;Prompt Enhancer started as a small experiment: “Can a Chrome extension use on‑device AI to quietly make prompts better without getting in the way?” It has turned into a real, shippable tool that improves day‑to‑day AI workflows while respecting privacy and keeping the architecture clean.&lt;/p&gt;

&lt;p&gt;If you use ChatGPT regularly and want to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Get better answers without becoming a full‑time prompt engineer
&lt;/li&gt;
&lt;li&gt;Keep sensitive text local to your device
&lt;/li&gt;
&lt;li&gt;Add a bit of extra power to your existing flow
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then Prompt Enhancer might be worth a try. &lt;a href="https://chromewebstore.google.com/detail/prompt-enhancer/bbadphpjobokbobhbiejmajbclkkganp?authuser=1&amp;amp;hl=en-GB" rel="noopener noreferrer"&gt;Link to the extension&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can install it from the &lt;strong&gt;Chrome Web Store&lt;/strong&gt;, and any feedback, bug reports, or v2 ideas are very welcome.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
