飞书工程实施 Agent 集群与 ML 闭环验证方案

本方案旨在针对飞书生态(多维表格 Bitable、飞书文档 Docx、飞书审批),构建一个专门的 Feishu Implementation Agent Swarm(飞书工程实施 Agent 集群)。通过多 Agent 协同分工,验证“自然语言搭建 → 运行 → 用户微调 → 遥测采集 → 机器学习反馈闭环”的全生命周期。

一、 飞书 Agent 集群(Swarm)角色定义与拓扑

单兵 Agent 无法兼顾“需求理解、严格代码生成、实时事件监听、元数据差异计算和模型微调”。我们设计了由 5 个垂直 Agent 组成的协同网络:

                    ┌─────────────────────────┐
                    │      用户(飞书/Web)    │
                    └────────────┬────────────┘
                                 │
                                 ▼
                    ┌─────────────────────────┐
                    │ 1. 飞书架构师 Agent      │ (需求拆解与 DSL 生成)
                    └────────────┬────────────┘
                                 │
         ┌───────────────────────┴───────────────────────┐
         ▼                                               ▼
┌─────────────────────────┐                     ┌─────────────────────────┐
│ 2. 飞书 CLI 执行 Agent   │                     │ 3. 门户与文档排版 Agent │
│ (操作 lark-base/approval)│                     │ (操作 lark-markdown)    │
└─────────────────────────┘                     └─────────────────────────┘
         │                                               │
         └───────────────────────┬───────────────────────┘
                                 │ (应用上线运行)
                                 ▼
                    ┌─────────────────────────┐
                    │    用户手动微调应用     │
                    └────────────┬────────────┘
                                 │ (触发 Webhook 事件)
                                 ▼
                    ┌─────────────────────────┐
                    │ 4. 遥测与事件监听 Agent  │ (实时捕获、过滤、合并)
                    └────────────┬────────────┘
                                 │ (生成快照差异)
                                 ▼
                    ┌─────────────────────────┐
                    │ 5. 差异对齐与演进 Agent │ (计算 Diff,生成 DPO 语料)
                    └─────────────────────────┘

1.1 核心角色与分工表

Agent 角色

专精领域

核心调用工具 (Lark CLI Skills)

输入 → 输出

1. 飞书架构师 Agent

(Lark Architect)

业务建模、需求分析、ER 关系梳理

无(纯脑力与规划)

自然语言 → 飞书统一 DSL

2. 飞书 CLI 执行 Agent

(Lark CLI Operator)

严谨的命令行执行、多维表格与审批流搭建

lark-base, lark-calendar, lark-vc

统一 DSL → 飞书 Bitable & Approval 物理实体

3. 门户与文档排版 Agent

(Lark UI/Doc Designer)

美化飞书文档、富文本 Block 排版、大盘配置

lark-markdown, lark-sheets

统一 DSL → 优雅的飞书文档门户

4. 遥测与事件监听 Agent

(Lark Telemetry Listener)

监听飞书开放平台事件、过滤误操作、Session 合并

lark-event (WebSocket / Webhook)

飞书 Webhook 原始事件 → 用户净修改日志

5. 差异对齐与演进 Agent

(Lark Alignment & Evolver)

结构化 AST 差异计算、Prompt 生成、模型微调

本地 Diff 引擎、DPO 训练 Pipeline

原始 DSL + 净修改日志 → 偏好数据集 / 向量库 RAG 注入

二、 全生命周期五步闭环流程(The 5-Step Loop)

第一步:搭建(Provisioning)

用户输入: “我需要一个请假审批应用,员工提交请假申请(姓名、时间、事由),3天以内组长审批,3天以上总监审批。”

架构师 Agent 拆解业务实体,输出标准 Unified DSL。

CLI 执行 Agent 解析 DSL,并发调用以下 CLI 指令创建底座:

# 1. 创建多维表格底座
lark-cli base +create --title "请假管理系统"
# 2. 建立请假表
lark-cli base table create --app-token "bascnX..." --table-name "请假申请表"
# 3. 建立字段 (姓名、开始时间、结束时间、请假天数、请假事由、状态)

门户排版 Agent 随后启动,通过 lark-cli docs +create 生成一个精美的说明文档,并将多维表格的“表单视图(Form View)”以 Block 的形式嵌入到文档中,提供一个统一入口:

lark-cli docs +create --api-version v2 --doc-format markdown --content $'# 请假大盘\n\n 请使用下方表单提交申请:\n{{bitable_form_block_id}}'

第二步:运行(Execution)

应用交付用户使用。员工开始在多维表格表单中填写数据,触发飞书内置审批流或由 Agent 监听事件进行外部自动化流转。

第三步:用户微调(User Refinement / Human-in-the-Loop)

场景: 用户在使用过程中,发现默认的“请假事由”是个单行文本框(TEXT),导致员工填写事由时写得太简短。

用户手动微调: 用户直接在飞书多维表格的 UI 界面上,点击字段设置,将“请假事由”修改为了多行文本(TEXTAREA),并新增了一个“紧急程度”的单选字段(SELECT,选项:普通、紧急)。

第四步:数据采集(Telemetry Collection)

传统的低代码平台难以捕获这种纯 SaaS 端的修改。我们利用 遥测与事件监听 Agent 来攻克这一技术断层:

 ┌────────────────┐          ┌─────────────────────┐          ┌───────────────────────┐
 │ 用户在飞书界面  │ ───────> │  飞书开放平台事件     │ ───────> │ 遥测 Agent             │
 │ 手动修改字段属性│          │ (Bitable.Field.Upd) │          │ - 过滤 15 分钟内的重复噪音│
 └────────────────┘          └─────────────────────┘          │ - 合并为 Single Session│
                                                              └──────────┬────────────┘
                                                                         │
                                                                         ▼
                                                              ┌───────────────────────┐
                                                              │  输出:用户净修改 Schema│
                                                              └───────────────────────┘

事件订阅: 遥测 Agent 通过 WebSocket 或 Webhook 订阅飞书的 bitable.table.field.updated_v1 和 bitable.table.field.created_v1 事件。

噪音过滤: 用户在微调时可能会反复修改(如先改成单选,又改成多选,最后改回单选)。遥测 Agent 引入 15分钟滑窗机制:对同一个多维表格的修改事件进行 Session 聚合,只保留该 Session 结束时的“最终状态差异”。

第五步:机器学习反馈闭环(ML Alignment Loop)

差异对齐与演进 Agent 介入,计算 AST 级别的差异,并执行两层进化。

1. 差异计算(AST Diff):

初始模型配置 (Schema

init

):

{"field_name": "请假事由", "type": "TEXT"}

用户修改后的最新配置 (Schema

live

):

{"field_name": "请假事由", "type": "TEXTAREA"}

差异结果 (Delta):

{"action": "UPDATE_FIELD", "field": "请假事由", "from": "TEXT", "to": "TEXTAREA"}

2. 偏好对齐训练数据(DPO Pair Generation):

演进 Agent 自动将这次调整转化为大模型可以直接学习的 DPO (Direct Preference Optimization) 训练对:

D={(x

prompt

,y

bad

,y

good

)}

x

prompt

(Context): 用户需要一个请假审批应用,包含姓名、时间、请假事由...

y

bad

(AI 曾犯的错): 生成单行文本 {"field_name": "请假事由", "type": "TEXT"}。

y

good

(用户教 AI 改正的结果): 生成多行文本 {"field_name": "请假事由", "type": "TEXTAREA"}。

将此数据集打包送入微调 Pipeline,使大模型底座在下次面对类似“事由、描述、备注”等字段时,原生生成率直接从 TEXT 进化为 TEXTAREA。

三、 闭环验证 PoC 实施路线图(3周极速 PoC 方案)

为了快速验证该闭环的可行性,我们无需一开始就搭建庞大的 Agent 集群系统,而是可以编写一个最小可行性 PoC 脚本。

【Week 1: 双向通路打通】 ───> 【Week 2: 遥测与 Diff 运行】 ───> 【Week 3: DPO/RAG 闭环进化】

Week 1: 双向通路打通(Setup -> Run)

任务:

部署 lark-cli 并完成 OAuth 授权,让 Agent 拥有操作多维表格的权限。

编写 架构师 Agent 和 CLI 执行 Agent 的最小逻辑:输入“帮我建一个简易 CRM 系统(包含客户名、联系电话、备注)”,Agent 自动运行 lark-cli base 并在用户的飞书中生成这个表格。

Week 2: 遥测与 Diff 运行(Refine -> Collect)

任务:

在腾讯云/阿里云上部署一个极简的 Webhook 接收端(作为遥测 Agent),订阅当前测试多维表格的变更事件。

让人类用户在飞书界面中把“联系电话”的字段格式从“文本(TEXT)”修改为“电话号码格式(PHONE)”。

验证 Webhook 能否准确捕捉这一变化,并自动计算出 Diff。

Week 3: 闭环进化(ML Feedback)

任务:

ICL (上下文学习) 演进验证: 将差异("联系电话" 应该用 "PHONE" 类型)作为 Few-Shot Prompt 动态插入到 架构师 Agent 的 System Prompt 中。

验证测试: 再次用自然语言让 AI 建一个“供应商管理系统,需要姓名、联系电话”。

预期结果: 此时 Agent 在完全没有经过代码重写的前提下,由于吸收了微调上下文,在新建表格时,自动将“联系电话”设置为了 PHONE 类型。

四、 核心技术攻坚细节

4.1 飞书 CLI 的“输入注入(Prompt Injection)”防护

由于 lark-cli 直接在宿主机的 Terminal 中运行,如果大模型生成的字段名包含恶意 shell 命令(如:lark-cli base table create --table-name "; rm -rf / ;"),会引发巨大的安全灾难。

攻坚策略:

CLI 执行 Agent 绝不直接拼接 shell 字符串。

必须使用 CLI 的 lark-cli ... --params '{"json_key": "val"}' 的强类型 JSON 参数传递方式,并在中间件强制对非法 Shell 字符(如 ;, &, |, `)进行正则拦截。

4.2 遥测过滤:合并非人为动作

在自动化流运行中,可能有“飞书机器人”在频繁往 Bitable 里写入或更新记录。遥测 Agent 必须能够区分 “用户在设计态微调表结构(User Schema Change)” 和 “数据运行时写入(Runtime Data Update)”。

攻坚策略:

仅监听 bitable.table.field.*(字段结构变化事件)和 bitable.table.view.*(视图结构变化事件)。

忽略 bitable.table.record.*(具体数据记录变化事件),实现“设计态”与“运行态”的数据彻底隔离。