Earisty

Results 4 comments of Earisty

这个问题好像在1.2.0还有,有解决方案吗

@mossexplore 我最近也在思考这个问题,在dify这样的可视化页面中编辑节点,然后转为pocketflow这样灵活的框架代码,用于二次开发,这是非常吸引人的点。 卡点也出现在节点之间的连接问题。 @zachary62 提出的well defined shared data structure是一个方向,但是当graph增长的时候,这个shared data structure内部的管理就会变得十分混乱,以至于无法进行二次开发。 此处我建议参考go语言的框架eino,他们要求**前一个运行节点的输出值类型等于下一个节点的输入值类型**,这样二者就可以进行直接连接。这在graph的build阶段完成类型判断。 > 参考https://www.cloudwego.io/zh/docs/eino/core_modules/chain_and_graph_orchestration/orchestration_design_principles/ 而share data,是在运行时注入state变量,用于在graph nodes中流动。 我之所以推荐这样的方式,是因为我尝试过突破这种模式,用pocketflow的思想重写它,但最终发现,eino的模式能同时很好地兼容chain和graph两种构建模式。 如果对此有兴趣,能否拉一个讨论组一起讨论一下这里的编排问题。

> “将Dify这样的低代码编排流程转换为PocketFlow的高代码实现”,请教下这种工具的适用对象是非代码人员还是代码人员?会写代码的直接基于 pocketflow 构建也很轻松,不会写代码的直接使用 dify、n8n、OpenAI Agent 可视化编排就行。 面向团队的,由非技术人员使用可视化编程搭建初始框架,验证可行性,然后导出代码,交给技术人员进行二次开发

@zachary62 感谢回复,你的幂等重试这个设计是有道理的!不过我图中的那个提前跳出的问题,在基于prep、exec、post的设计中,有什么更好的实现方式吗,希望您能给我一些灵感或指导。