Blog

Versu: Agents and Utility AI

这是对交互式故事角色 AI 引擎 Versu 工作原理的简要介绍,主要是代理/角色(Agents)基于效用的决策系统(Utility-Based Decision-Making)部分。

内容从小组讨论会的会议材料修改而来,材料被 LLM 润色过(修改了分段和措辞,为了“更快更方便阅读”),与以往的博客语气会不太一样。

Versu 没有公开过具体实现,我所有的分析均来自 Richard Evans 和 Emily Short 的论文以及 Emily Short 博客上的零散文章,可能有不少错误。

继续阅读

Hello, Saya Lang

extern fn puts(s: *u8) -> i64;

pub fn main() -> i64 {
    puts(c"Hello, Saya!");
    0
}

我真正意义上的第一个编译型玩具语言,编译到 QBE IL

语法和关键字与 Rust 差不太多,基于表达式。编译器内部结构参考了 Hare 语言的编译器 harec,一些数据结构设计参考了 rustc

Saya 是圣诞节项目,想当做某种礼物送给自己,后来拖延成了跨年项目,再最后,要变成新年项目了……

总之,向您送出诚挚的圣诞祝福。

仓库:github.com/13m0n4de/saya

继续阅读

Functional Pipeline Programming in Python

用 Python 写了个小工具,根据手机号段信息生成 hashcat 掩码。

仓库:github.com/13m0n4de/purrify

平平无奇?看看这个:

_ = sys.stdin > (
    pipe
    | foreach(parse_csv_line)
    | where(X.__len__() > min_length)
    | where(X[type_idx] == "MOBILE")
    | where(in_cities, geo_indices=geo_indices, cities=cities)
    | foreach(lambda x: (x[prefix_idx], int(x[length_idx])))
    | foreach(as_args(purrify))
    | foreach_do(print)
)
继续阅读

Markdown to PDF with Pandoc and Typst

仓库:github.com/13m0n4de/pandoc-typst-catppuccin

自从团队使用 Obsidian 协作组织文档库以来,需要将 Markdown 转换为 PDF 的情况越来越多。Obsidian 的默认导出不好用,自定义功能太少,被逼无奈使用 Better Export PDF 了一段时间,边距、大纲书签以及页眉页脚等自定义功能不错,但它总是没法跟随我的暗色主题,自定义 CSS 又太过麻烦。

于是,我们写了个新插件。可惜,我们还是继续凑合用着。

直到我们需要批量导出多个 Markdown。

Obsidian 没有给我编写自动化脚本的发挥空间(也许宏可以,但……太恶心了,而且没办法集成到 CI 里)。

能花 6 小时写自动化脚本(然后失败),就绝不花 6 分钟动手完成它。

继续阅读

Refactor My Quiz App

花了几天把 NekoQuiz 完全重构,从 Axum + Yew 到 Axum + Leptos,从 CSR 到 SSR with hydration。

其实在这次重构之前,就已经很少有使用它的机会了,这也许是最后一次大更新。(尽管我不愿意这么想,这样的想法会成为项目被“遗弃”的第一步)

不过至少,现在是个适合总结的时候。

继续阅读

Including C File Over HTTPS

实现了一个有意思的效果,让 C 语言可以从互联网上 #include 头文件。

#define STB_SPRINTF_IMPLEMENTATION
#include <https://raw.githubusercontent.com/nothings/stb/master/stb_sprintf.h> // <- look at this 
#include <stdio.h>

int main() {
    char buffer[20];

    // Using functions defined by stb_sprintf.h
    stbsp_sprintf(buffer, "Hello %s", "NAVI");
    puts(buffer);

    return 0;
}

你知道的,4202 年,Everything Over HTTPS(笑)。

继续阅读

Created: 2026-04-02 Thu 15:16