07|@Tool 遇上 MCP:标准化工具接口设计
张嘉熙

你好,我是张嘉熙。
前面几讲我们一直在讲 Embabel 如何在“内部”精确运转——领域模型定义世界,GOAP 驱动规划。但 Agent,最终是要和“外部”打交道的:调 API、搜网页、发邮件等等。这就引出了几个核心问题:工具(Tool)怎么设计才能既标准化、可复用又能应对不同的场景?大量工具并存时如何进行治理?
这一讲,我们就来系统拆解 Embabel 的工具体系,用“标准化接口设计”解决工具治理的难题。
工具的本质:LLM 与真实世界的桥梁
在深入 Embabel 的工具机制之前,我们先退一步问一个基本问题:工具到底是什么?
LLM 本质上是一个文本预测模型,它在已知的训练数据和当前上下文中寻找最可能的输出。这让它擅长推理、写作、对话,但也带来一个原生局限:它自身不具备直接感知环境或执行动作的能力(没有眼睛和手)。它不知道今天的天气,不知道你的订单状态,算不出精确的复利,因为它只活在文本里。
而工具就是打破次元壁的关键。
简单地讲:工具就是将文本预测变成现实行动的那个“执行器”。
内部的工具怎么组织:领域工具
在讲外部工具之前,我们先回顾一下前面的课程。之前我们已经讲过,Embabel 中的工具可以直接绑定在领域对象上。我们已经看过 @Tool 注解的使用案例,事实上 @Tool 来自于 Spring AI ,我们更推荐使用 Embabel 的原生注解 @LlmTool 。Embabel 的 @LlmTool 把领域建模和工具暴露合二为一:建模即工具化。你不只是在定义 LLM 可以调用的函数,你是在构建一个完整的业务领域模型,并把其中适合暴露给 AI 的部分通过注解“点亮”。
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Java Agent:从 Demo 到生产级实践》,新⼈⾸单¥59
《Java Agent:从 Demo 到生产级实践》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论