Files
yawan-workbench/docs/coze-studio-借鉴分析.md
T

53 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Coze Studio 借鉴分析 → 私域Agent 落地清单
分析对象:github.com/coze-dev/coze-studio(字节跳动开源 AI Agent 开发平台,21.5k star,Apache-2.0)
技术栈:Go 后端(DDD 微服务 + Eino 运行时)+ React18/TS 前端(Rush monorepo + FlowGram 画布引擎)
## 一、值得借鉴的 6 个设计(按投入产出排序)
### 1. 工作流画布:节点注册表 + 表单元数据 ⭐ 最值得抄
Coze:每种节点类型一个"注册表"(type 唯一、与后端约定 schema)+ "表单元数据"(FormMeta),
画布上的节点卡只显示关键信息摘要,点击后在**侧边抽屉**里出完整配置表单;支持动态端口
(如意图识别节点按分支数动态生成输出口)。
→ 我们已有 @xyflow/react 画布。落地:
- CanvasPage 抽 `nodeRegistry.ts`:每种 Agent 角色(生产/质检/主控/组合)一份 FormMeta,
节点卡只显示「名称+标签+启停」,配置全部进右侧检查器(对齐已完成的"属性检查器"规划)
- 节点 schema 与后端 canvas_snapshot 字段一一对应(现在已是 {node_id, agent_id, enabled, x, y},加 role 即可)
### 2. 节点/工作流「试运行」(Test Run)
Coze:每个节点支持单节点调试,试运行结果条直接显示在节点卡下方。
→ 我们已有 run-step 逐段生成。落地:画布页加「▶ 试运行此节点」按钮——
选中单个 Agent 节点,用一段测试导图文本走一次该 Agent 的生成,结果展示在节点卡下(复用 SSE 进度)。
### 3. 知识库:分段策略可配置 + 命中测试分 tab
Coze:知识库建库时可选分段方式(自动/自定义分隔符/最大长度),且"命中测试"是一级入口。
→ 我们的 KB 检索测试已在详情页签里 ✓。补:建库弹窗加"分段设置"(当前固定 2200 字聚合,
放开为:自动/自定义长度/按标题切),后端 chunk.chunk_texts 已支持 target 参数,只差暴露。
### 4. 发布流:草稿 ↔ 发布版本分离
Coze:Agent/工作流有"草稿"与"发布"两态,发布时冻结配置快照,回滚=切回历史发布版本。
→ 我们有 canvas_snapshot 和 prompt_template_version 雏形。落地:Agent 加「发布」按钮,
发布时把当前配置写进 agent.runtime_snapshot 冻结;任务生成优先用快照(已有此逻辑),未发布的改动不影响在跑任务。
### 5. Chat SDK / OpenAPI
Coze:提供对话 OpenAPI 和可嵌入的 Chat SDK。
→ 远期:给吴总团队做移动端轻入口或小程序时再考虑;当前 SaaS 页面已够用。
### 6. 功能开关(Feature Flags)
Coze:bot-flags 统一管理功能灰度。
→ 我们的 qc_mode 已是任务级开关。可以再收一个全局开关面板(系统管理→功能开关):
如"允许编辑内置资源""启用跨稿质检""启用总监审核",避免改代码发版。
## 二、不建议照搬的
- Rush monorepo + 30+ packages:我们单应用 147 文件,monorepo 是过度工程
- Go 微服务 + DDD 四层:当前规模 FastAPI 单体+常驻子进程是最优解,拆微服务只会增加运维负担
- i18n:用户全是中文团队,不需要
- 数据库表资源(Coze 的 database 表):我们没有此需求
## 三、建议落地顺序(结合用户此前痛点)
1. 节点注册表+侧抽屉配置(画布体验,1 次迭代)
2. 发布/草稿版本分离(Agent 改配置不再影响在跑任务,解决真问题)
3. 分段策略可配置(KB 清洗质量的延伸)
4. 全局功能开关面板(qc_mode 之类收进去)
5. 单节点试运行(锦上添花)