<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Agentic AI on Yiwei Shi</title><link>/tags/agentic-ai/</link><description>Recent content in Agentic AI on Yiwei Shi</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 09 May 2026 01:20:40 -0400</lastBuildDate><atom:link href="/tags/agentic-ai/index.xml" rel="self" type="application/rss+xml"/><item><title>Building a Multi-Turn LLM Tool-Calling Pipeline</title><link>/posts/20260509-multi-turn-llm-workflow/</link><pubDate>Sat, 09 May 2026 01:20:40 -0400</pubDate><guid>/posts/20260509-multi-turn-llm-workflow/</guid><description>&lt;p&gt;If you&amp;rsquo;ve used the OpenAI, Anthropic, or Bedrock APIs to build something more sophisticated than a chatbot, you&amp;rsquo;ve probably written an agent loop — code that lets the model call tools, receive results, and decide what to do next. I recently built one for a document analysis pipeline at work, and a few things surprised me. This post is a distillation of those lessons, using a generic example.&lt;/p&gt;
&lt;h2 id="the-setup-a-four-tool-pipeline"&gt;The Setup: A Four-Tool Pipeline&lt;/h2&gt;
&lt;p&gt;Imagine you&amp;rsquo;re processing a document. For each item the model identifies, you want to:&lt;/p&gt;</description></item></channel></rss>