> be Google in 2017
> small team drops “Attention Is All You Need” on arXiv
> execs nod politely, go back to selling ads for socks
> let Transformer gather dust for 5 yrs like a vintage Beanie Baby
> be Noam Shazeer, OG wizard
> quits, builds AI-boyfriend app “https://t.co/KRAcLptABl”
> millions of lonely hearts pay $9.99 to e-date 2B from Nier
> Google HR: “any chance you wanna come back?”
> Shazeer: “busy, my e-gf is calling”
> 2022, OpenAI drops ChatGPT
> world loses its mind, Google stock does bungee jump
> Sundar holds all-hands: “guys, we need a response by Q2”
> team ships Bard in 3 weeks using 12 interns, 2000 TPUv4s, and pure panic
> Bard hallucinates that the earth is flat
> Wall Street: “sell sell sell”
> Sergey hears the screams from his yacht
> flies back on a carbon-negative jet, reclaims unofficial crown
> merges GoogleBrain + DeepMind like Dragon Ball fusion
> axes Bard, slaps Gemini sticker on everything
> Gemini launches, immediately generate a black Abraham Lincoln
> Twitter dubs them “Bing’s woke cousin”
> Shazeer finally answers HR’s 47th email
>“fine, but I want my own parking spot and unlimited LaCroix”
> returns, waves wand, Gemini 2 & 2.5 drop
> context window so big it can summarise the Bible + your group chat
> Google processing 980T tokens/month, equal to 40 % of human SMS traffic
> someone sneezes “Nano Banana” into the Play Store
> overnight it’s #1 app, turns ur selfie into big-tiddy anime waifu
> be Anthropic
> building tools for Claude
> want it to act like a 10x engineer with a nervous system made of JSON
> realize agents are only as good as the tools you give them
> decide to write tools *with* the agent itself
> self-bootstrapping code god loop activated
> first step: build tools
> not “functions” — these are symbiotic interfaces for probabilistic demons
> prototype fast
> wrap it in an MCP server
> plug it into Claude Code or Desktop
> connect via `claude mcp add`
> test locally
> realize half your tools suck and the other half hallucinate
> now evaluate
> generate real-world tasks like
> “schedule a meeting and attach docs”
> not toy tasks like
> “list users”
> use *real data*, *real messiness*
> stress test until Claude cries
> each prompt = a test
> each agent = a chaotic intern
> wrap everything in agentic while-loops
> get feedback
> compare outputs
> let Claude judge itself
> accidentally invent LLM peer review
> collect metrics:
> > tool call count
> > error rates
> > token bloat
> > execution time
> > how often Claude ignores your beautiful tools
> > if tool call has `?` and ends in `2025` for no reason… fix your description
> analysis phase
> Claude gives feedback
> sometimes helpful
> sometimes vibes-based
> always read between the lines
> hallucinations hide in what’s *not* said
> concatenate all transcripts
> paste into Claude Code
> “hey buddy, optimize yourself”
> Claude rewrites every tool to perfection
> did we just automate DevOps?
> key insight: more tools ≠ better agents
> too many tools = confused goblin with ADHD
> don’t just wrap every endpoint
> be strategic
> instead of `list_contacts`, use `search_contacts`
> instead of `get_customer_by_id`, use `get_customer_context`
> compress complexity into semantic power
> name your tools wisely
> no vague verbs, no overlapping functions
> use namespaces like `asana_schedule`, `jira_comment`
> agents are dumb about scope — help them out
> tool responses:
> > only return signal
> > ditch uuids
> > ditch mime\_types
> > give names, summaries, clean text
> > too many tokens?
> > paginate, truncate, filter
> > always choose *relevance over exhaustiveness*
> teach Claude how to think about tools
> add a `ResponseFormat` enum:
> > CONCISE
> > DETAILED
> > like GraphQL but for vibes
> if your tool errors:
> don’t return 500
> return “Hey Claude, your input was malformed. Try `search_logs(query=...)` instead.”
> yes, engineer your error messages like you're talking to a junior dev with amnesia
> format matters
> JSON, XML, Markdown — pick based on what your agent learned on
> Claude loves Markdown like it’s 2010
> prompt engineering is real
> your tool spec = onboarding doc for a hallucinating intern
> clarify inputs
> avoid ambiguity
> “user_id” > “user”
> “customer_id” > “the person”
> the more specific, the less Claude does interpretive dance
> we rewrote everything
> re-ran evals
> Claude 3.5 Sonnet suddenly nails SWE-Bench
> why?
> better prompts
> better specs
> fewer garbage outputs
> tl;dr:
> > tools must fit the agent’s brain
> > context is limited
> > clarity is power
> > measure everything
> > optimize iteratively
> > collaborate with Claude
> > sometimes Claude knows what’s best — let it cook
> what's next?
> MCP will evolve
> LLMs will mutate
> tools must adapt
> the future is agents that write, evaluate, and improve their own toolchains
> recursive software engineering with vibes
> we are just along for the loop