<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>ChickenPige0n</title><description>qwq</description><link>https://ckpg.net/</link><language>zh_CN</language><item><title>泛谈AI</title><link>https://ckpg.net/posts/thoughts/ai/</link><guid isPermaLink="true">https://ckpg.net/posts/thoughts/ai/</guid><pubDate>Thu, 04 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;分享一下自己的浅薄想法&lt;/p&gt;
&lt;p&gt;稍微谈谈AI &lt;s&gt;其实是LLM&lt;/s&gt;&lt;/p&gt;
&lt;h1&gt;记忆系统&lt;/h1&gt;
&lt;p&gt;当前的前沿探索主要有两个方向：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;通过扩展上下文窗口增强短期记忆能力&lt;/li&gt;
&lt;li&gt;通过外部工具如 RAG / VDB / harness 提供持久化记忆&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;可是这与人类的记忆系统差别很大，我们在学习时不会记住所有完全的信息，再在其中进行检索，这中间是有一步抽象的过程的。&lt;/p&gt;
&lt;p&gt;Transformer通过上下文实现的上下文内记忆是不可持续扩展的&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Compact也是一种抽象过程，基于文本的抽象和心智模型/高层抽象表示有本质不同，它们相对于模型是完全外置的&lt;/li&gt;
&lt;li&gt;模型在上下文中学习的能力不强（存在统计惯性、&lt;a href=&quot;https://en.wikipedia.org/wiki/Reinforcement_learning_from_human_feedback&quot;&gt;RLHF&lt;/a&gt;偏好影响），时常发生运行时的灾难性遗忘和对代码库语义理解的偏差&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;不断对上下文窗口的扩展是在试图忽略房间里的大象：&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Online_machine_learning&quot;&gt;在线学习&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;目前对于离线学习的LLM，他们有很多缺点：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;缺少行动能力&lt;/strong&gt;，我们当然可以说目前的Agent已经在很大程度上模拟了人类行为，但这里讨论的是不可避免的劣势&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;难以做到完美的多模态&lt;/strong&gt;，灾难性遗忘，MCP、各种Tool、Skill的发明都在为这一缺陷擦屁股。
幽默的是，大家为Agent做a11y的动力远大于给残疾人做a11y的动力，而Agent实际上比残疾人强不到哪里去。&lt;/p&gt;
&lt;p&gt;主体性缺失，依赖人类指引，上下文有限而人类之需求无限，而LLM无法更新知识且具有惰性（在参数中固化的知识和调用工具时的新知识很不一样，模型大概更倾向使用已经习得的知识），有时写出了很bad smell的代码，模型&quot;知道&quot;这不好，但仍然选择直接输出。&lt;/p&gt;
&lt;p&gt;如何在学习新数据时也能产生记忆互动？&lt;/p&gt;
&lt;h2&gt;我们真的需要这么多数据集吗？&lt;/h2&gt;
&lt;p&gt;人类不需要学习非常多（相对LLM数据集来说）的数据集以获取对其中概念的理解&lt;/p&gt;
&lt;p&gt;这种极其强大的&lt;a href=&quot;https://en.wikipedia.org/wiki/One-shot_learning_(computer_vision)&quot;&gt;One-shot learning&lt;/a&gt;能力要如何实现呢。&lt;/p&gt;
&lt;h1&gt;可解释性&lt;/h1&gt;
&lt;p&gt;Transformer是如何学到知识的？我们能从它的架构中提取什么经验？&lt;/p&gt;
&lt;p&gt;抱歉写的很胡言乱语，谢谢你能读到这里&lt;/p&gt;
</content:encoded></item><item><title>迁移站点到 Fuwari</title><link>https://ckpg.net/posts/coding/migrating-to-fuwari/</link><guid isPermaLink="true">https://ckpg.net/posts/coding/migrating-to-fuwari/</guid><description>So I changed my blog template to fuwari.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;在此之前我使用的博客模板是 &lt;a href=&quot;https://github.com/importantimport/urara&quot;&gt;urara&lt;/a&gt;，这个模板上次更新在 2 年之前了，使用的是 Svelte 4。以及我之前 8 块购入的域名 chickenpige0n.store 快要过期了，续费极其昂贵，于是我决定把站点迁移到新的域名，借此机会换一个更好用的框架。&lt;/p&gt;
&lt;p&gt;于是，就这样。&lt;/p&gt;
&lt;p&gt;&lt;s&gt;似乎完全没必要的一篇文章。&lt;/s&gt;&lt;/p&gt;
</content:encoded></item><item><title>VSCode 如何避免大型 TypeScript 类型在 Hover 时被省略</title><link>https://ckpg.net/posts/coding/typescript-type-expansion/</link><guid isPermaLink="true">https://ckpg.net/posts/coding/typescript-type-expansion/</guid><description>记录在 VSCode 中展开大型 TypeScript hover 类型的方法。</description><pubDate>Mon, 15 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;最近在写项目遇到了一些巨大 TypeScript 类型，想要查看类型的具体结构，但沟槽的 VSCode 默认只显示一小部分内容，并用省略号 &lt;code&gt;...&lt;/code&gt; 代替剩余部分：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./the_ellipsis.webp&quot; alt=&quot;VSCode hover 被省略的类型&quot; /&gt;&lt;/p&gt;
&lt;p&gt;给我恶心坏了，VSCode 没法展开这个类型，因为语言服务器就是这么返回的。。。&lt;/p&gt;
&lt;p&gt;经过一番 Google &lt;code&gt;vscode typescript展开&lt;/code&gt;，发现了一个&lt;a href=&quot;https://segmentfault.com/a/1190000043495782&quot;&gt;解决方案&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;然而 2023-03-03 的文章已经过时了，而且解决方法也很 Hacky（直接修改工作空间的 ts 服务器脚本）。不过这篇文章提供了&lt;a href=&quot;https://github.com/microsoft/vscode/issues/64566&quot;&gt;对应 issue&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;&lt;s&gt;这玩意都快 8 年了居然还没关。。&lt;/s&gt;&lt;/p&gt;
&lt;p&gt;很可惜，这个 issue 仍然没法解决我的问题。再重新看那个硬编码的解决办法对应的文件（还是看这个 issue 评论区知道的&lt;a href=&quot;https://github.com/microsoft/vscode/issues/64566#issuecomment-2376295783&quot;&gt;文件更改&lt;/a&gt;），顺着这个 &lt;code&gt;defaultHoverMaximumTruncationLength&lt;/code&gt; 找到了另一个变量 &lt;code&gt;maximumLength&lt;/code&gt;，这玩意比前面那个优先级更高。ctrl+左键查看定义，发现 &lt;code&gt;getQuickInfoAtPosition&lt;/code&gt; 函数，顺着它终于找到最关键的部分：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;const quickInfo = project.getLanguageService().getQuickInfoAtPosition(
	file,
	this.getPosition(args, scriptInfo),
	userPreferences.maximumHoverLength,
	args.verbosityLevel,
);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这个 &lt;code&gt;userPreferences.maximumHoverLength&lt;/code&gt; 一看就是什么 VSCode 里应该有的配置，于是返回 GitHub 搜索，得到 &lt;a href=&quot;https://github.com/microsoft/vscode/pull/248181&quot;&gt;#248181&lt;/a&gt;，今年 5 月刚合并的 PR，终于啊！&lt;/p&gt;
&lt;p&gt;在这个 PR 的 diff 里得到 &lt;code&gt;js/ts.hover.maximumLength&lt;/code&gt;，改大这个就可以完美解决这个问题了，爽。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./the_settings_page.webp&quot; alt=&quot;VSCode 设置页面&quot; /&gt;&lt;/p&gt;
</content:encoded></item></channel></rss>