想问大佬们一些 go+ Python (langgraph agent) 的一些开发问题
JimLee0921: RT ,新进的这家公司想把之前用 fastapi 写的一套后端用微服务把网关什么的迁移到 go 上,通过 rpc 调用 py 的 agent 微服务,然后通信上司让我看那个 NATS ,但是我还是有一些问题,希望大佬们解答一下给一些建议
1. 因为 python 里面的 agent 调用涉及那种 SSE 流传输什么的,go 和 python 怎么通信比较好呢?
2. 数据的保存,如果是那种不涉及 agent 调用的接口好弄一些,直接在 go 里面做 CURD 就行了,但是有些接口是 agent 生成完数据再保存到数据库并且还要返回给用户某些东西的,这种是在哪些层面保存,agent 又应该如何返回呢?
3. 因为感觉难的大头是在 agent 和 go 之间的通信,不敢让 ai 一把梭,但是上司用 AI 生成的方案看着又很不靠谱。。。
大家有啥相关经验或者意见可以分享一下嘛?
---
原文链接:[点击查看](https://www.v2ex.com/t/1227630)
1. 因为 python 里面的 agent 调用涉及那种 SSE 流传输什么的,go 和 python 怎么通信比较好呢?
2. 数据的保存,如果是那种不涉及 agent 调用的接口好弄一些,直接在 go 里面做 CURD 就行了,但是有些接口是 agent 生成完数据再保存到数据库并且还要返回给用户某些东西的,这种是在哪些层面保存,agent 又应该如何返回呢?
3. 因为感觉难的大头是在 agent 和 go 之间的通信,不敢让 ai 一把梭,但是上司用 AI 生成的方案看着又很不靠谱。。。
大家有啥相关经验或者意见可以分享一下嘛?
---
原文链接:[点击查看](https://www.v2ex.com/t/1227630)
1. LLM 返回的流数据完全可以丢给 NATS 或者其他消息队列,然后再转成 SSE 返回给前端。
2. Agent 生成的那一大坨东西不建议直接塞数据库,最好考虑传到 S3 这种对象存储里。
3. 看完你的描述没搞懂你们这层 Go 到底要干嘛,如果系统职责边界划不清,强行对接搞到最后只会变成屎山。
· 0 个赞
1. 用户的请求先打到 API 服务上,把 session、message、模型配置等前置数据准备好并存进 DB,直接给前端返回“创建成功”。
2. Python 那边就当个纯跑 Agent 的异步后台,靠消息队列触发就行,RPC 感觉有点丑陋不太建议。
3. Python Agent 拿到任务后,专门去维护和 LLM 供应商的数据流,处理各种 tool call 和本地数据操作。
4. 需要返回给用户的内容,Python 端把约定好的 SSE chunk 塞进对应 message 的 Redis Stream 里,顺便做下生命周期管理防止吃内存。
5. 前端再通过 API 服务起一个 SSE 连接,从 Redis 里把 chunk 拿出来吐给前端展示。
· 0 个赞