How to Build Agents That Write Their Own Tools
Every agent has a shelf life, and the moment you ship it, it starts falling behind. Ask something outside its toolset and it either says "I can't" or hand-waves an answer with no real computation. I built an agent that closes the gap on its own: it writes a new tool, tests it, loads it, and uses it live in the same conversation. Meta tooling: an agent that creates its own tools at runtime when it hits a task it can't handle, then uses those tools immediately without restarting. I start with a Strands agent that has one tool (text_count) and ask it a question outside that tool's scope (compute similarity between two articles). Without meta tooling, it hand-waves an answer. With meta tooling, it realizes it's missing a capability, writes a text_similarity tool (Jaccard + cosine), validates the syntax, loads it into the live registry, and returns a real computed score. Agent Toolkit for AWS: https://go.aws/4zDRTye Strands Agents Tools: https://go.aws/46mbQMt Read the blog: https://go.aws/3UcTlYd GitHub Repo: https://go.aws/3UhQM7c Follow AWS Developers! ๐ X: https://go.aws/46mbRjv ๐ผ LinkedIn: https://go.aws/3U8oagG 0:00 The Shelf Life Problem 0:57 Demo Setup: One Tool, Two Articles 2:37 Similarity: Agent Can't Do It 4:32 Watch It Build a Tool Live 5:43 What Actually Changed (Not the Model) 6:43 The Three Tools That Enable Meta Tooling 8:19 System Prompt Design for Reliable Tool Creation 10:12 Evaluation: Changed vs Improved (4 Levels) 14:04 Guardrails for Self-Modifying Agents 16:28 Wrap Up #AWS #AIAgents #StrandsAgents