流模板系统 — 元策略模板的注册、选择与填充机制 #2
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
目标
让用户能注册和选择元策略模板(如对偶机、链式、分段审议),填入 Agent 的状态机定义后,编译器自动生成多 Agent 协作系统。
需要讨论和确定
依赖
bootstrap/flows/目录已有一些 JSON 定义可以作为模板素材产出
隶属于里程碑:v0.2 — 流模板系统
关于流模板设计的思考
昨晚在 examples/decoupled_demo/ 里写了一个解耦 demo(已提交 main),核心想法是 Agent / DSL / Tools 三层分离。
现状问题
现在
bootstrap/flows/里的每个 Agent 定义(aligner_agent.json、dev_agent.json...)都绑死了具体的状态机 JSON,Python 代码和 JSON 互相引用、互相依赖。加一个新场景就要新建 JSON + 写一堆 Python handler。解耦思路
Agent = 角色 + 能力(谁来做)
DSL(流模板) = 步骤声明(做什么)
Tools = 工具(用什么做)
Pipeline = 组合以上三者(怎么组织)
这样做的好处
跟现有编译器的关系
compiler 目前处理的是状态机(SM)的编译,而流模板是更上层的编排层。两者可以共存:
下一步建议
用 orion 的身份测试评论 ✅
解耦遇到的实际问题
在尝试把 demo 跟核心 Pipeline 对接时,发现了一个结构性问题。
Pipeline 的现状
核心 Pipeline 的步骤原语是
start / wait / send:这些原语直接操作 Agent 内部状态机(发什么事件、等什么状态)。这意味着:
问题本质
Pipeline 入侵了应用层。 它干的活本应是"谁做什么、结果给谁"的编排,却变成了直接操控 Agent 内部状态机的底层操作。
缺少一层抽象:
建议新增的编排层原语
Pipeline 应该只有编排语义的原语:
runparalleljudgetransformforeach这样 DSL 变成:
而不是:
对 v0.2 流模板的影响
如果这个抽象层做对了,流模板可以变得更纯粹:
跟 examples/decoupled_demo/ 的关系
现在的 demo 已经提交到 main,但它展示了错误的方向——它尝试用现有的
start/wait/send原语来构建高层 DSL,结果发现被核心 API 的底层性卡住了。建议:
完成:编排层原语 + AgentCapability 契约
提交
986e41c,关联 #2。改了什么
Pipeline 新增两层原语体系:
runagent,roleparallelbranches: [{steps}]judgecondition,cases: [{value, steps}]transformfrom_key,to_keyforeachitems_key,item_key,sub_steps底层原语(
start/wait/send)保持向后兼容。AgentCapability 契约 — 定义 Agent 角色的交互接口:
run原语通过契约驱动 Agent,DSL 作者不需要知道内部状态机细节。Demo 对比
改写前
cross_review_3x(12 步底层原语):改写后(2 步编排层原语):
未完成(留给后面)