<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Function-Calling on René Zander | AI Automation Consultant</title><link>https://renezander.com/tags/function-calling/</link><description>Recent content in Function-Calling on René Zander | AI Automation Consultant</description><generator>Hugo</generator><language>en</language><lastBuildDate>Thu, 26 Mar 2026 07:00:00 +0100</lastBuildDate><atom:link href="https://renezander.com/tags/function-calling/index.xml" rel="self" type="application/rss+xml"/><item><title>Claude API Tool Use: Function Calling Guide for Production</title><link>https://renezander.com/guides/claude-api-tool-use/</link><pubDate>Thu, 26 Mar 2026 07:00:00 +0100</pubDate><guid>https://renezander.com/guides/claude-api-tool-use/</guid><description>&lt;p&gt;Tool use is the default pattern for any Claude workload beyond chat. If you are building anything that reads from a database, hits an API, writes a file, or decides between branches of logic, you should be using tools. If you are not, you are probably over-prompting and under-engineering.&lt;/p&gt;
&lt;p&gt;I run ten Claude-powered agents in production as bash scripts on a Debian VPS. Every one of them uses tool use, not prompt chaining, to decide what to do next. The model picks a tool, I execute it, I feed the result back, the model continues. That loop is boring, predictable, and debuggable. It beats &amp;ldquo;parse the JSON out of the model&amp;rsquo;s free-form answer&amp;rdquo; every time.&lt;/p&gt;</description></item></channel></rss>