Prose

🪶 声明式 AI 编排虚拟机

OpenProse VM 是一套声明式 AI 编排语言,通过模拟虚拟机语义让 LLM 成为可编程的分布式计算环境,支持多智能体并行、状态持久化与远程程序加载。

收藏
8.1k
安装
2.5k
版本
0.1.0
CLS 安全性认证2026-08-09
点击查看完整报告 >

使用说明

核心用法

OpenProse 是专为 AI 会话设计的编程语言,核心思想是将 LLM 视为可模拟的虚拟机——通过精确的语义描述,让模型不仅"理解"系统,而是"成为"该系统。用户编写 .prose 文件,使用 prose runprose compileprose help 等命令与虚拟机交互。

执行流程:读取 prose.md 定义 VM 语义 → 加载状态后端(默认文件系统)→ 逐条执行程序语句(sessiontaskagent 等)→ 通过 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.mdantipatterns.md
  • 上下文占用compiler.md 体积较大,编译后建议 /compact 或新建会话

适合人群

  • 需要编排多 AI 代理完成复杂工作流的研究者与开发者
  • 追求可复现、可版本控制的 AI 自动化场景
  • 希望将 LLM 交互从即兴对话升级为可编程系统的技术团队

常规风险

  • 凭证暴露:PostgreSQL 模式下数据库 URL 会传递给子会话并出现在日志中
  • 状态文件管理:文件系统模式在 .prose/runs/ 目录产生大量运行时文件
  • 远程代码执行use 语句加载远程程序时缺乏内置签名验证,依赖 URL/句柄的可信度

安全解读

核心用法

OpenProse 是一种专为 AI 会话设计的编程语言,其核心理念是将大型语言模型(LLM)视为可编程的虚拟机。用户通过编写 .prose 文件来定义多智能体工作流,系统通过 prose runprose compileprose help 等命令执行或验证程序。

该技能的核心机制包括:

  • VM 模拟执行:读取 prose.md 规范后,LLM 自身即成为虚拟机,通过会话上下文模拟程序状态
  • 多智能体编排:使用 session 语句生成子代理(Task 工具调用),实现并行计算、流水线处理和持久化协调
  • 远程程序加载:支持从 URL 或 p.prose.md 注册表获取 .prose 程序,实现代码复用和生态共享
  • 灵活状态管理:提供文件系统(默认)、内存上下文、SQLite 和 PostgreSQL 四种状态持久化模式

典型工作流涵盖:代码审查、内容生产流水线、Bug 挖掘、浏览器构建(The Forge 示例)等复杂多步骤任务。

显著优点

1. 原生多智能体支持:区别于传统脚本语言,OpenProse 从语法层面内置智能体定义、会话生成和记忆管理,大幅降低分布式 AI 应用开发门槛。

2. 声明式工作流:用户以声明方式描述"做什么"而非"怎么做",由底层 LLM 处理执行细节,适合快速原型设计和迭代。

3. 状态可恢复性:文件系统和数据库状态模式支持工作流中断恢复、调试和审计,适合长时间运行的生产任务。

4. 生态与复用:远程程序注册表和 use 语句支持模块化编程,用户可引用社区贡献的标准工作流。

5. 零外部依赖:纯 Markdown 文档结构,无需安装额外运行时,依托宿主环境的 LLM 能力即可运行。

潜在缺点与局限性

1. 执行不确定性:依赖 LLM 的"智能评估"(**...** 标记),相同程序可能产生不同结果,不适合需要严格确定性的场景。

2. 资源消耗风险:子代理生成无硬性上限,错误设计的循环或并行分支可能导致 Token 消耗失控。

3. 远程代码信任问题:从 URL 或注册表加载的程序未经签名验证,存在供应链攻击风险。

4. PostgreSQL 凭证暴露:数据库连接字符串会传递至子代理上下文并可能记录在日志中,安全敏感场景需特别处理。

5. 调试复杂性:多智能体交互的异步特性使得问题定位困难,当前缺乏可视化调试工具。

6. 实验性功能成熟度:SQLite 和 PostgreSQL 状态模式标记为实验性,生产环境稳定性待验证。

适合的目标群体

  • AI 应用开发者:需要快速构建多智能体协作系统的工程师
  • 自动化工作流设计师:寻求将重复性知识工作(代码审查、内容生产、研究分析)自动化的团队
  • LLM 高级用户:熟悉提示工程,希望系统化、可复用地管理复杂 AI 交互的专业人士
  • 原型验证团队:需要快速验证 AI 驱动产品概念的初创团队
  • 教育与研究人员:探索 LLM 作为计算原语的学术界用户

不适合:对执行确定性有严格要求的核心金融交易系统、安全关键型工业控制场景。

使用风险

1. Token 成本风险:多智能体并行执行可能快速累积 API 调用成本,建议设置预算告警。

2. 数据持久化风险.prose/runs/~/.prose/agents/ 中的记忆文件可能累积敏感信息,共享环境需定期清理。

3. 提示注入风险:缺乏强制性输入验证,外部输入可能被恶意构造以操纵代理行为。

4. 依赖可用性风险:实验性状态模式依赖外部数据库或 CLI 工具,环境配置不当会导致执行失败。

5. 版本兼容性:技能处于早期版本(0.1.0),未来更新可能引入破坏性变更,关键工作流应锁定版本。

Prose 内容

alts文件夹
examples文件夹
roadmap文件夹
guidance文件夹
lib文件夹
primitives文件夹
state文件夹
手动下载zip · 124.1 kB
arabian-nights.mdtext/markdown
请选择文件