Type: url
Original: https://blog.dagworks.io/p/agentic-design-pattern-1-tool-calling
Status: generated
Summary
The first post in DAGWorks’s series on agentic design patterns, covering tool calling and implementing it with Burr, the company’s lightweight Python library for building applications as state machines. It argues that “tool” and “function” are synonyms and distinguishes both from structured outputs, then walks through a worked agent: functions defined as tools, their signatures formatted for the OpenAI tool-calling API via Python’s inspect module, a Burr action that asks the LLM which tool to call and with what arguments, one action per tool created by binding a parameter, and a final action that formats the result. It closes by arguing that Burr’s graph modelling, observability UI and persistence add enough over hand-written code to be worth the dependency.