🔶 Autolith:可自我重写、表现强劲的 Common Lisp Agent
英文标题:🔶 Autolith: The Common Lisp agent that rewrites itself and rocks
Autolith 是一款以 Common Lisp 构建的 Agent,支持通过启动脚本、命令和上下文贡献器对自身行为进行深度定制,甚至可在加载时修改 AL image。它兼容标准 `SKILL.md` 与原生 `SKILL.sexp` 技能格式,支持 stdio 和可流式 HTTP 的 MCP 服务器,并提供六种预定义子 Agent 角色。该项目内置九家模型提供商,也便于接入其他 OpenAI 兼容服务,为开发者构建可扩展、可审计的 Agent 工作流提供了较高自由度。
29.6 KB
36.9 KB
中文
技能
支持带有 frontmatter 的标准 SKILL.md,以及原生 SKILL.sexp 格式;后者还可以在加载时将修改内容载入 AL image(因此请在使用前审计你的技能)。
如果发生冲突,项目技能优先于用户技能。
MCP 服务器
同时支持 stdio 和可流式 HTTP,并可为每台服务器配置审批策略。如果项目在 directory-scopes.sexp 中被标记为受信任,也可以定义并加载项目专属的额外 MCP 服务器。
子角色
提供六种预定义子角色:scout、designer、reviewer、librarian、task、sonic(GOTTA GO FAST)。你可以在 .autolith/agents/ 中添加自己的角色,并定义该角色默认分配的工具、模型和工作强度。
提供商 内置九家提供商,详见下文;接入其他 OpenAI 兼容提供商也非常简单。
init.lisp 这是启动时加载脚本的入口。你可以借此将任意设置改为自己的偏好,或以任何方式修改 Autolith。
请求上下文
define-context-contributor 会向提供商请求附加所谓的临时注释。你可以利用它为模型提供额外的临时上下文,以更好地引导模型。这些注释会迅速以一种不会破坏整个缓存的方式消退。
命令
define-application-command 是一个简单的宏,可让你添加自己的命令,以影响 Agent 的运行框架,或者说,影响系统中的任何其他内容。其结果是一个带有部分元数据的普通 Common Lisp 函数,因此你可以轻松手动测试它,并让 AL 协助你调试。添加命令的成本很低,你可以像在海滩上撒下细小的鹅卵石一样随处添加它们。
指令
AGENTS.md,这里没有意外。Autolith 还可以创建 AUTOLITH.org,用于追踪仅与它自身相关、且不应让你可能使用的其他 Agent 感到困惑的信息。
English / 原文
Skills
We support standard SKILL.md with frontmatter, or native SKILL.sexp format, which can also load modifications into the AL image on load (so audit your skills before use).
Project skills take precedence over user's skills, if there's a conflict.
MCP servers
Both stdio and streamable HTTP are supported, with a per-server approval policy. A project can have its own addition MCP servers defined and loaded if marked as trusted in directory-scopes.sexp.
Child roles
Six predefined child roles are available: scout, designer, reviewer, librarian, task, sonic (GOTTA GO FAST). You can add your own to .autolith/agents/ and define tools, models, and efforts the role is assigned by default.
Providers Nine providers are built-in, see below, and other OpenAI-compatible providers are trivial to add.
init.lisp Your entrypoint to scripts being loaded on launch to change any settings to your preferences, or modify Autolith in any way you like.
Request context
define-context-contributor attaches what we call ephemeral notes to provider requests. You can use this to give the model temporary additional context to steer it better. They will quickly erode in a way that does not bust your whole cache.
Commands
define-application-command is a simple macro that lets you add your own commands that affect the harness the agent, or well, anything else in your system. The result will be a plain Common Lisp function with some metadata, so you can easily test it by hand and ask AL to help you debug it. Adding commands is cheap, you can litter them like small pebbles on the beach.
Instructions
AGENTS.md, no surprises here. Autolith can also create AUTOLITH.org, where it can track information that's specific to it and should not confuse other agents you might use.