-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Description
Hello everyone
I have experience in developing applications with many different agents. They have different capabilities and features. There is no standard.
So, in my opinion, it should be said that for an agent framework to be considered as such, it should at least have these features.
MCP seems to have permanently established itself as a standard in the agent ecosystem...
An agent, in its simplest form, has a body with a code structure, a consciousness and intelligence with LLMs, a brain with the data sources it uses, and it's actually an expert technician, a master, who does work with the other tools it uses. But because of its name, I perceive it more as an agent working for the state that we see in movies.
These days, as software developers, there is a future we are trying to build, and right now, everyone is progressing by building and destroying many things. Every day a new model and technology comes out, and we jump from one to another; if we don't do this, we'll fall behind... this is really a very painful process.
I want to talk about a standard proposal that I encountered and tried to address its deficiency with my own solutions. As you know, in movies, agents research information, collect evidence, gather documents, and deliver them to the state. While collecting this information, the agent may not know its content. Or they shouldn't know. They receive a closed bag and deliver it. They don't know the content. Or their task may be to deliver a cargo to a place.
Many agent frameworks in the market we are currently working on do not have this feature I mentioned. Although this can be partially simulated with the content_and_artifact feature on LangGraph, which I experienced, it cannot be used fully. That is, the LLM reached the data with a tool call; this data may be too large for the LLM to process or the LLM may not need to see it. In the same way, this is provided with the state mechanism in LangGraph, which I experienced.
But this feature is not available in other agents in the market, and there is really a great need for it. LLMs should know that they are carrying a package, a bag, in the data coming from package sources and tools. They should be able to return this package, or whatever its name is—bag—as a result along with their own interpretation, or carry it to another tool call without seeing its content. Actually, in the initial stages, they don't even need to be aware of the data to be carried right now. LLMs can currently only call tools, that is, functions.
We can also do this with the resources provided by MCP right now. When we return a resource URI from a tool to the LLM, the LLM can call it or have it processed via a tool. But the features I listed above as possible should be the necessary standards for an agent to be an agent, as I said at the beginning of my writing.
An agent must carry a package, a bag. With or without the authority to see inside. In agent literature, in frameworks, I think there should be a standard for a package or bag or cargo, whatever its name is.
I also want to make my final reminder. This repo or a few other different agent frameworks may have data carrying features. I'm not talking about that, as you understand.
So, what do you think about this topic?