Ask teams what model they plan to use and you usually get a confident answer. Ask which CRM fields the agent may update, what happens when Jira returns a 500, or who owns the calendar connector when OAuth expires, and the room slows down. That second conversation is the real project.
Agentic AI lives or dies on tool use. The model proposes. The tools do. If the tools are brittle, over-privileged, or poorly described, a clever model just fails with more confidence.
Models are relatively easy to swap in many stacks. Your ticketing taxonomy, CRM custom fields, and internal APIs are not. They carry years of exception handling, half-documented side effects, and permission models that were never designed for a non-human caller.
When an agent "uses tools," it typically:
Each of those steps can go wrong. Wrong ticket ID. Date in the wrong timezone. Filter that returns 10,000 rows. Silent partial success. The model did not invent your integration debt. It just runs into it at machine speed.
Take a simple goal: "Schedule a follow-up and open a ticket if the client risk flag is high." On a whiteboard that is three steps. In production it touches identity, calendar free/busy rules, ticket required fields, CRM picklists, and maybe a notification channel.
Sharp edges I keep seeing:
None of that is solved by a newer model release. It is solved by integration design, testing, and operations.
Treat each tool as a product surface for an unreliable-but-fast junior operator. That mindset changes the API you expose to the agent.
Patterns that help:
Human approval still belongs in front of high-impact writes. Tool safety and human-in-the-loop design work together. One without the other is incomplete.
Agents choose tools based on names and descriptions as much as on code. Vague descriptions produce creative misuse. Overlong descriptions get ignored. Good tool docs for agents look a lot like good API docs for humans: when to use, when not to use, required fields, examples, and side effects.
If two tools overlap ("search accounts" vs "search contacts"), spell out the difference. If a tool is expensive or slow, say so. If a tool should never be used for external communication, say that in the description and enforce it in code.
Building one-off function calling for every model and every app gets old fast. That is why protocol and connector strategies matter. I cover this more in why the protocol can matter more than the model: a shared way to expose tools and data reduces the rewrite tax when hosts or models change.
MCP is not a free lunch. You still need auth, governance, evaluation, and careful tool design. It can, however, shift the work from "new glue for every chat product" toward "stable connectors many agents can use." For company knowledge, pair tools with RAG so the agent is not inventing policy while it happily calls your CRM.
Skip the all-systems vision. Pick one workflow and list:
Then build the smallest tool set that can finish a real artifact. Measure broken tool calls, human overrides, and time-to-done. If the model is fine but the connectors are chaos, you have your roadmap.
The practical takeaway: model choice is rarely the long pole. Tool contracts, permissions, failure behaviour, and observability are. Design those as carefully as you would design an API for a third-party partner, because that is what the agent is. A partner that works very fast, never gets tired, and will use any tool you left unlocked.
I help organizations design agent tool layers that are narrow, governable, and testable, so model choice is not the only lever in the plan.
Reach out for a quick chat on how I can help at Suganth@AruviConsultancyServices.com