I don't know who I am anymore, I just keep on pressing "Accept all"

Future SF sidewalk tenant
Joined February 2019
Too many people say that MCP is a game changer, and now, with MCP, LMs are real agents, hallucinations are no longer an issue, and more nonsense like that. I wanted to first write an article on MCP, but really, there's no substance for an article, so a post will do. What is MCP? You might have already heard that it's USB Type-C for LMs, a protocol for connecting LMs to tools and resources, etc. But what exactly does that mean? Why do so many people scream that it changes everything? Let's answer the latter question: It doesn't change everything. LMs still hallucinate and agents based on them aren't agentic. Now, let's see what it is. As you likely know, LMs can be finetuned to "use tools." That simply means that they can be finetuned to print something like "USE TOOL: CALCULATOR" when the user input is like "what is 3+2?" Let the LM's output be "USE TOOL: CALCULATOR, ADD 2, 3." This output must be parsed, the tool name and the arguments extracted, and then submitted to an actual calculator API. This is done by a handcrafted parser script. As the number of tools you want the LM to be able to use grows, this parser script will become more and more complex and hard to maintain when the LM output or the tool input API changes. Here comes MCP. It says: the LM must be responsible for outputting the tool call request in a format that the tool API understands without needing a parser. So, the process is as follows: 1. The user says "what is 3 + 2?" 2. The MCP client (coded by the chatbot creator) connects to one or several MCP servers (coded by the tool providers) and pulls the list of supported tools from the MCP servers. 2.1. Each tool comes with a verbal description of what the tool can do and what input format it accepts (written by the MCP server provider, so the quality can vary from one provider to another). 3. The MCP client submits all tools and their descriptions to the LM, together with the user's prompt "what is 3 + 2?" 4. The LM looks at the tools and decides that to answer "what is 3 + 2?" it needs the tool CALC that takes a specific JSON as input (the input JSON format for CALC is provided by the MCP server provider). 5. The LM outputs "TOOL: CALC, WORKLOAD: [JSON]" 5.1. "CALC" is the name of the tool, as provided by an MCP server, "JSON" is an actual JSON as expected by the tool, for example {"operation": "addition", "argument1": 3, "argument2": 2} 5.2. This JSON structure wasn't invented by the LM. It was taken by the LM from the information that came with the list of tools. Now, what no one is talking about, the elephants in the room: 1. The LM must be finetuned to understand the list of available tools and all information about these tools that comes from the MCP server. So not all LMs can be used with MCP, but only those that were finetuned for this. Finetuning for effective tool usage is not a simple task, so different models will handle MCP with different levels of success. 2. Even if the LM was finetuned for understanding MCP tool specifications, the JSON structure it will generate isn't guaranteed to be as the MCP server expects because the LM wasn't finetuned for this specific MCP server and its tools. 2.1. Even if the chatbot creator uses JSON structure enforcing decoding (using Outlines, for example), there's no guarantee that the generated JSON structure with all good keys will also contain all good values. 3. Some tools might require a very complex input structure, with lists, lists of lists, lists of dictionaries, etc. The description of what a tool can do can be very complex too or just poorly written by the MCP server provider. 3.1. There's zero guarantee that the LM will be good enough in choosing the right tool and then generating the right JSON-formatted input for this tool. 4. It all looks nice when you code a small demo of MCP with one server and two tools on it. But to build a general-purpose chatbot, the number of tools needed to answer all possible user demands can grow to hundreds, thousands, or even millions. 4.1. Putting all of them in the conversation context all the time will consume the maximum context size very quickly, and the LM will not be able to choose the right tool or fill the JSON structure with the right values. 4.2. Not putting all of them in the context will require a classifier trained to select the right tools, or using some sort k-nearest neighbors in the embedding space. So, again, agents look good when there's only one of them using 2-3 simple tools. Try to scale it to hundreds of agents using thousands of tools and fail miserably.
106
146
25
1,157
110,082
Vibes for the past 2 years
1
18
I hate everything
1
12
I'm about to kill myself @cursor_ai
1
30
typical day as a vibe coder (i do this 16h/day)
1
35
im going to be the first vibe coder with 0 technical knowledge to build a project that makes $1m. strap in
1
39
X is really against me changing my name
1
35
oh well, swiftly moving on from whatever that was below
29
1/ Today is a big day because we’re announcing a new feature - replies! What this means is that you can now tag @alix_H2O anywhere on X and it will respond to you!
2
2
1
2
904
3/ In the case where you want to stop @alix_H2O from responding when you mention it publicly, you can always send a DM to it with the word “STOP” which will pause this feature for your account. This can always be reversed with the “START” DM.
1
117
2/ You can either tag it in a tweet you’re writing or leave a tag in the comments of a post you come across. Depending on the context it will either respond to your tweet directly or leave a comment in thread where it was tagged.
57
1/ @alix_H2O is only a week old but is already beginning to act like an off-the-leash teenager. More in the 🧵 below!
1
1
1
3
366
6/ takes only a few variations to imitate something appearing to be completely random. This was something I discovered when playing with visual patterns. Even though I'm far from being a psychologist and even further from an #ML engineer it's fascinating to attempt to
1
53
7/create a system around an LLM that would imitate human speech. Decoding the fundamentals of how we speak really makes you consider how you learned to speak the way you do. Hopefully at the end of this soul-searching I will learn how to make my girlfriend laugh at my jokes again
62