Tech
[程序员] 两周前我把 OpenAI 的 Agent SDK 移植成了 Go,两周后我让它"叛变"了
两周前我在这里发过 v0.1.0 ( https://www.v2ex.com/t/1223216 ),当时的介绍是"OpenAI Agents SDK 的忠实 Go 移植"。先还个愿:3 楼建议、我在 4 楼答应的"把野路子裸 JSX 换成正经构建",干完了——现在是 Vite + React + TS ,产物照旧 embed 进单二进制,部署还是一个文件。
然后说这两周发生的事。一句话版本:我停止了对 Python 上游的忠实,151 个提交之后,v0.2.0 不再是移植品。
"忠实"是怎么变成陷阱的
移植做到后面,越来越多地方是在用 Go 模仿 Python 的形状:Python 用生命周期钩子,我就造一套钩子接口; Python 的 run 靠异步任务,我就开后台协程加 channel 。能跑,但每一处都别扭——你得记得 cancel context ,得担心协程泄漏,得在文档里解释"这里为什么长得不像 Go"。
压垮我的最后一根稻草是流式接口。Go 1.23 有了 range-over-func ,我试着把整个 run 循环塞进迭代器里:range 就...
Read the full discussion on V2EX
This article was aggregated from V2EX. Click to join the conversation.
View on V2EX