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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/dmk" rel="nofollow">@Dmk</a>, the Sagents library is built on the Elixir LangChain library, does not use Oban, and the agents_demo project sets up DB persistence for the agent and the user-side conversation.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="383539" 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/state-of-developing-agents-with-elixir-not-coding-agents/74313/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-383539" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="383539"
                     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 #11"></div>
  </section>
</div>
    <div class="postbit" id="383540" data-post-id="383540">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I had missed <a class="mention" href="/u/typesend" rel="nofollow">@typesend</a>’s post originally - but caught it this weekend and watched the demo video. Very impressive. Saw that is was built ontop of LangChain.</p>
<p>My previous comment about not using LangChain in my projects was just that with Elixir rolling your own solution is very simple - making the need for using an external library (for me anyways) somewhat unnecessary.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="383540" 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/state-of-developing-agents-with-elixir-not-coding-agents/74313/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-383540" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="383540"
                     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 #12"></div>
  </section>
</div>
    <div class="postbit" id="383618" data-post-id="383618">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’d like to share that I started building a hobby coding agent using Elixir/OTP called Opal:</p>
<p><a href="https://github.com/matteing/opal" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/matteing/opal</a></p>
<p>It’s nowhere near finished, but it’s currently bootstrapping itself. The core agent loop uses :gen_statem for the state machine, tools are executed in parallel and subagents basically come for free due to OTP primitives. I’ve found Elixir an awesome language to build this in.</p>
<p>It’s a hobby project so please adjust expectations <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">  I started building this to learn both OTP and how agents work. I’ve been using AI to accelerate my work but keeping a close eye + manually reviewing the agent line by line.</p>
<p>So far, I’ve found using Erlang distribution gives us unprecedented observability into the state of running agents. Being able to iex into any Opal session to dump state, poke around and issue calls: it’s just insane.</p>
<p>Drop a star and let me know any feedback!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="383618" 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/state-of-developing-agents-with-elixir-not-coding-agents/74313/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-383618" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="383618"
                     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 #13"></div>
  </section>
</div>
    <div class="postbit" id="383634" data-post-id="383634">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I think BullMQ would be quite useful, particularly the “flows” features, if you want to breakdown a task in sub-agents: <a href="https://hexdocs.pm/bullmq/flows.html" class="inline-onebox" rel="noopener nofollow ugc">Flows &amp; Parent-Child Jobs — BullMQ v1.3.3</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="383634" 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/state-of-developing-agents-with-elixir-not-coding-agents/74313/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-383634" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="383634"
                     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 #14"></div>
  </section>
</div>
    <div class="postbit" id="383678" data-post-id="383678">
  <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
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Did you try Jido at all? I see it listed above - Jido has a sophisticated “ReAct” reasoning loop with tools powered by ReqLLM here - models switch pretty easily:</p>
<p><a href="https://github.com/agentjido/jido_ai/blob/main/lib/jido_ai/agents/examples/weather_agent.ex" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/agentjido/jido_ai/blob/main/lib/jido_ai/agents/examples/weather_agent.ex</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="383678" data-batch-url="/posts/batch_likers">
                        4
                      </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/state-of-developing-agents-with-elixir-not-coding-agents/74313/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-383678" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="383678"
                     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 #15"></div>
  </section>
</div>
    <div class="postbit" id="383679" data-post-id="383679">
  <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
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Here’s code to walk you through a tutorial on how to build agents of varying sophistication with ReqLLM as well:</p>
<aside class="onebox githubfolder" data-onebox-src="https://github.com/agentjido/req_llm/tree/main/tutorial/agents">
  <header class="source">
      <img src="https://github.githubassets.com/favicons/favicon.svg" class="site-icon" alt="" width="32" height="32">

      <a href="https://github.com/agentjido/req_llm/tree/main/tutorial/agents" target="_blank" rel="noopener nofollow ugc">github.com</a>
  </header>

  <article class="onebox-body">
    <h3><a href="https://github.com/agentjido/req_llm/tree/main/tutorial/agents" target="_blank" rel="noopener nofollow ugc">req_llm/tutorial/agents at main · agentjido/req_llm</a></h3>

  <p><a href="https://github.com/agentjido/req_llm/tree/main/tutorial/agents" target="_blank" rel="noopener nofollow ugc">main/tutorial/agents</a></p>

  <p><span class="label1">Composable Elixir library for LLM interactions built on Req and Finch - agentjido/req_llm</span></p>

  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="383679" 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/state-of-developing-agents-with-elixir-not-coding-agents/74313/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-383679" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="383679"
                     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 #16"></div>
  </section>
</div>
    <div class="postbit" id="383919" data-post-id="383919">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I get what you’re saying. If you only need to make a one-off LLM call, then rolling your own and doing it direct is a great option. Sagents is designed to help when it gets more complex than that. It helps handle the extra complexity of things like HITL (Human in the Loop), sub-agents, uninterruptible sub-agents, introspection, telemetry, managing a different view of the conversation from the user’s perspective vs the agent’s perspective, etc.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="383919" 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/state-of-developing-agents-with-elixir-not-coding-agents/74313/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-383919" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="383919"
                     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 #17"></div>
  </section>
</div>
    <div class="postbit" id="383966" data-post-id="383966">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="lukaszsamson" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/lukaszsamson/120/7671_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  lukaszsamson
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>ElixirLS Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>If you are working on agents you may want to check out my libs:</p>
<ul>
<li><a href="https://github.com/lukaszsamson/a2a_ex" class="inline-onebox" rel="noopener nofollow ugc">GitHub - lukaszsamson/a2a_ex: Elixir client and server library for the Agent2Agent (A2A) protocol · GitHub</a> - A2A protocol implementation</li>
<li><a href="https://github.com/lukaszsamson/a2ui_lv" class="inline-onebox" rel="noopener nofollow ugc">GitHub - lukaszsamson/a2ui_lv: A2UI LiveView is a Phoenix LiveView renderer and session engine for the A2UI protocol · GitHub</a> - A2UI protocol client and phoenix liveview renderer library</li>
<li><a href="https://github.com/ag-ui-protocol/ag-ui/pull/1046" class="inline-onebox" rel="noopener nofollow ugc">Elixir SDK by lukaszsamson · Pull Request #1046 · ag-ui-protocol/ag-ui · GitHub</a> - PR adding AG-UI client and liveview components</li>
</ul> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="383966" 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/state-of-developing-agents-with-elixir-not-coding-agents/74313/19">Post #18</a>
	                </div>
	            </div>
              <div id="likers-container-383966" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="383966"
                     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 #18"></div>
  </section>
</div>
    <div class="postbit" id="384011" data-post-id="384011">
  <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>Related conversation?</p>
<aside class="quote quote-modified" data-post="5" data-topic="69989">
  <div class="title">
    <div class="quote-controls"></div>
    <img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/g/3bc359/48.png" class="avatar">
    <div class="quote-title__text-content">
      <a href="https://forum.elixirforum.com/t/is-anyone-working-on-ai-agents-in-elixir/69989/5" rel="nofollow">Is anyone working on "AI Agents" in Elixir?</a> <a class="badge-category__wrapper " href="/c/chat-discussions/ai-llms/169" rel="nofollow"><span data-category-id="169" style="--category-badge-color: #cca771; --category-badge-text-color: #FFFFFF; --parent-category-badge-color: #cca771;" data-parent-category-id="165" data-drop-close="true" class="badge-category --style-square --has-parent"><span class="badge-category__name">AI / LLMs</span></span></a>
    </div>
  </div>
  <blockquote>
    I gave them a quick scan and they seem to be making roughly the same point I was, which is encouraging to me <img width="20" height="20" src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title="slight_smile" alt="slight_smile" class="emoji"> 
It seems like “agents” in general are a broad enough concept as to be effectively turing complete - i.e. there is no wake to make an “agent framework”, because agents are just code. And not only that, but at least for the time being running large models on your own servers is not cost-effective unless you have massive scale, and even then you would want as much multitenan…
  </blockquote>
</aside>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="384011" 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/state-of-developing-agents-with-elixir-not-coding-agents/74313/20">Post #19</a>
	                </div>
	            </div>
              <div id="likers-container-384011" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="384011"
                     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 #19"></div>
  </section>
</div>
    <div class="postbit" id="384031" data-post-id="384031">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="KristerV" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/KristerV/120/13808_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  KristerV
                    <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>oh, thanks. i did search, but this did not come up.</p>
<p>specifically this links is interesting: <a href="https://github.com/druyang/awesome-elixir-llm-genai" class="inline-onebox" rel="noopener nofollow ugc">GitHub - druyang/awesome-elixir-llm-genai: A list of LLM and GenAI Elixir Resources/Tools · GitHub</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="384031" 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/state-of-developing-agents-with-elixir-not-coding-agents/74313/21">Post #20</a>
	                </div>
	            </div>
              <div id="likers-container-384031" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="384031"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-last-post cat-last-post" title="Last post!"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <span class="all-loaded">— All posts loaded —</span>
</div></template></turbo-stream>