<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="365411" data-post-id="365411">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="lostbean" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/lostbean/120/29096_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  lostbean
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Actually, I’m curious to hear your (and <span class="mention">@zblanco</span>) thoughts about using DAG since you guys are already exploring a solution for this type of workflow. Do you share the same perception around limiting factors of DAGs?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="365411" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/jido-a-sdk-for-building-autonomous-agent-systems/68418/42">Post #41</a>
	                </div>
	            </div>
              <div id="likers-container-365411" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="365411"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #41"></div>
  </section>
</div>
    <div class="postbit" id="365412" data-post-id="365412">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mikehostetler" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mikehostetler/120/20620_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mikehostetler
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<blockquote>
<p>The major issue so far is the limitation of acyclic topologies</p>
</blockquote>
<p>Yep, this is one of the challenges. When expand this out to a multi-process architecture it begins to look a lot more like distributed event sourcing.</p>
<p>There’s a constant tension between having a human design the system/workflow and letting the LLM choose it’s own adventure via tool calling.</p>
<p>Less LLM’s produces more reliable outcomes - More LLM’s produces less reliable outcomes but more serendipity and value.</p>
<p>I really think as developers we should have all of these tools at our disposal - with an easy way to integrate them.</p>
<p>I think Elixir really has an opportunity to shine here. I have some early ideas - but the community needs to talk about this a lot more. It’s a new sub-category of orchestration that needs grounded in the real world.</p>
<p>Thankfully there’s a lot of “Agent Frameworks” and Examples popping up on the web to look at.</p>
<p>I personally found it pretty hilarious that all of OpenAI’s background agents use a durable workflow system like Temporal - which means they haven’t solved this either despite headlines to the contrary.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="365412" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/jido-a-sdk-for-building-autonomous-agent-systems/68418/43">Post #42</a>
	                </div>
	            </div>
              <div id="likers-container-365412" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="365412"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #42"></div>
  </section>
</div>
    <div class="postbit" id="365445" data-post-id="365445">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="MrDoops" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/MrDoops/120/7118_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  MrDoops
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>The solution in Runic (despite being a DAG) for stateful expressions is to evaluate in a loop by taking outputs of the workflow and feeding them back in for further reactions. The DAG’s constraints of avoiding loops in the dataflow edges mean you have a guarantee of the computation ending once you evaluate to the leaf nodes. This is especially useful for lazy evaluation and avoiding assumptions of how the actual tasks are executed at runtime and why DAGs are common in compute scheduling problems.</p>
<p>There are also stateful components that can be added to workflows who accumulate across evaluations or reduce many facts into one.</p>
<p>e.g.</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">state_machine =
  Runic.state_machine(
    name: "transitional_factor",
    init: 0,
    reducer: fn
      num, state when is_integer(num) and state &gt;= 0 and state &lt; 10 -&gt; state + num * 1
      num, state when is_integer(num) and state &gt;= 10 and state &lt; 20 -&gt; state + num * 2
      num, state when is_integer(num) and state &gt;= 20 and state &lt; 30 -&gt; state + num * 3
      _num, state -&gt; state
    end
  )
  |&gt; Runic.transmute()

# or for a map/reduce

reduce_example =
  Runic.workflow(
    name: "reduce test",
    steps: [
      {Runic.step(fn num -&gt; Enum.map(0..3, &amp;(&amp;1 + num)) end),
       [
         {Runic.map(fn num -&gt; num * 2 end),
          [
            Runic.reduce([], fn num, acc -&gt; [num | acc] end)
          ]}
       ]}
    ]
  )
</code></pre>
<p>Here’s a couple notebooks I made recently:</p>
<ul>
<li><a href="https://gist.github.com/zblanco/9b75c35fe350674d7583a2760b292e3b" rel="noopener nofollow ugc">LLM Knowledge Graph Generation Workflow</a></li>
<li><a href="https://gist.github.com/zblanco/c20b9f894624e2d91e35971799283c26" rel="noopener nofollow ugc">Runic Component examples</a></li>
</ul>
<p>Most of the agents we’re seeing so far are a conversation loop of messages (role + content) and tool calling and/or some RAG.</p>
<p>Where I see workflows/dags come into play are when you want a dynamically composed program (generated by an agent such as chains of tools tool calls) that you want to execute deterministically and manage the concurrency.</p>
<p>Or by orchestrating many agents, LLM calls, structured extraction steps, etc into something useful like in the first notebook.</p>
<p>Likewise there is no reason your conversation loop couldn’t be expressed in a workflow using a reduce + rules or a statemachine component but I’d recommend using Runic for only the dynamic composition use cases or where the data flow parallelism is needed.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="365445" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/jido-a-sdk-for-building-autonomous-agent-systems/68418/44">Post #43</a>
	                </div>
	            </div>
              <div id="likers-container-365445" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="365445"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #43"></div>
  </section>
</div>
    <div class="postbit" id="365484" data-post-id="365484">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="lostbean" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/lostbean/120/29096_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  lostbean
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hey <a class="mention" href="/u/mrdoops" rel="nofollow">@MrDoops</a>, thanks for sharing how Runic would handle this type of flow. The livebooks were very helpful to start exploring how you’re approaching this. After playing around a little bit, I’ve got some feedback and a bunch of questions. And I’m still trying to form a solid mental model, especially around rules, state machines.</p>
<p>Another question is regarding the current and future state of the project. I see it not yet published on Hex, and this functionality is not available on <code>main</code>. How do you see Runic moving forward? I’m considering it to be eventually used in a production environment.</p>
<p>I don’t want to hijack the thread, so maybe we can create a new one or move to a new environment (GH issues or similar)?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="365484" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/jido-a-sdk-for-building-autonomous-agent-systems/68418/45">Post #44</a>
	                </div>
	            </div>
              <div id="likers-container-365484" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="365484"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #44"></div>
  </section>
</div>
    <div class="postbit" id="365508" data-post-id="365508">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="MrDoops" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/MrDoops/120/7118_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  MrDoops
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’m working on a 0.1.0 release for Runic. Current effort is around supporting long running durable workflows with stream/log persistence semantics and ironing out named component APIs.</p>
<p>I can probably merge latest in the meantime. Feel free to open a discussion on GH or dm me on the Elixir Slack <span class="mention">@zblanco</span> if you want to discuss.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="365508" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/jido-a-sdk-for-building-autonomous-agent-systems/68418/46">Post #45</a>
	                </div>
	            </div>
              <div id="likers-container-365508" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="365508"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #45"></div>
  </section>
</div>
    <div class="postbit" id="365548" data-post-id="365548">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="lostbean" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/lostbean/120/29096_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  lostbean
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks <a class="mention" href="/u/mrdoops" rel="nofollow">@MrDoops</a>! I’ll reach out to you.</p>
<p>In the meantime, I’m making a PR to add some level of recursion to Reactor (<a href="https://github.com/ash-project/reactor/pull/215" class="inline-onebox" rel="noopener nofollow ugc">improvement: add support for recursive sub-reactors by lostbean · Pull Request #215 · ash-project/reactor · GitHub</a>). Not as flexible as Runic, but this could unblock another set of AI workflows to use Reactor.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="365548" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/jido-a-sdk-for-building-autonomous-agent-systems/68418/47">Post #46</a>
	                </div>
	            </div>
              <div id="likers-container-365548" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="365548"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #46"></div>
  </section>
</div>
    <div class="postbit" id="384481" data-post-id="384481">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="alexandre" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/alexandre/120/678_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  alexandre
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>How do you ensure security? Does it have a proper container? Otherwise, I believe it’s impossible to prevent leaking prod secrets.</p>
<p>Can’t find those answers in code/docs.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="384481" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/jido-a-sdk-for-building-autonomous-agent-systems/68418/48">Post #47</a>
	                </div>
	            </div>
              <div id="likers-container-384481" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="384481"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #47"></div>
  </section>
</div>
    <div class="postbit" id="384483" data-post-id="384483">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mikehostetler" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mikehostetler/120/20620_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mikehostetler
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Current Jido core puts the tools into a developers hands to implement whatever flavor of security is needed for their project.</p>
<p>I have seen projects that implement all sorts of approaches with Jido. I put a security guide on my TODO list to showcase this better.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="384483" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/jido-a-sdk-for-building-autonomous-agent-systems/68418/49">Post #48</a>
	                </div>
	            </div>
              <div id="likers-container-384483" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="384483"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #48"></div>
  </section>
</div>
    <div class="postbit" id="384551" data-post-id="384551">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="byu" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/byu/120/32032_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  byu
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/mikehostetler" rel="nofollow">@mikehostetler</a> : Congrats on Jido 2.0. <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<p>I see Jido’s <code>start_agent/3</code> , <code>stop_agent/2</code>, and <code>InstanceManager</code> use local node <code>DynamicSupervisor</code> and <code>Registry</code> functionality.</p>
<p>Are there any directions for, or plans to support, cluster-wide process distribution with something like <code>process_hub</code> or <code>horde</code>? Or are Jido instances intended to be single-node only?</p>
<p>Example use-case: A coordinator agent that then instantiates individual worker agents – Parent-Child agent hierarchies guide–   <code>MyApp.Orders.OrderWorkerAgent</code> for each order (“order-123”, “order-234”, etc). There should only be one agent for any given order in the cluster?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="384551" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/jido-a-sdk-for-building-autonomous-agent-systems/68418/50">Post #49</a>
	                </div>
	            </div>
              <div id="likers-container-384551" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="384551"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #49"></div>
  </section>
</div>
    <div class="postbit" id="384578" data-post-id="384578">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mikehostetler" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mikehostetler/120/20620_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mikehostetler
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>TigerBeetle’s approach of building mini-games to demonstrate their favorite features inspires me.</p>
<p>I dream of a Jido demo orchestrating agents across a worldwide system where we can kill machines and “cut” connections and the systems absorbs and thrives under these conditions.</p>
<p>Agent durability? Yes<br>
Agents handling network topology changes? Absolutely<br>
Agents merging conflicts on network healing? So cool</p>
<p>So yes, it’s still mostly a dream - but that’s where this is going.</p>
<p>I started some code here - but it’s VERY early <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<p><a href="http://github.com/agentjido/jido_cluster" class="onebox" target="_blank" rel="noopener nofollow ugc">http://github.com/agentjido/jido_cluster</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="384578" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/jido-a-sdk-for-building-autonomous-agent-systems/68418/51">Post #50</a>
	                </div>
	            </div>
              <div id="likers-container-384578" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="384578"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #50"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/68418/load_more?page=6">Load more posts (2 remaining)</a>
</div></template></turbo-stream>