<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>LLM on Margrop Blog</title>
    <link>https://blog.margrop.net/en/tag/llm/</link>
    <description>Recent content in LLM on Margrop Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-US</language>
    <lastBuildDate>Sun, 19 Jul 2026 20:30:00 +0800</lastBuildDate>
    <atom:link href="https://blog.margrop.net/en/tag/llm/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Why Does AI Lie So Confidently? — It Is Not Thinking, It Is Playing Supercharged Word Association</title>
      <link>https://blog.margrop.net/en/post/ai-hallucination-super-chengyu/</link>
      <pubDate>Sun, 19 Jul 2026 20:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/ai-hallucination-super-chengyu/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;The short answer&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;AI hallucination is not simply an occasional bug. It is a predictable risk of a system whose basic job is to generate the next likely token from context. The model can produce a fluent, confident, highly structured answer without having verified that every claim is supported by evidence.&lt;/p&gt;&#xA;&lt;p&gt;The easiest analogy is this: &lt;strong&gt;a large language model is a supercharged word-association player. It is exceptionally good at continuing a sentence. It is not automatically a fact-checker.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Why Does AI Keep Saying ‘I Forgot’? Tokens, Context Windows, and the Sticky Notes It Must Throw Away</title>
      <link>https://blog.margrop.net/en/post/ai-token-context-window-sticky-notes/</link>
      <pubDate>Sun, 19 Jul 2026 18:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/ai-token-context-window-sticky-notes/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;The short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;AI often appears to have a bad memory because only a limited amount of material can be carried into the model for the current request. Think of a context window as a stack of sticky notes with finite capacity. New questions and tool outputs keep adding notes. Once the stack is full, the system must summarize, truncate, filter, or remove older notes. If a note is removed from the current context, the model may no longer be able to use it.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Have you ever told an AI, “Use Python for every code example,” only to receive JavaScript fifteen turns later? Or supplied a long document that the model can summarize accurately at the beginning and end, but cannot answer about the important restriction buried in the middle?&lt;/p&gt;&#xA;&lt;p&gt;It is tempting to say that the AI “forgot.” A more precise explanation is this: &lt;strong&gt;the model can only see what fits inside the current context window, and seeing a piece of text does not guarantee that every part of it receives equal attention.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;This article explains tokens and context windows without turning them into intimidating mathematics. The main analogy is a stack of sticky notes. We will look at what tokens are, how a request is assembled, why long conversations become unreliable, why agents fill their context quickly, and how to make AI forget less through simple information management.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Stop Sprinkling API Keys Everywhere: My Self-Hosted NewAPI Relay Station</title>
      <link>https://blog.margrop.net/en/post/newapi-self-hosted-relay-station/</link>
      <pubDate>Fri, 10 Jul 2026 15:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/newapi-self-hosted-relay-station/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;NewAPI is not a free-model trick and it is not a mysterious proxy. In my setup, it is the front desk for AI usage: every app talks to one endpoint, while the gateway routes requests to authorized upstream providers and handles tokens, quotas, groups, model limits, logs, and usage accounting. For a personal deployment, the big win is not “one more dashboard”; it is no longer scattering upstream keys across every client, script, and agent.&lt;/p&gt;&#xA;&lt;p&gt;This post explains why I wanted a self-hosted model relay, what people usually misunderstand, how to deploy a minimal Docker Compose version, why I add persistent storage, and how to use one-click scripts for Windows 11, Ubuntu 26.04, and macOS 26. It also includes an agent-driven setup prompt with strict boundaries. No private address, complete machine name, private domain, or real secret is included.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>I dockerized AnythingLLM and the container turned into a wound-up squirrel — restarting forever until I handed it that magic 1000:1000</title>
      <link>https://blog.margrop.net/en/post/anythingllm-docker-deploy/</link>
      <pubDate>Wed, 17 Jun 2026 20:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/anythingllm-docker-deploy/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;AnythingLLM, Mintplex Labs&amp;rsquo; &amp;ldquo;stuff-anything-in-a-LLM&amp;rdquo; desktop, ships an official Docker image. In the happy path one &lt;code&gt;docker run&lt;/code&gt; is all you need. But the in-container user &lt;code&gt;anythingllm&lt;/code&gt; is picky: the host directory you bind-mount has to be owned by &lt;code&gt;1000:1000&lt;/code&gt;, otherwise it can&amp;rsquo;t write its own SQLite file, the Prisma migration step on startup crashes, and the container enters a &lt;em&gt;restart-crash-restart&lt;/em&gt; loop. The fix takes under a minute: &lt;code&gt;chown -R 1000:1000 /your/data/dir&lt;/code&gt;, then &lt;code&gt;docker compose up -d&lt;/code&gt; again, and it dutifully listens on &lt;code&gt;3001&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ll also explain why Prisma&amp;rsquo;s &lt;code&gt;file:../storage/anythingllm.db&lt;/code&gt; relative path is a footgun, give you a Portainer-ready stack file, and finish with a Q&amp;amp;A on the most common gotchas.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>The Markdown Throne Falls: When AI Agents Step Out of the Chat Box, HTML Becomes the New Answer</title>
      <link>https://blog.margrop.net/en/post/markdown-throne-falls-ai-agent-html-output/</link>
      <pubDate>Wed, 10 Jun 2026 10:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/markdown-throne-falls-ai-agent-html-output/</guid>
      <description>If 2023 was the &amp;ldquo;chatbox era&amp;rdquo; of ChatGPT and Markdown, then 2026 is heralding the arrival of a new phase: AI no longer merely &amp;ldquo;answers&amp;rdquo; you—it is set to &amp;ldquo;take over&amp;rdquo; your interface. As Agents begin directly controlling browsers, operating SaaS, and building interactive application prototypes, Markdown—long the de facto standard for LLM output, that elegant format prized for its simplicity, readability, and token-friendliness—is rapidly revealing its fatal shortcoming as the &amp;ldquo;last mile.</description>
    </item>
    <item>
      <title>Stop Worshipping Agent Frameworks: 12-Factor Agents as an Engineering Baseline</title>
      <link>https://blog.margrop.net/en/post/12-factor-agents-agent-principles/</link>
      <pubDate>Sat, 23 May 2026 14:50:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/12-factor-agents-agent-principles/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;The short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;12-Factor Agents&lt;/code&gt; is not an installable agent framework, and it is not a Skill for Codex, Claude, Cursor, or any other agent runtime. It is better understood as a set of engineering principles for the AI era. When a system made from a large model, a tool list, and a while loop reaches the familiar 70% or 80% quality bar but refuses to become production-grade, these principles tell you where to look: prompts, context, structured outputs, state, human approval, error compaction, control flow, and recovery.&lt;/p&gt;&#xA;&lt;p&gt;The best part is that it does not romanticize agents. It says, in effect, that reliable agents are mostly software. The LLM is powerful, but it should live inside a system that is observable, interruptible, recoverable, auditable, and testable.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;All examples in this article use public projects, public links, and placeholders. No real server addresses, accounts, tokens, business configuration, or private network details are included. The figures are taken from the official &lt;code&gt;humanlayer/12-factor-agents&lt;/code&gt; repository and are referenced under the project author&amp;rsquo;s CC BY-SA 4.0 content license statement. Code license details should be checked in the upstream repository.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
