☰
OpenProse Homer 诗性寄存器:把多智能体工作流写成希腊史诗
2026/10/16 3:00:12 网站建设 项目流程
  • 人工智能
  • 大模型
  • LLM 网关
  • AI Agent
  • 即时通讯

【免费下载链接】openclaw-zero-token

OpenClaw: Use All Major AI Models NO API Token! Claude/ChatGPT/Gemini/DeepSeek/Doubao/Grok/Qwen/Manus/Kimi

项目地址:https://gitcode.com/gh_mirrors/op/openclaw-zero-token
点击查看免费下载

OpenProse 是 OpenClaw 仓库中的一个实验性“用散文写程序”的语言:.prose程序会被语言模型当作虚拟机执行,逐条语句孵化真实的子代理会话。open-prose/skills/prose/alts/homer.md定义了一个“荷马寄存器”(Homeric Register)——它是一套把功能性关键字替换为希腊史诗意象(英雄、试炼、命运、荣耀)的别名皮肤层:程序成为远征(quest),代理成为英雄(hero),输出成为赢得的荣耀(glory)。读完本文,你能完整掌握这套关键字翻译映射、如何按“先prose.md后homer.md”的顺序启用它、各类构造(会话、绑定、循环、分支、错误处理、可复用块)的荷马式写法与等价的功能性写法,以及这一设计背后的取舍结论。

一、什么是 OpenProse,Homer 寄存器在整个语言中处于什么位置

OpenProse 的定位由 compiler.md 给出:它是一种“面向 AI 会话的编程语言”,其设计原则包括“模式而非框架”(pattern over framework)、“自明”(self-evident,程序应不靠完整文档就能看懂)、“OpenProse VM 是智能的”(为理解而设计,而非为解析而设计)、框架无关、以及“文件即工件”(.prose是 portable 的工作单元)。而 prose.md 则定义了执行语义:读入该文档的语言模型会“化身”为一台 OpenProse 虚拟机——每条session语句触发一次真实的子代理会话(在 OpenClaw 中映射为sessions_spawn工具调用),变量绑定、并行协调、状态持久化(.prose/runs/目录)都在这台虚拟机下运行。

Homer 寄存器与这套执行机制的关系,在 homer.md 开头就有一句明确声明:

This is a skin layer.It requiresprose.mdto be loaded first. All execution semantics, state management, and VM behavior are defined there. This file only provides keyword translations.

也就是说,Homer 是一个皮肤层(skin layer):它不包含任何执行语义、状态管理或虚拟机行为,只提供关键字翻译。文件 front matter 中role: experimental、status: draft、requires: prose.md三个字段,明确了它的实验属性、草稿状态与前置依赖。它的存在目的是“与功能性寄存器做基准对比”(For benchmarking against the functional register)——用同一批样例程序分别用功能性关键字和荷马关键字各写一遍,检验这套语言的“自明性”在不同文学视角下是否依然成立。

二、如何加载与使用 Homer 寄存器

homer.md给出的使用步骤共四条,核心是加载顺序与行为不变两点:

  1. 先加载prose.md(执行语义);
  2. 再加载本文件(关键字翻译);
  3. 解析.prose文件时,把荷马关键字作为功能性关键字的别名接受;
  4. 所有执行行为保持完全一致——只有表面语法变化。

其中第 3、4 条正是该语言设计哲学的直接体现:prose.md 中的语法法则是面向智能解释器而非词法分析器的,例如agentDef := "agent" NAME ":" INDENT property* DEDENT这类 BNF 只是给“化身虚拟机的语言模型”的参考结构。文档同时声明了一条设计约束:荷马写法仍须满足“structured but self-evident”的语言信条——只是通过史诗视角来实现自明(self-evident through an epic lens)。

在 OpenClaw 中,OpenProse 本身是一个默认禁用的捆绑插件,需要先按 open-prose/README.md 的说明启用:

{ "plugins": { "entries": { "open-prose": { "enabled": true } } } }

启用并重启 Gateway 后,/prose斜杠命令与 OpenProse VM 语义才可用;运行程序使用 prose.md 中列出的 CLI 命令,如prose run <file.prose>(执行本地程序)、prose compile <file>(只校验语法不执行)、prose examples(列出或运行内置示例)。Homer 寄存器本身不需要任何额外命令——它只改变你书写.prose程序时使用的词汇。

三、完整关键字翻译映射表

homer.md的正文主体是一张完整翻译映射表(Complete Translation Map),按五类构造组织。下表为原文档的完整继承,并附上每类对应的 prose.md 语法出处,便于核对别名实际作用于哪些语句。

3.1 核心构造(Core Constructs)

功能性关键字荷马关键字意象参照
agenthero行动者、奋斗者(The one who acts, who strives)
sessiontrial每个任务都是一项劳作、一次考验(Each task is a labor, a test)
parallelhost如一支军队般齐头并进(An army moving as one)
blockbook史诗的分卷(A division of the epic)

这一组对应 prose.md 语法中的agentDef、session、parallelBlock、blockDef四类语句。例如功能性写法:

agent reviewer: model: sonnet prompt: "You are an expert code reviewer" parallel: security = session: reviewer prompt: "Review for security vulnerabilities"

(参见 examples/16-parallel-reviews.prose)按荷马映射即应写作:

hero reviewer: muse: sonnet charge: "You are an expert code reviewer" host: security = trial: reviewer charge: "Review for security vulnerabilities"

3.2 组合与绑定(Composition & Binding)

功能性关键字荷马关键字意象参照
useinvoke“歌唱吧,缪斯……”——呼唤(calling upon)
inputomen来自神谕的征兆、被给予的吉兆
outputgloryKleos——赢得的、不朽的荣耀
letdecree命运被宣告、被说出口而存在
constfateMoira——不可更改的命运
contexttidings由传令官/信使传递的讯息

其中let与const的区分被文档单独强调:const译作fate(Moira,不可更改),let译作decree(已宣告但可变),二者“fate vs decree”的对比是直觉化的——不可变与可变的语义差异被直接映射进词义。model(取值sonnet/opus/haiku,见 prose.md 的property := "model:" ("sonnet" | "opus" | "haiku"))则译作muse——“是哪位缪斯在赋予灵感”。

3.3 控制流(Control Flow)

功能性关键字荷马关键字意象参照
repeat NN labors赫拉克勒斯的十二伟业(The labors of Heracles)
for...infor each...among在队伍(host)之中遍历
loopordeal反复的考验、持续的煎熬
untiluntil保持不变
whilewhile保持不变
choicecrossroads命运分岔的十字路口
optionpath众多道路中的一条
ifshould史诗式条件句
elifor should延续的条件句
elseotherwise另一种命运

值得注意until/while被刻意保留:shared-appendix.md 将它们列入“不变关键字”清单——这些词要么已经很好用,要么“过于功能性而不宜替换”。同样保留的还有离散标记**...**、管道操作map/filter/reduce/pmap、max、as,以及模型名sonnet/opus/haiku。

3.4 错误处理(Error Handling)

功能性关键字荷马关键字意象参照
tryventure踏上旅途(Setting forth on the journey)
catchshould ruin comeAté——神降的毁灭、灾祸(divine ruin, disaster)
finallyin the end不可避免的结局
throwlament英雄的悲叹(The hero's cry of anguish)
retrypersist坚韧、再次尝试

retry在 OpenProse 中对应代理属性retry:(整数)与backoff:(none/linear/exponential),见 prose.md 语法节中的property定义。因此荷马式代理定义中,重试配置会写成persist: 3。

3.5 会话属性(Session Properties)

功能性关键字荷马关键字意象参照
promptcharge被赋予的使命(The quest given)
modelmuse是哪位缪斯在赋予灵感

四、用荷马寄存器改写标准示例:功能性与荷马写法对照

homer.md给出了五组“同一构造、两种写法”的示例,并要求按“推荐改写目标”(Recommended Homeric rewrite targets)把六类样例程序——简单程序、并行、循环、错误处理、choice 块、条件句——都翻译成荷马风格。以下是原文档示例的完整继承与讲解。

4.1 条件分支(if/elif/else → should/or should/otherwise)

原文文档示例:

# Homeric should **has security issues**: trial "Fix security" or should **has performance issues**: trial "Optimize" otherwise: trial "Approve"

对照功能性写法(结构等价于 examples/25-conditionals.prose 中“条件 + 并行审查结果”一段):

# Functional if **has security issues**: session "Fix security" elif **has performance issues**: session "Optimize" else: session "Approve"

两点值得注意:其一,**...**离散标记(discretion marker)在两种寄存器中完全一致——prose.md 规定其语义由“化身虚拟机的语言模型”做智能判断(判断“会话是否完成”、评估离散条件等),这恰恰是别名机制可以成立的根基;其二,prose.md 还支持多行条件if *** ... ***:(对应 examples/24-choice-blocks.prose 中的choice *** ... ***:),荷马写法下同样适用,只是首行关键字变为should。

4.2 可复用块(block → book,调用语法不变)

# Functional block review(topic): session "Research {topic}" session "Analyze {topic}" do review("quantum computing")
# Homeric book review(topic): trial "Research {topic}" trial "Analyze {topic}" do review("quantum computing")

对照 prose.md 语法:blockDef := "block" NAME params? ":" INDENT statement* DEDENT,调用为doBlock := "do" (":" ... | NAME args?)。从这两个规则看,荷马寄存器只替换block为book、session为trial,而do name(args)的调用形式、参数列表、{topic}字符串插值(arrowExpr/String Interpolation一节定义)全部保持不变——这与“只有表面语法变化”的声明一致。

4.3 固定次循环(repeat N → N labors)

# Functional repeat 12: session "Complete task"
# Homeric 12 labors: trial "Complete task"

这是整张映射表中语法形态变化最大的一条:repeatBlock := "repeat" N ("as" NAME)? ":" INDENT statement* DEDENT(见 prose.md)被改写为“数字 + labors”的前缀形式。功能性对应示例可参考 examples/20-fixed-loops.prose 中的repeat 3:与parallel for topic in topics:两种形态——后者按映射会写成parallel for each topic among topics:。

4.4 不可变绑定(const → fate,retry → persist)

# Functional const config = { model: "opus", retries: 3 }
# Homeric fate config = { muse: "opus", persist: 3 }

这里const的不可变语义由 Moira(不可更改的命运)承载,let的可变语义由 decree(已宣告但可改)承载,属性名model/retries随映射变为muse/persist。对照 examples/13-variables-and-context.prose 可以看到功能性写法中let捕获输出、context:传入上下文的典型流程,其荷马改写即把let换成decree、context:换成tidings:。

4.5 错误处理(try/catch/finally → venture/should ruin come/in the end)

examples/22-error-handling.prose 演示了功能性写法的完整面貌(基本 try/catch、catch as err:捕获错误变量、try/catch/finally 资源清理、嵌套与 re-throw、并行块内错误处理)。按荷马映射,其中最完整的一段等价改写为:

# Functional(原文示例摘录) try: session "Open database connection and perform queries" catch: session "Log database error and notify admin" finally: session "Ensure database connection is properly closed"
# Homeric(按映射改写) venture: trial "Open database connection and perform queries" should ruin come: trial "Log database error and notify admin" in the end: trial "Ensure database connection is properly closed"

语义基础在 prose.md 的 Error Propagation 一节:Try/Catch Semantics、Throw Behavior(throw对应荷马的lament)与Retry Mechanism(retry对应荷马的persist)。别名只改变词汇,异常传播与重试行为由虚拟机按功能性语义执行。

五、荷马核心概念表:词汇的希腊语源

文档的 Key Homeric Concepts 一节解释了六个意象词与关键字的对应关系,这解释了“为什么偏偏是这些词”:

术语含义用于
Kleos荣耀、声名,超越生命output→glory
Moira命运,被分得的那一份const→fate
Até神降的毁灭、神授的盲目catch→should ruin come
Nostos归途(The return journey)(未使用,但可以是finally)
Xenia宾主之谊、待客之道(未使用)
Muse神启model→muse

值得注意的是 Nostos 与 Xenia 被明确标注“未使用”——映射表是最小够用的:只为需要替换的功能性关键字挑选意象词,没有为了“史诗氛围完整”而强行塞入用不上的概念。这与其“skin layer”的自我定位一致。

六、皮肤层之下的行为:执行语义全部留在 prose.md

Homer 寄存器不改变任何运行时事实,这些事实由 prose.md 统一规定:

  • 会话即函数调用:每条session(荷马:trial)触发一次真实 Task 工具调用,孵化真实子代理;在 OpenClaw 的运行时映射中,Task==sessions_spawn,文件读写 ==read/write。
  • 程序计数器与状态:执行位置记录在state.md或叙述中,持久状态落在.prose/runs/{YYYYMMDD}-{HHMMSS}-{random6}/(含program.prose副本、state.md、bindings/{name}.md、imports/、agents/),代理记忆分项目级与用户级两层存放。
  • 别名如何被解释:从源码结构看,OpenProse 的“解析”由语言模型依据 prose.md 完成——文档原话是“simulation with sufficient fidelityisimplementation”。因此“接受荷马关键字作为别名”并不需要新增解析器代码:虚拟机读到trial "..."时,依据已加载的翻译表将其按session "..."的语义执行。
  • 共享不变式:shared-appendix.md 为所有实验寄存器规定了共同的不变关键字清单(**...**、until、while、map/filter/reduce/pmap、max、as、模型名)与共同的对比模式:用翻译表改写六类样例(simple program / parallel execution / loop with condition / error handling / choice block / conditionals),目标是“一致性,而非唯一的标准措辞”(consistency, not one canonical wording),且功能性版本保持原样、只替换寄存器特定的别名。

七、设计取舍:支持荷马的理由与反对的理由

homer.md末尾给出了一份坦率的自我评估,这是理解该寄存器“草稿/基准对比”状态的关键。

支持(The Case For Homeric):

  1. 普遍辨识度:希腊史诗是西方文学的基础文本;
  2. 英雄式框架:把平淡的任务转化为光荣的试炼;
  3. 映射天然契合:英雄经历试炼(trials)、接受讯息(tidings)、赢得荣耀(glory)——与 agent/session/output 的对应关系干净利落;
  4. 庄严感:当你希望程序读起来有史诗分量时;
  5. fate vs decree:const作fate(不可变)与let作decree(已宣告但可变)的区分直觉清晰。

反对(The Case Against Homeric):

  1. 庄严度错配:一个简单循环写作“12 labors”可能显得用力过猛;
  2. 西方中心主义:希腊史诗传统具有明确的文化边界(同一目录下的 arabian-nights.md、folk.md 等寄存器正是对不同文化视角的平行实验);
  3. 词汇量有限:区别于功能性语言的独特术语少于 Borges 或 folk 寄存器;
  4. 可能滑稽:对琐碎任务使用英雄语言有“ bathos”(大词小用、庄严落空)的风险。

结论(Verdict):保留用于基准测试(Preserved for benchmarking)。荷马寄存器提供庄严感与英雄框架,最适合:感觉像史诗远征的程序、喜爱古典典故的用户、以及以“glory”作为输出意象恰当的场景;应用于琐碎任务时可能产生无意的滑稽感。

八、小结

homer.md展示的是 OpenProse 语言实验的一个具体切面:把“关键字”从固定的功能性词汇(agent/session/parallel/block、let/const/context、try/catch/finally、if/elif/else)替换为希腊史诗意象(hero/trial/host/book、decree/fate/tidings、venture/should ruin come/in the end、should/or should/otherwise),同时把prompt/model/retry映射为charge/muse/persist,且repeat N变为N labors。其成立的前提全部来自 prose.md:虚拟机由语言模型化身执行、**...**离散判断依赖智能评估、执行语义与状态管理不在皮肤层定义。若要进一步深入,可按本文引用的路径继续阅读 compiler.md 的完整语法与校验规则、SKILL.md 的激活说明,以及 open-prose/skills/prose/examples/ 下 49 个功能性样例程序——按 shared-appendix 的对比模式,把其中六类样例用荷马关键字各改写一遍,正是该文档留给使用者的基准作业。

  • 人工智能
  • 大模型
  • LLM 网关
  • AI Agent
  • 即时通讯

【免费下载链接】openclaw-zero-token

OpenClaw: Use All Major AI Models NO API Token! Claude/ChatGPT/Gemini/DeepSeek/Doubao/Grok/Qwen/Manus/Kimi

项目地址:https://gitcode.com/gh_mirrors/op/openclaw-zero-token
点击查看免费下载

相关推荐

上一篇:Ouroboros AgentOS Projection v1:基于 EventStore 的只读运行投影架构与边界治理
下一篇:TensorFlow Hub TF1 Hub 格式完整指南:使用 hub.Module 加载、创建与微调 TF1 模型

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询