-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Questions from dev.to article (MCP alternative) #89
Comments
Good point. The blog post is an experiment to find out what topics to write about before the homepage is completed. Therefore, although MCP was designed with the assumption that it can be used in addition to Anthropic Claude, it is actually only used in Claude, so I used somewhat exaggerated expressions. I faced similar criticism on Reddit, and on the other hand, there was a response that it is not actually used in anything other than Claude. However, it is necessary to reconsider the appropriate promotional phrase that will not face excessive criticism while riding on the popularity of MCP. Below are a few more exaggerated phrases that I am considering with similar arguments.
|
And you mentioned the accuracy of tool calling. That's a good point. After opening a homepage, we should not say that it fails 70% empirically, but we should say it with specific experimental figures. Among the figures we currently have, there is a DTO schema with a 0% success rate in the first attempt that fails unconditionally even when bringing in gpt-4o-mini as well as gpt-4o ( This is the use case for creating products in a shopping mall, and it succeeds immediately after going through validation feedback once or twice.
Retry count
- 1: success without validation feedback
- 2: success after one validation feedback
[
2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2,
2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 3, 2, 2, 2, 2, 2, 2, 2, 3, 2, 3,
2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2,
2, 2, 2, 2, 3, 2, 3, 2, 3, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 3, 2, 3, 2, 2,
2, 2, 2, 2
] |
And I think the strengths of agentica and typia/nestia over other means such as zod are "purity" and "mass production". Zod can write a schema directly with one or two structured outputs, but it cannot deliver the entire TypeScript class like agentica. In addition, zod has a fatal bug that makes the IDE unusable due to excessive TypeScript generic type operations when the number of input functions increases and the schema becomes complex. And in an environment where hundreds of APIs are mass-produced, such as a backend server, the most efficient way is to use the OpenAPI itself as it is. Zod has no power here. In any case, I find the greatest advantage of Agentica in that it can be made into an AI chatbot without much effort while maintaining the existing TypeScript class implementation and backend server implementation. |
And although I used the wording of MCP replacement as part of a social experiment to get Agentica noticed, as you know, it is not the right expression. MCP is still unable to use the backend ecosystem as it is and needs additional development, or the ecosystem is poor and not productive, but on the contrary, they are famous. Our Agentica can use the existing ecosystem as it is, but on the contrary, it is not famous. Therefore, in the long term, we should support MCP, and we should also support MCP in nestia so that MCP servers can be created as they are in the existing NestJS ecosystem, and we should integrate with them. |
If Swagger had been properly written, many LLM providers would not have needed to define their own protocols or schemas for function calling. Instead, they would have focused on making it possible to simply plug in a Swagger document. However, that was not the case, and these companies ended up establishing their own protocols.
I believe the MCP protocol was introduced as an alternative solution to this problem. As you know, the number of servers following the MCP protocol is increasing, but I still don’t find this approach to be particularly elegant. The reason developers don't properly document their code is that documentation is a tedious and undesirable task. I think the reason the MCP protocol is gaining traction is not necessarily because it makes documentation easier In the end, this hasn’t made documentation more universal; However, as you know, we have utilized Typia and ensured stability through the TypeScript compiler. I believe our advantage is not just about type safety but also about productivity and cost-efficiency. This is a clear advantage in terms of accessibility and ease of development. |
Additionally, I feel that the solution we have implemented is closer to a more fundamental programming approach. Many of them claim to be building general-purpose agents (as do we), We cannot define an agent as something that is simply good at everything.
This would require an overwhelming amount of prompts. Therefore, I believe that a universal approach should follow principles similar to those in TDD (Test-Driven Development):
Even if the value of AI lies in its ability to handle uncertainty, |
Therefore, our approach is that even when we write prompts, we write them within functions (tools). |
You have written a lot of things, but they are all very long. In dev.to and in this thread, you have mentioned the following characteristics
But if you can't say in one sentence what you are essentially trying to solve as a claim, then you can't claim novelty. |
How about productivity or efficiency? |
Supplementary information.
It can be expressed in a few words, such as ‘yes or no’, and it seems to be settled by yes or no. This is not talking about a genre of research. For example.
etc. is not a CLAIM. |
There was a lot I wanted to say, so the explanation was long. I think it's a validation of parameters. |
CLAIM is a hypothesis-testable one-line statement. |
I believe that this difference explains why developers use compiled languages. Why did people transition from JavaScript to TypeScript? Why do developers of Python, a famous interpreted language, seek linters and type checking? The answer to all these questions starts with the idea that developers might just be monkeys. For this reason, I believe typia is better than zod and provides a better developer experience (DX) in terms of typing. With zod, even when an object already exists, you need to create a new schema to validate it. Developers experienced in modular programming understand the importance of reuse. That’s why I believe typia is the superior choice. My claim is: Because of this, it needs to be simple and straightforward. To enable creation in just a few lines, it must be declarative. I don’t know how others may view this, but this is my perspective, and it’s the mindset I bring to development. |
Thanks @sunrabbit123 . I'll reply
Agree, that's why we need type-safe languages.
‘Typing can ensure the safety and quality of the code’ Both are validation libraries to ensure type-safe. I understand that typia's DX is better than zod, but we need to separate that discussion.
This seems like a not a bad claim, but I consider this to be of no substance. This statement describes the characteristics of AGENTICA and does not represent the core idea. I would like you to read the definition of CLAIM again. I also have some thoughts on the statement itself, which I will write down
A new description of function calling should have to be written. Not entirely zero.
This is exactly what can be achieved with zod + vercel ai sdk, so this would be a weak feature. There is no difference between writing a type definition once and writing a zod definition once because there is not that much use of function call definitions in multiple places. It sounds harsh, but if you don't have a well-defined CLAIM, your thesis, product and presentation will be off-axis. |
I have a vague idea of the answer in my own way. Nevertheless, I would like to know how you have understood and worked with agentica over the past few months. |
I guess I wasn't used to "claiming". I'm constantly thinking about it, so please understand if the answer is slow.
How about this? |
The statement does capture a value proposition, but it’s more of a marketing assertion than a falsifiable claim. It says that a compiler-based Agent "automates API validation for greater consistency, productivity, and efficiency, making it a superior choice," but it doesn’t specify measurable criteria to test those benefits. In an academic context, a claim should be a concise, testable hypothesis—something you can empirically verify or refute. If you want to mention about performance or DX, instead of saying it's "a superior choice," you might aim for a claim like: "A compiler-based Agent reduces API validation errors by X% compared to manual validation methods, leading to measurable improvements in development consistency and efficiency." This version provides a clear benchmark and outcome that can be tested. The original statement is a good starting point for discussion, but it needs refinement to meet the standards of a falsifiable academic claim. |
My answer for the question "what is the claim of Agentica" is Well-documented type declarations form a schema for function calling. This statement captures the core idea behind Agentica. All the various features we've discussed—improved DX, lower costs, enhanced parameter extraction accuracy—are interesting implementation details and methods. However, these are just means to an end, not the fundamental claim. In essence, the power of our approach lies not in the additional functionalities, but in the idea that proper type declarations can automatically generate function calling schemas, simplifying and unifying the process. This core insight distinguishes our work from simply integrating with existing tools, and it is what should be the focus of our claim. |
The benefits like lower costs or serving as an MCP alternative naturally follow from this central concept, but they do not define the core innovation. I am against blurring the axis and hype. In addition, if you want to prove that DX can be more efficient, you should include specific figures, graphs or codes in your text. |
Yes, I agree and understand
I think so too, but I don't think I've thought deeply about the product. This situation seems fortunate |
Until I was trained in academia, I tended to be conscious of processes, methods and implementation, and often worked without being clear about what the issue was or what the goal was. This led to an increase in rework, which was inefficient. I want people to think things through before they start work in order to gain sufficient competitiveness. Now, Well-documented type declarations form a schema for function calling. is a claim that works, you can build a claim based on this. And you can eliminate superfluous claims. For example, I haven't received an answer yet,
Such a comparison would not have emerged if the claim had been established. |
I respect the development skills of wrtnlab, but we need to talk about these things. |
Going a little further, it would be good to deepen the discussion on why schema driven development is better before Agentica.
etc. This also needs to be established as an AgentOS-wide philosophy. |
Same as https://github.com/wrtnlabs/autoview/ |
Thank you so much. I think it's a relief to be able to talk about this.
Separation of Concerns: Isolating schema definitions from business logic allows teams to update implementations without affecting the interface, thereby enhancing maintainability. |
When integration is schema-based, it is more likely to be compatible across different programming languages. |
It is advantageous for maintenance because it enables integration into a new codebase through schema without modifying well-functioning existing code. |
Thank you for the in-depth discussion on Agentica's advantages—especially in terms of type safety and developer productivity—the differences from alternatives like MCP, and how to clearly articulate the product’s core value! I've gained a lot of information from your insights! Due to the extensive discussions, I personally organized a comparison focusing on Zod’s schema-based approach versus Agentica’s compiler-based type reuse paradigm to better understand these deep insights.
Additionally, I learned a great deal from the process of clarifying the claim and defining the objective as @ryoppippi mentioned. Even if I may not be able to contribute directly, I wanted to leave a note expressing my gratitude for all this knowledge. (I'm not very good at English, so I borrowed the power of GPT to write this. Please kindly overlook any slight mistranslations.) |
@luke0408 Thank you, Luke! This is a helpful matrix. I didn't get it why we compare Agentica with MCP btw.... I feel that the article could be misleading, and it might be better to reconsider its publication. |
This is the story I wrote above, but I wrote the article MCP alternative to ride the wave of MCP fame. I have no intention of actually opposing MCP, and I do not want the library to go in that direction. |
@luke0408 Thank you for your interest in our library. |
Before discussing the comparison with MCP, I reflected on how Agentica's underlying technologies support the claim "Well-documented type declarations form a schema for function calling." Here’s my thought process: Q. How can well-documented type declarations form a schema for function calling?
Q. But Swagger is not an actual type; it's documentation. Can documentation serve as a type?
In summary, Agentica can implement the claim "Well-documented type declarations form a schema for function calling" because API documentation, being standardizable into a specific pattern, can be written as types. These types then act as powerful validators. Returning to the latest discussions with @ryoppippi and @samchon, I believe that by examining the rationale behind the paradigm proposed by MCP and explaining the "difference in direction," we can clarify the justification for Agentica's approach. This isn’t about proving one side right or wrong—it’s about establishing a solid narrative for what Agentica aims to achieve. |
So is there any reproduction code ? I can see the json schema, but I cannot see the actual code you tried with gpt-4 models. I'm asking a lot of questions here, I'm not trying to undermine your work. Your work deserves respect. We need to examine what we want to solve with this project, how we have solved it and whether it really works better than the existing ones. Reproducibility is necessary for that. Therefore, we would like to know if there is any code that you have actually tried. Currently, the schema and text are there, but the prompts, for example, do not exist. |
I'm sure that a lot of time and effort has gone into this work. However, effectiveness needs to be well demonstrated. |
You can reproduce it in Ref: #83 (comment) However, if you need reproduction code at the Typia level, you must write the code using Typia and the Shopping SDK. |
First of all It was a pleasure reading your whole discussion, @samchon amazing work, @ryoppippi amazing points. Unfortunately this claim is still not there, I was able to run and play with the existing connectors developed by your team at @wrtnlabs but I couldn't get a good experience with plugging-in external OpenAPI docs, usually fails around authorization. So it still not a plug-and-play experience, but feel like the project is not too far form that, and if it works, I think that's a huge news for the world. Would love to be kept in the loop or maybe even join forces here ✊ |
Hi! @danpe ! Thank you for your comment! This would cheer the contributors up!!! If you have any trouble with some OpenAPI, could you provide a reproduction repository? It helps to solve the bug!!! |
Sorry for bad experience, but thanks for ealier adoption @danpe If failed to authorization, it is because |
@samchon That makes much more sense now, looking at the example though I think it misses and if I understand correctly, implementing a new "Swagger Agent" would just require importing that agent + writing a custom function for the authorization? Here's my current temp code that I was hoping would support any given swagger (but I see custom auth need to be written for each):
|
@danpe correct, and you can pre-experience the swagger chatbot from here By the way, as our framework is not v1 yet and the playground has not optimized by selector plugin (not completed yet) feature, if your Swagger file is huge, LLM tokne consumption can be larger than expected, so use below only for demonstration please. |
@wrtnlabs/laboratory we need to describe the Authorization part clearly in the document |
Question from @ryoppippi after reading https://dev.to/samchon/i-made-mcp-model-context-protocol-alternative-solution-for-openai-and-all-other-llms-that-is-i7f
Hey, I read your blog post and found it really interesting, but I have a few questions and points I’d like to discuss:
From your architecture diagram, it seems Agentica is primarily a library—a wrapper for APIs like OpenAI and Gemini combined with typia to smooth out protocol differences. Since Agentica is a library (not a protocol) and MCP is designed as a general-purpose protocol (supporting multiple languages, tools, and even future support for Gemini/llama), isn’t comparing the two a bit like comparing apples to oranges? How do you think they should be compared, and on what criteria?
When comparing Agentica to other popular libraries like vercel-ai (which is also a library), what are the specific advantages of Agentica? Could you share concrete use cases or examples where Agentica clearly outperforms these alternatives?
Your post claims that using Agentica with a local LLM is cheaper than using MCP with Claude. However, couldn’t a combination of goose and MCP also enable local LLM usage, potentially achieving similar cost savings? What makes Agentica’s approach cost-wise a clear win?
You mentioned that “gpt-4o-mini (of 8b parameters) is taking about 70% of type level mistakes.” In my experience, I haven’t seen such a high error rate when using structured output. Do you have specific experimental data, evaluation metrics, or additional evidence that support this claim?
Lastly, while you highlight typia’s ability to auto-generate logic and Swagger documentation from TypeScript types—improving error detection and safety—many developers already use tools like vercel-ai, zod, and zod-to-json-schema. Could you elaborate on what makes typia’s benefits (e.g., improved safety or more accurate error detection) more compelling compared to these existing solutions?
Overall, I’m trying to understand the specific comparative advantages of Agentica. Is it the improved developer experience (DX), greater versatility, or cost efficiency? Given that options like MCP or vercel-ai + zod remain robust alternatives, what exactly sets Agentica apart?
I am going to bed now, so please understand that my reply will be late. Sorry.
Looking forward to your insights on these points!
The text was updated successfully, but these errors were encountered: