<?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: Anushka Shukla</title>
    <description>The latest articles on DEV Community by Anushka Shukla (@anushka_shukla_c2605dfa90).</description>
    <link>https://dev.to/anushka_shukla_c2605dfa90</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3976224%2F33a498b3-5467-4203-ac47-f8f65565d9c5.png</url>
      <title>DEV Community: Anushka Shukla</title>
      <link>https://dev.to/anushka_shukla_c2605dfa90</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/anushka_shukla_c2605dfa90"/>
    <language>en</language>
    <item>
      <title># Where Jev Fits in an Application</title>
      <dc:creator>Anushka Shukla</dc:creator>
      <pubDate>Wed, 30 Sep 2026 19:06:56 +0000</pubDate>
      <link>https://dev.to/anushka_shukla_c2605dfa90/-where-jev-fits-in-an-application-36je</link>
      <guid>https://dev.to/anushka_shukla_c2605dfa90/-where-jev-fits-in-an-application-36je</guid>
      <description>&lt;p&gt;Suppose you’re building a service that receives customer support tickets. Before assigning a ticket, your code needs to answer two questions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Which team should handle it?&lt;/li&gt;
&lt;li&gt;Does it need urgent attention?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You could ask a language model to write an assessment and then parse its response. &lt;strong&gt;Jev&lt;/strong&gt;, TypeSafe AI’s decision model, offers another interface: send it the ticket as &lt;code&gt;state&lt;/code&gt;, define the questions and their answer types, and receive structured answers.&lt;/p&gt;

&lt;p&gt;For example, you might define the team as a &lt;strong&gt;Choice&lt;/strong&gt; between &lt;code&gt;billing&lt;/code&gt;, &lt;code&gt;technical&lt;/code&gt;, and &lt;code&gt;sales&lt;/code&gt;. Urgency could be a &lt;strong&gt;Noul&lt;/strong&gt;, Jev’s probability-based answer to a yes-or-no question. Jev also supports &lt;strong&gt;Score&lt;/strong&gt; questions for placing something on a defined scale.&lt;/p&gt;

&lt;p&gt;The flow looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Ticket + defined questions
           ↓
          Jev
           ↓
Choice and probability-based answers
           ↓
Your application decides what to do
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your application still owns the rules. It might assign a ticket automatically when the team choice is clear, or put it in a review queue when the result is uncertain. Jev supplies a judgment; your code decides how much to trust it.&lt;/p&gt;

&lt;p&gt;That separation is useful when the inputs vary too much for a few &lt;code&gt;if&lt;/code&gt; statements, but the possible actions are known in advance. Think ticket routing, document classification, content review, or deciding which tool an AI agent should call next.&lt;/p&gt;

&lt;p&gt;There’s a limit to keep in mind: structured output guarantees a usable &lt;em&gt;shape&lt;/em&gt;, not a correct judgment. I would test it against real examples, track mistakes, and keep human review for decisions where errors matter.&lt;/p&gt;

&lt;p&gt;TypeSafe AI’s &lt;a href="https://docs.typesafe.ai/introduction/quickstart" rel="noopener noreferrer"&gt;quickstart&lt;/a&gt; shows the request format and a working example if you want to try it.&lt;/p&gt;

</description>
      <category>jev</category>
      <category>llm</category>
      <category>automaton</category>
      <category>ai</category>
    </item>
    <item>
      <title>LLM Wiki: A Smarter Alternative to RAG</title>
      <dc:creator>Anushka Shukla</dc:creator>
      <pubDate>Tue, 09 Jun 2026 14:56:16 +0000</pubDate>
      <link>https://dev.to/anushka_shukla_c2605dfa90/llm-wiki-a-smarter-alternative-to-rag-4dm2</link>
      <guid>https://dev.to/anushka_shukla_c2605dfa90/llm-wiki-a-smarter-alternative-to-rag-4dm2</guid>
      <description>&lt;p&gt;Every developer I know has the same problem.&lt;br&gt;
You read a great article. You save it. You take notes. You bookmark three more links. A month later, you need that knowledge again and you're starting from scratch, re-reading the same things, rediscovering what you already knew.&lt;br&gt;
So you do what every sensible developer does: you build a RAG pipeline.&lt;br&gt;
You chunk your documents. You embed them. You set up a vector database. You wire up a retrieval layer. Three days later, you have a system that answers questions from your documents sort of. Sometimes the chunks are too small. Sometimes the wrong document gets retrieved. Sometimes the answer is technically correct but misses the point entirely.&lt;br&gt;
And the worst part? The system learns nothing. Every query starts from zero.&lt;br&gt;
There's a better way. Andrej Karpathy co-founder of OpenAI, former Director of AI at Tesla published a deceptively simple idea in April 2026 that's been quietly spreading through the developer community ever since.&lt;br&gt;
He calls it the LLM Wiki.&lt;/p&gt;

&lt;p&gt;What's Wrong with RAG?&lt;br&gt;
Before I explain LLM Wiki, let me be fair to RAG. It's not bad. For large enterprise document stores thousands of PDFs, legal contracts, customer records RAG is the right tool. It scales in ways that other approaches can't.&lt;br&gt;
But most developers aren't building enterprise search engines. They're trying to get an AI to work intelligently with their knowledge their notes, their research, their team's documentation.&lt;br&gt;
And for that use case, RAG has a fundamental flaw: it's stateless.&lt;br&gt;
Every time you ask a question, the system re reads your raw documents from scratch. It retrieves chunks. It answers. It forgets. The next question, same thing. There's no accumulation. No synthesis. No memory of what it figured out last time.&lt;br&gt;
It's like hiring a brilliant researcher who reads your entire library before answering every single question and then immediately forgets everything when you ask the next one.&lt;/p&gt;

&lt;p&gt;The LLM Wiki Pattern&lt;br&gt;
Karpathy's insight is almost embarrassingly simple once you hear it.&lt;br&gt;
Instead of querying raw documents over and over, you have an LLM compile your sources into a structured wiki of plain Markdown files once. From then on, you query the compiled wiki, not the raw sources.&lt;br&gt;
Think of it like this:&lt;/p&gt;

&lt;p&gt;"Obsidian is the IDE, the LLM is the programmer, the wiki is the codebase."&lt;br&gt;
— Andrej Karpathy&lt;/p&gt;

&lt;p&gt;Your raw documents are source material. The LLM reads them and produces clean, structured, interlinked pages one per concept. Like Wikipedia, but for your personal knowledge.&lt;br&gt;
When you have a new source, you add it and run the compilation again. The LLM updates the relevant pages, adds new ones, and notes any contradictions. The wiki grows. The knowledge compounds.&lt;/p&gt;

&lt;p&gt;What a Wiki Page Looks Like&lt;br&gt;
Here's an example of what the LLM produces a page for the concept "vector embeddings":&lt;br&gt;
markdown# Vector Embeddings&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Type:&lt;/strong&gt; Concept&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Related:&lt;/strong&gt; [[RAG]], [[Semantic Search]], [[Neural Networks]]&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;Vector embeddings are numerical representations of text that capture semantic &lt;br&gt;
meaning. Similar concepts produce vectors that are close together in space.&lt;/p&gt;

&lt;h2&gt;
  
  
  How They Work
&lt;/h2&gt;

&lt;p&gt;Text is passed through a model which outputs a list of numbers the embedding. &lt;br&gt;
These numbers encode the meaning of the text in a way that allows mathematical &lt;br&gt;
comparison.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where They're Used
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;RAG pipelines (retrieving relevant document chunks)&lt;/li&gt;
&lt;li&gt;Semantic search engines&lt;/li&gt;
&lt;li&gt;Recommendation systems&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Limitations
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Embeddings from different models aren't compatible&lt;/li&gt;
&lt;li&gt;Quality degrades on very long texts&lt;/li&gt;
&lt;li&gt;Require a vector database to query at scale&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[[Attention Is All You Need Vaswani et al.]]&lt;/li&gt;
&lt;li&gt;[[OpenAI Embeddings Documentation]]
Clean. Structured. Cross-referenced. Written once, queryable forever.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;RAG vs LLM Wiki: A Direct Comparison&lt;br&gt;
RAGLLM WikiLearns over time? No YesInfrastructure neededVector DB + embeddings + retrieval pipelineA text editorQuery costHigh re reads docs every timeLow reads structured wikiCross-source synthesisWeakStrongBest forMillions of documentsPersonal / team knowledge&lt;/p&gt;

&lt;p&gt;How to Try It in 30 Minutes&lt;br&gt;
You don't need to write any code to try this. Here's the simplest possible version:&lt;br&gt;
Step 1 — Gather your sources&lt;br&gt;
Create a folder. Drop in 3–5 Markdown or text files articles you've saved, notes you've taken, documentation you reference often.&lt;br&gt;
Step 2 — Compile the wiki&lt;br&gt;
Open Claude.ai, upload your files, and paste this prompt:&lt;br&gt;
Read these documents and create structured Markdown wiki pages for the key &lt;br&gt;
concepts. For each concept, write a summary, list related concepts using &lt;br&gt;
[[wikilinks]], and note the source. Output each page as a separate code block.&lt;br&gt;
Step 3 — Save and query&lt;br&gt;
Copy the generated pages into a folder. Open it in Obsidian (free). Now ask questions against your wiki instead of your raw documents.&lt;br&gt;
That's it. No vector database. No embedding model. No retrieval pipeline. Just Markdown files and an LLM.&lt;/p&gt;

&lt;p&gt;When to Stick with RAG&lt;br&gt;
LLM Wiki isn't a replacement for RAG in every situation. Use RAG when:&lt;/p&gt;

&lt;p&gt;You have thousands of documents the wiki would become too large for a context window&lt;br&gt;
Your documents update constantly real time data needs real time retrieval&lt;br&gt;
You need exact citation RAG can point to the precise chunk; a wiki synthesizes across sources&lt;/p&gt;

&lt;p&gt;For everything else personal research, team knowledge bases, project documentation, learning notes the LLM Wiki pattern is simpler, cheaper, and produces better answers.&lt;/p&gt;

&lt;p&gt;The Bigger Idea&lt;br&gt;
What Karpathy identified isn't just a technical pattern. It's a shift in how we think about AI and knowledge.&lt;br&gt;
Most AI tools treat your documents as static inputs things to be searched. The LLM Wiki treats your knowledge as something alive something that grows, connects, and compounds every time you add to it.&lt;br&gt;
RAG answers questions. LLM Wiki builds understanding.&lt;br&gt;
And honestly? That's the kind of AI tool I actually want to use.&lt;/p&gt;

&lt;p&gt;Have you tried building a personal knowledge base with LLMs? Drop a comment below I'd love to hear what's working for you.&lt;/p&gt;

&lt;p&gt;Want a deeper dive?&lt;br&gt;
I wrote a more detailed version of this on Medium covering the full history behind the idea (including Vannevar Bush's 1945 Memex concept) and a step by step walkthrough for three different implementation paths.&lt;/p&gt;

&lt;p&gt;Read the full article on &lt;a href="https://medium.com/@shuklaanushka2024/stop-using-rag-for-everything-try-llm-wiki-instead-20db723f5548" rel="noopener noreferrer"&gt;Medium&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you find it useful, a follow there helps me write more content like this. &lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>productivity</category>
      <category>rag</category>
    </item>
  </channel>
</rss>
