Coze Loop 是字节开源的一个 AI Agent 平台级方案,定位是覆盖 Agent 从开发、调试、评测到监控的全生命周期。它和市面上单纯"评测"或单纯"可观测"的工具不同,是把 prompt 开发、评测、可观测三块拼在了一个开源项目里,用 Go 写,Apache 2.0。这篇拆它的结构,重点讲哪些点值得自建 Agent 平台的人借鉴。
解决什么问题
判断写进第一句:Agent 开发最缺的不是又一个编排框架,而是"改完怎么知道变好没变坏"的闭环,Coze Loop 开源版就是把这个闭环的基础模块放出来。
它基于商业版,开源了核心基础功能模块,开发者可以按业务需要二次开发和扩展。三大模块分别对应三件事:prompt 开发,提供端到端的编写、调试、优化、版本管理,用一个可视化 Playground 实时交互测试,直观对比不同 LLM 的输出;评测,提供系统化的评测能力,对 prompt 和 Coze agent 的输出做自动化多维度测试,比如准确性、简洁性、合规性;可观测,完整记录从用户输入到 AI 输出的每一阶段——prompt 解析、模型调用、工具执行——并自动捕获中间结果和异常。
一句话概括:它把 Agent 开发里的"写 prompt、跑评测、看 trace"串成了一个闭环,这正是很多自建平台东拼西凑都拼不齐的地方。
模型接入与架构
模型层通过字节的 Eino 框架接入,支持 OpenAI、火山方舟(Volcengine Ark)等模型。这对国内开发者尤其友好——火山方舟是不少国内 Agent 团队的主力模型来源。
部署有两条路:Docker Compose 快速起一个开发版,或者 Helm Chart 上 K8s。默认开发模式允许后端文件修改后不重启服务,方便二次开发。快速部署的命令很直接:
git clone https://github.com/coze-dev/coze-loop.git
cd coze-loop
make compose-up
起来后浏览器访问 http://localhost:8082 就是开源版界面。上生产或公网前,官方明确提示要评估安全风险——账号注册、Coze Server 监听地址、SSRF、部分 API 的水平越权,公网部署务必加防护。
trace 怎么报
可观测是 Coze Loop 最值得借鉴的一块。它提供 Go、Python、Node.js 三种语言的 SDK,通过统一 API 上报 trace,支持 PAT(Personal Access Token)鉴权,并且集成了 Eino 和 LangChain。对开源版,初始化时只要改三个配置:APIBaseURL(你部署的后端地址)、WorkspaceId、APIToken。
import os
import cozeloop
os.environ["COZELOOP_WORKSPACE_ID"] = "ws-xxxx"
os.environ["COZELOOP_API_TOKEN"] = "pat-xxxx"
os.environ["COZELOOP_API_BASE_URL"] = "http://localhost:8888/"
client = cozeloop.new_client()
span = client.start_span("rag_query", "custom")
span.finish()
# 程序退出前必须 close,否则 trace 会上报丢失
cozeloop.close()
这段揭示了它的核心抽象:trace 就是 span 的集合,start_span 开一段、finish 收尾,和 OpenTelemetry 的思路一致。值得注意的坑在最后一行——close 不调,trace 会丢,这是 SDK 文档里反复强调的。
一个 span 里可以嵌套更细的步骤,把"用户输入 → prompt 解析 → 模型调用 → 工具执行"每段都标出来,排障时就能定位到是提示词的问题、还是工具的问题。对 Agent 这种链路长、中间步骤多的系统,这种分段 trace 比只看最终输出有用得多。
可复用的点
自建 Agent 平台的人,可以从它身上抄三样东西,而不是把整个项目搬过来。
一是"prompt 版本 + 评测集"的组织方式。把 prompt 当版本管理对象、把评测集当回归基准,改一版跑一遍,这是 Agent 质量能持续提升的前提。二是 trace 的分段上报模型。span 嵌套、按阶段打点、退出前 flush,这套抽象放哪都成立。三是它把"评测"和"可观测"并在一起——评测看的是"任务完成后对不对",trace 看的是"过程中哪步出错",两个视角合起来才能回答"为什么不对"。
局限
要清醒的地方也有。开源版是"核心基础功能模块",商业版的完整能力并不全在里面,别指望开箱即得和商业版一样的体验。模型接入依赖 Eino 框架,虽然支持主流模型,但深度绑定字节生态,想接自研模型或冷门 provider 需要自己适配。Go 技术栈(要求 Go >= 1.24)对团队有要求,想深度二开得有人能读 Go。
一句话收尾:如果你缺的是一个能跑起来的 Agent 评测 + trace 基座、且愿意在字节的技术栈里做二次开发,Coze Loop 是眼下开源里集成度最高的一档;如果你只要单个评测工具或单个 trace 工具,它反而偏重,不如选更轻的专项方案。