🔧 Java 业务工具
# 添加 Java 业务工具
为方法添加 @Tool,然后在 Agent 组件中注册。下面的示例返回固定数据,实际使用时替换为业务查询:
import io.agentscope.core.tool.Tool;
import io.agentscope.core.tool.ToolParam;
import org.springframework.stereotype.Component;
@Component
public class OrderTools {
@Tool(name = "query_order", description = "根据订单号查询订单状态")
public String queryOrder(
@ToolParam(name = "orderId", description = "订单号") String orderId) {
return "订单 " + orderId + " 已发货";
}
}
在 ChatAgentCmp 中注入并注册:
@org.springframework.beans.factory.annotation.Autowired
private OrderTools orderTools;
@Override
protected java.util.List<Object> tools() {
return java.util.List.of(orderTools);
}
输入“查询订单 A1001”后,模型可按需调用 query_order。工具对象可以注入订单服务等 Spring Bean;业务参数校验和订单访问权限应在工具或业务服务中处理。
当前工具串行执行。toolkit.parallel=true 在当前实现中不会启用并行;单次工具执行超时、重试等设置见扩展点速查。
# 工具应该负责什么
工具名和参数说明帮助模型选择工具,工具实现负责调用实际业务服务。查询订单时校验访问权限,退款等有副作用的操作需要在业务服务中实现幂等。
帮助我们改善此文档 (opens new window)
上次更新: 2026/09/20, 11:49:27



