9 分•作者: waleedlatif1•7 个月前
大家好,我是 Waleed。我们正在构建 Sim (<a href="https://sim.ai/">https://sim.ai/</a>),一个用于构建智能体工作流的开源可视化编辑器。代码库在这里:<a href="https://github.com/simstudioai/sim/" rel="nofollow">https://github.com/simstudioai/sim/</a>。文档在这里:<a href="https://docs.sim.ai">https://docs.sim.ai</a>。
您可以使用 Docker 在本地运行 Sim,没有执行限制或其他限制。
我们大约一年前开始构建 Sim,当时我们反复排查智能体在生产环境中失败的原因。代码优先的框架由于隐式控制流而难以调试,而工作流平台增加的开销却多于减少的。我们希望拥有精细的控制和易于观察的能力,而无需自己拼凑所有东西。
大约 6 个月前,我们推出了 Sim [1][2],它是一个拖放式的画布。从那时起,我们增加了:
- 138 个模块:Slack、GitHub、Linear、Notion、Supabase、SSH、TTS、SFTP、MongoDB、S3、Pinecone,...
- 具有精细控制的工具调用:强制、自动
- 智能体记忆:支持滑动窗口的对话记忆(按最后 n 条消息或 token)
- 跟踪 span:嵌套工作流和工具调用的详细日志记录和可观察性
- 原生 RAG:上传文档,我们进行分块、使用 pgvector 进行嵌入,并向智能体公开向量搜索
- 工作流部署版本控制,支持回滚
- MCP 支持,Human-in-the-loop 模块
- 使用自然语言构建工作流的 Copilot(刚刚发布了一个新版本,它也可以充当超级智能体,并可以直接调用您连接的任何服务,而不仅仅是构建工作流)
在底层,工作流是一个 DAG,默认情况下是并发执行的。节点在其依赖项(上游模块)满足后立即运行。循环(for、forEach、while、do-while)和并行扇出/连接也是一级原语。
智能体模块是直通到提供商的。您选择您的模型(OpenAI、Anthropic、Gemini、Ollama、vLLM),我们直接将提示、工具和响应格式传递给提供商 API。我们对模块互操作性的响应形状进行标准化,但我们没有添加掩盖正在发生的事情的层。
我们目前正在开发我们自己的 MCP 服务器,以及将工作流部署为 MCP 服务器的能力。很想听听您的想法以及我们下一步应该怎么做 :)
[1] <a href="https://news.ycombinator.com/item?id=43823096">https://news.ycombinator.com/item?id=43823096</a>
[2] <a href="https://news.ycombinator.com/item?id=44052766">https://news.ycombinator.com/item?id=44052766</a>