ARTICLE · 1182304
你的业务系统也该有个 AI 助手,不重造轮子,我是这么接的
你的业务系统也该有个 AI 助手,不重造轮子,我是这么接的不知道做开发的同学有没有关注到一个现象,就是现在越来越多的应用已经接入了AI助手,像支付宝、顺丰小程序等等,那你是否有想过为你公司的应用,或者是业务系统也接入AI助手这样的功能呢? 我猜大概率你想过,只是不知道从哪儿做起罢了。 我想做,但是我又不希望从0开始,过程太漫长,不想重复造轮子,我希望能够快速实现我的想法,能够让我所负责的业务系统能有类似的AI助手功能,提高业务效率。所以我今天就带着这样的目的,我去github上搜索,果不其然,还真让我找到了,分享出来,名字就是:AI SDK。 官方是这么介绍的: 说实在的,我写这篇文章的目的,压根不想花太多的内容篇幅去介绍AI SDK有什么,有哪些组件,官方有非常详细的介绍,我不想浪费时间多此一举。我只想用最少的篇幅去完成我使用了AI SDK后如何接入业务系统。 在这里,我把对AI SDK的如何使用分成了三层,首先从全局把握一下: 
我翻译一下就是:
服务端的典型接口包括generateText和streamText,结构化输出可以通过 Schema 定义数据格式;前端则提供 useChat 等工具管理交互状态。 那可能有同学会问了,我使用了AI SDK到底能够解决什么痛点问题呢? 这里我想,需要区分开发者的痛点和业务用户的痛点。 AI SDK 解决的是开发层面的重复工作:
开发团队把这些能力真正应用到业务系统,那么业务用户才会获得实实在在的好处,比如:业务关键用户需要查询工单编号为GD20261014001的工单的状态,目前卡在了哪一步?业务用户只需要自然语言描述而不需要忙着查工单,查物流,查库存等等繁琐操作。 最后的问题:AI SDK 和业务系统具体如何打通,如何协作? 我目前思考的设计方式是:在现在的业务系统旁增加一个 AI 服务层,复用已有业务接口。架构是这样的: 
具体操作是这样的: 真正打通两者的地方,就是 execute 中对业务 API 的调用。 非常重要的一步:把身份和权限贯穿整个调用,因为模型调用了getOrder,不代表它有权查看任意工单。 最后,我做了一个模拟的案例,效果如下所示: 
当然目前我也在努力探索中,不当之处还需批评指正,互相学习。
AI SDK地址:
https://github.com/vercel/ai
AI SDK 是 Vercel 开源的 TypeScript AI 应用开发工具包,面向开发者,帮助开发者构建 AI 应用和 Agent。它支持多家模型提供商,以及 React、Vue、Svelte、Next.js、Node.js 等技术环境。


根据我现在使用的业务系统所使用的语言为.NET,那么我增加独立的 AI 服务,通过 HTTP 等方式调用原后端 把业务能力封装成工具,形如刚才讲述的例子,提供查询工单API,查询物流API等。代码形如这样:
import { tool } from 'ai';import { z } from 'zod';// businessApi 业务 API 客户端// session 来自服务端验证过的登录会话functioncreateOrderTools(session, businessApi) {return {getOrder: tool({description: '根据工单编号查询工单信息',inputSchema: z.object({orderId: z.string(),}),execute: async ({ orderId }) => {return businessApi.getOrder({orderId,authContext: session,});},}),};}
















































































