Java Agent:从 Demo 到生产级实践
15
15
1.0x
00:00/00:00
登录|注册

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
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部