核心用法
OpenProse 是专为 AI 会话设计的编程语言,核心思想是将 LLM 视为可模拟的虚拟机——通过精确的语义描述,让模型不仅"理解"系统,而是"成为"该系统。用户编写 .prose 文件,使用 prose run、prose compile、prose help 等命令与虚拟机交互。
执行流程:读取 prose.md 定义 VM 语义 → 加载状态后端(默认文件系统)→ 逐条执行程序语句(session、task、agent 等)→ 通过 Task 工具派生子会话实现真正的并行计算。
关键语法:session "name" { model: "sonnet"; system: "..."; prompt: "..." } 定义任务;use "url-or-handle" 加载远程程序;**...** 标记需智能判断的评估点。
显著优点
1. 真正的多智能体并行:不同于伪并行,每个 session 触发独立的 Task 工具调用,子会话在独立上下文运行
2. 状态持久化灵活:支持文件系统(默认)、对话内上下文(简单场景)、SQLite(事务查询)、PostgreSQL(团队协作)四种模式
3. 可组合与复用:通过 use 语句加载远程 .prose 程序,支持 URL 或简写的 registry 句柄(user/slug)
4. 丰富的示例生态:37 个示例程序覆盖从 Hello World 到"从零构建浏览器"的复杂场景
5. 清晰的执行语义:VM 化设计使行为可预测、可调试、可恢复
局限性与风险
- 实验性功能:SQLite 和 PostgreSQL 状态模式标记为实验性,后者需要额外配置数据库连接且存在凭证泄露风险(文档明确警告)
- 依赖模型能力:
**...**智能评估点依赖 LLM 的判断力,结果可能不一致 - 学习曲线:声明式语法需要理解 VM 模拟语义,初学者需参考
patterns.md和antipatterns.md - 上下文占用:
compiler.md体积较大,编译后建议/compact或新建会话
适合人群
- 需要编排多 AI 代理完成复杂工作流的研究者与开发者
- 追求可复现、可版本控制的 AI 自动化场景
- 希望将 LLM 交互从即兴对话升级为可编程系统的技术团队
常规风险
- 凭证暴露:PostgreSQL 模式下数据库 URL 会传递给子会话并出现在日志中
- 状态文件管理:文件系统模式在
.prose/runs/目录产生大量运行时文件 - 远程代码执行:
use语句加载远程程序时缺乏内置签名验证,依赖 URL/句柄的可信度