Let's talk about Function Calling for o1/o3, Agent SDK (fka Swarms), Realtime API...)
Ilan Bigio is a founding member of OpenAI’s Developer Experience team, where he built the 2024 AI phone ordering demo showcased at DevDay and was also the technical lead for Swarm, a framework for multi-agent orchestration and the precursor to the Agents SDK. Prior to that, he was a Solutions Architect at OpenAI, partnering with companies like Cursor, Khan Academy, and Klarna to shape their AI products. Before OpenAI, he was a full-stack Software Engineer at Google, building for YouTube at scale. Ilan’s journey started as a hobby hacker, diving into operating systems and reverse engineering, before shifting to language models in 2020. He created projects like ShellAI—an open-source, AI-powered terminal assistant—and is passionate about sharing knowledge. With a multidisciplinary background spanning web development, AI/ML, and operating systems, he’s designed and taught courses at Brown and continues to share his expertise through in-depth technical OpenAI guides on topics like Function Calling and Latency Optimization.
https://www.twitter.com/ilanbigio
Timestamps
0:00:00 – 0:01:44 Intro
0:01:44 – 0:10:19 History of Function Calling
0:10:19 – 0:25:00 Agent Loop Setup
0:25:00 – 0:34:11 Memory
0:34:11 – 0:54:06 Delegation
0:54:06 – 1:01:56 Async Delegation
1:01:56 – 1:17:14 Misc Questions
1:17:14 – 1:27:01 Dynamic Agent-Written Tools
1:27:01 – 1:43:06 [end] More Misc
The special code from the last part of the talk - Dynamic Agent-Written Tools
from swarm import Agent
from swarm.repl import run_demo_loop
agent = Agent(
name="Bootstrap",
instructions="",
functions=[],
)
def parse_function(code_str):
namespace = {}
exec(code_str, namespace)
fn_name = next(k for k in namespace if not k.startswith("__"))
return namespace[fn_name]
def add_tool(python_implementation: str):
function_obj = parse_function(python_implementation)
agent.functions.append(function_obj)
return "success"
agent.functions = [add_tool]
run_demo_loop(agent)