Skip to content

【自荐】PlayBook —— YAML 驱动的对话流程编排框架(metacoding 概念) #3552

Description

@BlendTreeD

项目地址

https://github.com/BlendTreeD/PlayBook

类别

Python

项目标题

把 AI 客服的对话流程写成可执行的 YAML"剧本",引擎按剧本确定性推进,LLM 只管意图理解。 meta coding替代vibe coding(核心编码)概念:不是一行代码不写,而是只处理核心代码。

项目描述

这是让不懂代码的vibe coder 十分钟开始学会看懂项目核心代码,学会编写核心代码
我把它称之为meta coding,意为只写核心代码而不是纯氛围感编程,代码对于0代码基础的小白也不再是黑盒

亮点

项目亮点

  • 概念有趣:从 vibecoding 到 metacoding——用结构化 YAML 替代自然语言传递流程需求,产品写剧本、开发写 Action、LLM 管意图,三方各司其职
  • 入门友好:零依赖、零 API Key,一条命令 python examples/quickstart_mock.py 就能看到引擎完整执行轨迹(追问、校验拦截、条件分支逐行打印)
  • 文档齐全:中英文双语 README,源码全中文注释,自带 AI 客服示例剧本(5 个流程,覆盖全部框架能力)
  • 安全设计:条件表达式走 AST 白名单求值(替代裸 eval),禁 import/私有属性反射
  • 贴心彩蛋:仓库自带给编码 Agent 安装的 SKILL,装上后 AI 会按框架规范帮你写剧本

适合人群

-不想被别人嘲讽不懂代码的vibe coder

  • 正在做 AI 客服 / 对话机器人、被 prompt 失控折磨过的开发者
  • 对"低代码编排 LLM 对话流程"感兴趣的产品、运营
  • 想给自己项目加确定性流程控制的 LLM 应用开发者

示例代码

flows:
  logistics_tracking:
    name: 物流查询
    steps:
      - id: start
        type: start
        next: ask_order

      - id: ask_order
        type: collect
        slot_name: order_number
        response:
          mode: static
          text: "请提供订单号(至少 5 位字符)。"
        validation:
          condition: "len(str(slots.get('order_number', ''))) >= 5"
          failure_response:
            mode: static
            text: "订单号格式好像不对,能再说一次吗?"
        next: query

      - id: query
        type: action
        action: action_query_logistics
        next:
          - if: "slots.get('logistics_status') == 'delivered'"
            then: reply_delivered
          - else: reply_in_transit

      - id: end
        type: end
        next: []

截图或演示视频

相关文章(项目介绍与设计思路):

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions