AI Agents Are Not Magic
I want to cut through the "Agentic AI" gatekeeping BS for a moment.
Putting the conclusion first: If you know how to build a microservice and make a REST call, you're an "AI-Agent Developer." Congratulations! Everything else is trivia.
An AI Agent is not something complicated or magical. It is essentially a microservice that uses an LLM under the covers to do some or all of its work. It does that by talking to the LLM using a (typically REST) API that the LLM vendor defines. That's it. No magic.
At its core, an Agent is no different than any other well-designed component, including a microservice. It has inpenetrable boundaries, is defined by the work it does, not how it does it or what it contains, and conforms to a generalized form of the Liskov Substitution Principle (you should be able to radically change the implementation of a component, and if the interface doesn’t change, nobody cares). The fact that there’s an LLM buried deep in the implementation doesn’t impact the core architectural definition. Sure, there are issues surrounding getting the LLM to work, but those are not central to what an Agent is, and aren’t that hard to learn.
In an AI Agent, your code feeds a prompt into the LLM and then turns whatever it spews out into output or calls to other agents, so you do need to know something about prompt engineering. You can also (through those LLM APIs) give the LLM data that it can mine to do its work. (The buzzword, there, is "Retrieval-Augmented Generation" or RAG.)
If you have a system where agents talk to other agents, and you really wanted to live dangerously, you could ask the LLM to produce code in some interpretive language and then execute it at runtime. It's safer to ask it to spit out a set of instructions in some metalanguage (often in JSON) that you write code to execute (the buzzword for that is "orchestration layer"). That way, you can (we hope) catch hallucinations before they're executed.
There are a few other trivial things around the edges (e.g., you should probably provide metadata about your own API using the Model Context Protocol), but that's all trivia.
None of this is rocket science. It's work, but everything we do is work.
To me, the main caveat is that there is a lot of snake oil around, like proprietary frameworks that do some of this work for you. Using proprietary frameworks in general (not just AI ones) ties your success to that of the vendor—you may not want to go there, no matter how tempting. If you're using a third-party orchestration layer, for example, you're trusting it not to act on some hallucination and do active damage to your system at runtime. I've seen many systems either die or be worthless in an acquisition because that third party has gone belly up. If you're in a hurry, go for it, but that is not a no-risk decision.