| ▲ | sewen a day ago | |
Can you share more? Actors typically come with async messaging, which can map well to agent-to-agent interactions, but for (nested) workflows I struggle to picture how this works. | ||
| ▲ | Muromec 10 hours ago | parent [-] | |
>Actors typically come with async messaging, which can map well to agent-to-agent interactions, but for (nested) workflows I struggle to picture how this works. There is a lot of process-shaped things happening with messages coming in and out of the system. tool calls are basically effects for example, chat and email protocol transports, ports to ssh and well, chat completion endpoint iself. all of those are processes, but javascript doesn't have a process primitive. even aborting a promise looks like pain in the ass. Promise generally is a narrow case of a process than can be started, aborted and sends you back one message. if you have a lot of async stuff flying around, making sure things are happening in the order you want is much easier if you have processes each having a message queue and internal state. then, once you model your llm provider connection and you tool server as two processes exchanging events, you can trivially put one of them into in a bwrap-jail, docker or another ssh host (given you have the general capability of IPC). or take MCP. make two ports (stdio and http) sending text or binary out and back and the whole thing becomes almost a stateless adapter of json/text into whatever internal tool calling convention you have. | ||