<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>林子豪的 PKM</title>
<link>https://pkm-public.pages.dev</link>
<description>关于 AI agent、编程、分布式系统、游戏与写作的公开笔记。</description>
<item>
<title>从副作用到 Effect System：把“要做什么”和“怎么执行”分开</title>
<link>https://pkm-public.pages.dev/blog/from-side-effects-to-effect-systems</link>
<pubDate>Fri, 4 Sep 2026 00:00:00 GMT</pubDate>
<description>从 re-frame、Raft、Free Monad 和 Fetch 出发，理解 effect value、interpreter、effect program 与语言级 Effect System 的区别。</description>
<guid isPermaLink="true">https://pkm-public.pages.dev/blog/from-side-effects-to-effect-systems</guid>
</item>
<item>
<title>nrepl-starter 与 Tenx：把 REPL 接进运行中的 Java JVM</title>
<link>https://pkm-public.pages.dev/blog/nrepl-starter-tenx</link>
<pubDate>Fri, 4 Sep 2026 00:00:00 GMT</pubDate>
<description>nrepl-starter 在 Java 应用内部启动 Clojure nREPL，Tenx 再把 IDEA 里的方法调用转成 REPL 表达式，让复杂测试数据准备和运行时调试从半小时缩短到秒级。</description>
<guid isPermaLink="true">https://pkm-public.pages.dev/blog/nrepl-starter-tenx</guid>
</item>
<item>
<title>There is no fork：Java Fetch 如何从声明式查询中发现并发</title>
<link>https://pkm-public.pages.dev/blog/there-is-no-fork-java-fetch</link>
<pubDate>Fri, 4 Sep 2026 00:00:00 GMT</pubDate>
<description>Fetch 把业务查询写成可组合的程序描述，再自动发现独立请求、合并批量查询，并沿着数据依赖分轮执行。</description>
<guid isPermaLink="true">https://pkm-public.pages.dev/blog/there-is-no-fork-java-fetch</guid>
</item>
<item>
<title>Raft 不发消息：把副作用变成数据以后，分布式算法也能做普通单元测试</title>
<link>https://pkm-public.pages.dev/blog/raft-effects-as-data</link>
<pubDate>Thu, 3 Sep 2026 00:00:00 GMT</pubDate>
<description>TinyKV 的 Raft 节点把网络和磁盘副作用变成可检查的消息与 Ready。测试只需传递和断言这些 value，就能模拟选举、丢包与网络分区。</description>
<guid isPermaLink="true">https://pkm-public.pages.dev/blog/raft-effects-as-data</guid>
</item>
<item>
<title>re-dash:ClojureDart 里的单向数据流</title>
<link>https://pkm-public.pages.dev/blog/redash</link>
<pubDate>Wed, 2 Sep 2026 00:00:00 GMT</pubDate>
<description>Flutter 的状态管理可以离开模拟器测试。re-dash 把 re-frame 的六个 domino 搬进 ClojureDart:view 是纯函数,用户行为是数据。</description>
<guid isPermaLink="true">https://pkm-public.pages.dev/blog/redash</guid>
</item>
<item>
<title>War Chest 的不完全信息 MCTS：从 Observation 到 Determinization</title>
<link>https://pkm-public.pages.dev/blog/war-chest-imperfect-information-mcts</link>
<pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
<description>为什么只给 neural network 戴上信息遮罩仍会作弊，以及如何用 observation、belief sampler 与 root determinization 搭出第一版公平搜索。</description>
<guid isPermaLink="true">https://pkm-public.pages.dev/blog/war-chest-imperfect-information-mcts</guid>
</item>
<item>
<title>Hex Grid 的坐标是怎么工作的？</title>
<link>https://pkm-public.pages.dev/blog/hex-grid-coordinates</link>
<pubDate>Mon, 27 Jul 2026 00:00:00 GMT</pubDate>
<description>从 War Chest 的棋盘出发，用 cube coordinates 的三维切面理解 axial coordinates、六个邻居以及 hex distance。</description>
<guid isPermaLink="true">https://pkm-public.pages.dev/blog/hex-grid-coordinates</guid>
</item>
<item>
<title>用 Hex Grid Primitives 组合 War Chest 规则</title>
<link>https://pkm-public.pages.dev/blog/war-chest-hex-grid-primitives</link>
<pubDate>Mon, 27 Jul 2026 00:00:00 GMT</pubDate>
<description>把距离、直线、路径与阻挡拆成可组合的几何 primitive，再用它们表达弓箭手、弩手等 War Chest 单位规则。</description>
<guid isPermaLink="true">https://pkm-public.pages.dev/blog/war-chest-hex-grid-primitives</guid>
</item>
<item>
<title>写给愿意改变工作方式的知识工作者</title>
<link>https://pkm-public.pages.dev/blog/change-ready-knowledge-workers</link>
<pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate>
<description>为什么我要把 coding 领域已经验证过的 AI 工作方法，翻译给愿意改变工作方式的知识工作者。</description>
<guid isPermaLink="true">https://pkm-public.pages.dev/blog/change-ready-knowledge-workers</guid>
</item>
<item>
<title>把任务交给 AI Agent 之前，先定位任务坐标</title>
<link>https://pkm-public.pages.dev/blog/ai-agent-task-coordinate</link>
<pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
<description>从第一性原理出发理解 agent：读完以后，你能把 AGENTS.md、skill、plan mode、goal mode、subagent、handoff、guardrail 等概念放回同一套任务坐标里。</description>
<guid isPermaLink="true">https://pkm-public.pages.dev/blog/ai-agent-task-coordinate</guid>
</item>
<item>
<title>AlphaZero 的搜索：MCTS</title>
<link>https://pkm-public.pages.dev/blog/alphazero-mcts-search</link>
<pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
<description>How Monte Carlo Tree Search connects game states, legal moves, policy priors, and value estimates.</description>
<guid isPermaLink="true">https://pkm-public.pages.dev/blog/alphazero-mcts-search</guid>
</item>
<item>
<title>Bitboard Method</title>
<link>https://pkm-public.pages.dev/blog/bitboard-method</link>
<pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
<description>Interactive notes for learning bitboard board representation.</description>
<guid isPermaLink="true">https://pkm-public.pages.dev/blog/bitboard-method</guid>
</item>
<item>
<title>Skill 不只是能力包，也是 taste profile</title>
<link>https://pkm-public.pages.dev/blog/skillopt-skill-as-taste</link>
<pubDate>Thu, 4 Jun 2026 00:00:00 GMT</pubDate>
<description>读 SkillOpt 论文后的一个想法：通用任务可以训练公共 best_skill，但写作和人文类 skill 更像个人 taste profile，选 skill 本质上是在选一种审美和工作方式。</description>
<guid isPermaLink="true">https://pkm-public.pages.dev/blog/skillopt-skill-as-taste</guid>
</item>
<item>
<title>理解是投影，不是翻译</title>
<link>https://pkm-public.pages.dev/blog/understanding-is-projection-not-translation</link>
<pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
<description>从《降临》的外星文字出发，思考语言如何把高维语义关系投影成人类可以处理的表达。</description>
<guid isPermaLink="true">https://pkm-public.pages.dev/blog/understanding-is-projection-not-translation</guid>
</item>
<item>
<title>Agent 是一套运行系统</title>
<link>https://pkm-public.pages.dev/blog/agent-as-runtime-system</link>
<pubDate>Thu, 7 May 2026 00:00:00 GMT</pubDate>
<description>Agent 不是单个模型，而是围绕模型组织目标、上下文、工具、记忆、权限、验证和控制循环的一套运行系统。</description>
<guid isPermaLink="true">https://pkm-public.pages.dev/blog/agent-as-runtime-system</guid>
</item>
<item>
<title>Context 组装不是拼聊天记录</title>
<link>https://pkm-public.pages.dev/blog/context-assembly-not-transcript</link>
<pubDate>Thu, 7 May 2026 00:00:00 GMT</pubDate>
<description>Context assembly 的目标不是把历史对话依次拼接，而是为当前任务构造一个清楚、有层级、有证据的工作视图。</description>
<guid isPermaLink="true">https://pkm-public.pages.dev/blog/context-assembly-not-transcript</guid>
</item>
<item>
<title>Intentional Compaction 和 Stage Gate</title>
<link>https://pkm-public.pages.dev/blog/intentional-compaction-stage-gate</link>
<pubDate>Thu, 7 May 2026 00:00:00 GMT</pubDate>
<description>长任务不一定要让 agent 一口气跑到底。把关键中间结果写成结构化文档，本身就是一种受控压缩和人工纠偏机制。</description>
<guid isPermaLink="true">https://pkm-public.pages.dev/blog/intentional-compaction-stage-gate</guid>
</item>
<item>
<title>LLM 不是 Agent</title>
<link>https://pkm-public.pages.dev/blog/llm-is-not-agent</link>
<pubDate>Thu, 7 May 2026 00:00:00 GMT</pubDate>
<description>LLM 可以先理解成一个根据当前输入继续生成 token 的语言引擎。Agent 则是把模型、上下文、工具、记忆、权限和运行循环组织起来的系统。</description>
<guid isPermaLink="true">https://pkm-public.pages.dev/blog/llm-is-not-agent</guid>
</item>
<item>
<title>Memory 不是 Context</title>
<link>https://pkm-public.pages.dev/blog/memory-is-not-context</link>
<pubDate>Thu, 7 May 2026 00:00:00 GMT</pubDate>
<description>Memory 是外部保存、可被取回的信息；context 是当前这一轮真正放进模型窗口的材料。把两者分开，才能设计清楚 agent 的记忆机制。</description>
<guid isPermaLink="true">https://pkm-public.pages.dev/blog/memory-is-not-context</guid>
</item>
<item>
<title>从自然语言到 Tool Call</title>
<link>https://pkm-public.pages.dev/blog/natural-language-to-tool-call</link>
<pubDate>Thu, 7 May 2026 00:00:00 GMT</pubDate>
<description>Agent 并不是直接用自然语言操作世界，而是把人的意图翻译成结构化工具调用，再由 runtime 做确定性执行。</description>
<guid isPermaLink="true">https://pkm-public.pages.dev/blog/natural-language-to-tool-call</guid>
</item>
</channel>
</rss>
