Web 端 Agent 应用架构选型踩坑经验分享 & 寻求意见

最近在开发一个 Web 端的 Agent 应用,目前虽然是基本能用的状态,但是感觉要想达到生产级别,还有很多坑要填,所以想着分享一下架构选型经验,顺便寻求一下佬友们的意见。 项目前端基于 Next.js 框架开发,后端是基于 Java + SpringBoot + AgentScope-Java 开...
Web 端 Agent 应用架构选型踩坑经验分享 & 寻求意见
Web 端 Agent 应用架构选型踩坑经验分享 & 寻求意见

最近在开发一个 Web 端的 Agent 应用,目前虽然是基本能用的状态,但是感觉要想达到生产级别,还有很多坑要填,所以想着分享一下架构选型经验,顺便寻求一下佬友们的意见。

项目前端基于 Next.js 框架开发,后端是基于 Java + SpringBoot + AgentScope-Java 开发。

刚开始求快,所以没有在架构选型方面考虑特别多。但是目前感觉受到了这套架构的限制。目前我感觉到的坑点:
前端:

  1. 由于我是前后端分离项目,Next.js 仅仅用来当做前端,不需要它的全栈能力,现在我意识到我的 Agent 应用项目更适合 SPA 单页应用架构。虽然 Next.js 也可以用来写 SPA,但是毕竟 Next.js 不是专门为 SPA 设计的,所以用 AI Coding 的时候有时候 AI 可能会做一些不仅限于 SPA 的事情。另外,Next.js 当做 SPA 使用的时候,要导出静态文件,也会有很多和框架有关的问题需要考虑,这又带来了额外的心智负担。
  2. 部署问题。理想情况下应该可以静态部署,如果不行的话,就需要考虑前端单独部署服务。那将来万一用户多了,不仅后端需要横向扩展,前端也需要横向扩展,运维成本也更大。

后端:
后端选择 Java,是因为我有几年 Java 开发经验,对 Java 更加熟悉一些,而且相对来说,Java 相比 TypeScipt 或者 Python 等后端的性能会更好一些,以及 Spring 生态更加成熟。

后端目前感觉到的坑点:

  1. 之前为了求快,所以想找一个自带 Agent Loop 和 ReAct 范式的 Agent 框架,多方简单对比之后选择了 AgentScope-Java,其实用到现在也没有特别大的问题。但是有两个问题让我有替换掉这个框架的想法。
    (1)这个框架目前还不支持 Responses API,内部用的还是 Chat Completions API。现在很多新特性都是 Responses API 中才有,所以如果框架一直迟迟不适配,那么相当于我们的产品就被框架绑架了而无法享受最新特性。
    (2)类似的问题,目前很多 API 的工具调用,支持传 strict 参数开启严格模式,从而让大模型返回工具调用的时候,就预先检查一下,避免出现工具调用参数传错的情况。我在测试的时候就发现参数比较复杂的情况下,大模型把工具调用参数传错的可能性还是很大的。所以如果支持 strict 模式可以很好地优化工具调用的成功率。

如果让我现在重新选择一次架构,我会考虑前端使用 React Router 或者 TanStack Router,后端自己实现 Agent Loop,从而使用到最新的 Responses API 以及 strict mode 参数等新特性。

以上是个人经验分享,如果有错误的地方欢迎佬友们指正,欢迎讨论。

1 个帖子 - 1 位参与者

阅读完整话题

来源: linux.do查看原文