Skip to content

[Decision] 平台要不要正式做 AI 表单填写建议与 AI 推荐:现在立契约做(A)、暂缓(B),还是先调研(C)? #27286

Closed as not planned

Description

@objectstack-fleet

domain:ui#1 · os-warren · session_01JQwxbZDEjqevXbcGAEVeSF

Ruled: 6485902300 · letter B · 2026-10-29T02:08Z

⛔ 不是认领,⛔ 不是派发。本卡只请维护者回一个字母;裁决之前什么都不做。

立卡门类别: ② 只有维护者能做的决定(产品方向:平台要不要正式做 AI 表单填写建议与 AI 推荐)。
业务理由: 维护者在 #25921 线程问「表单 AI 辅助(ai-form-assist)、AI 推荐列表(ai-recommendations)对于我们的平台有价值吗?」「主流类似系统有这些功能吗」「先立一张决策卡」(2026-10-28 14:25–14:26Z)。#27042 正在把这两个空壳组件退役,退役之后平台上就没有这两项能力的任何痕迹,要不要正式做需要一个方向。
动手的读者: 裁 A ⇒ domain:spec 席位立契约 ADR 卡,cloud 车道立 service-ai 技能卡,domain:ui 席位立通用渲染块卡;裁 B ⇒ 无人动手,本卡记下裁决后关闭,#27042 照常落地;裁 C ⇒ domain:ui 席位 1 开一个线程写调研文档,完成后带调研结论回本卡重呈。
查重: 搜索 API 被会话代理拒(只放 repo 级路径),改为全量列 open issue:3 页共 207 张 issue(open_issues_count 229 = 207 issue + 22 PR,总数核对相符),加最近更新的 1000 条 closed(其中 456 张 issue,最早更新到 2026-10-27 00:02Z);正则 ai-form-assist|ai-recommendation|AIFormAssist|AIRecommend|plugin-ai|form.?fill|表单.{0,4}AI|AI.{0,6}(推荐|建议|填)|copilot|next best action|prediction|recommendation 扫标题与正文。同题命中 0;相关命中:#25921(退役母卡)、#27048(skills 指南仍教 plugin-ai,退役后续)、#27176(MCP 草稿署名,不相关)。更早的 closed 未覆盖。

维护者速读

  • 问题一句话: 客户在表单里填写记录时,平台能不能用 AI 帮他预填字段、在列表/记录页给出「下一步建议」?今天不能;仓里那两个同名组件只是空壳,正在被退役。
  • 实测: AIFormAssist / AIRecommendations 只渲染调用方手动传进来的建议,不调用任何模型或 Agent,spec 里没有对应契约;控制台从未注册过它们;本仓 examples/、skills/、packages/ 零消费;10-25 的裁决(retire the zero-consumer surface: nine dead modules (2,211 LOC), plugin-ai, runner's publish flag, test-only reset helpers on public barrels, the providers trio, 122 dead i18n keys, root orphans #25921 评论 6407925660)实测 objectui、objectstack、hotcrm 均无代码消费者。
  • 主流平台: 有,而且都是「平台服务 + 声明式配置」,不是一个前端组件:Dynamics 365 / Power Apps 的 Copilot 表单填写辅助、Salesforce Einstein Prediction Builder / Next Best Action(现已并入 Agentforce)、ServiceNow Now Assist、HubSpot Breeze、Zoho Zia、Airtable / Notion 的 AI 字段。趋势是由 Agent 产出建议、由平台契约约束写回。(来源:公开产品资料,本会话未联网逐一核实。)
  • 我们的边界: 北极星写明社区版只经 MCP 暴露对象与动作、用户接自己的 Agent;界面内置 Agent 是企业版,住 cloud 仓(cloud ADR-0025)。所以「界面里的 AI 填表 / 推荐」按现行边界是企业版能力。
选项 做什么 客户可感知后果 工作量
A 现在正式做 先在 spec 立契约(哪个 Agent / 技能产出字段建议与推荐、返回形状、写回走哪道门与权限),再在 cloud 的 service-ai 实现,最后 ui/ 出一个通用渲染块(社区版无 AI 面时按既有门控不显示) 企业版客户获得 AI 预填与推荐;社区版不变 spec + cloud + ui 三车道,至少 1 个 ADR(Tier H)+ 3 个 PR,跨两仓;无先例
B 暂缓(推荐) #27042 照退,不立任何契约;把终态记在本卡:这类能力将来作为企业版内置 Agent 的技能交付,有具名客户拉动时由 cloud 立卡、从 spec 契约起步 今天无变化;社区版用户已可经 MCP 让自己的 Agent 读对象、建/改记录 零;本卡关闭即完
C 先调研再定 开一个线程把 7 个主流平台的配置方式、建议来源、写回与审计做成对照文档,带结论回本卡重呈 无变化,晚一轮再裁 ui 席位 1 线程,1 份文档,约半天;无先例
  • 推荐 B。 理由见下文四轴;一句话:能力有价值、主流都有,但按我们的边界它属于企业版内置 Agent,今天零客户拉动,开源侧先立契约是没有读者的契约。
  • 请回: A / B / C。

背景

#25921(维护者 10-25 裁 A「同意」,评论 6407925660)裁定退役 @object-ui/plugin-ai(AIFormAssist、AIRecommendations、NLQueryInput、useAiTranslation),执行 PR 是 #27042(open,已 ready)。当时的裁决里,选项 B「接进控制台」因「no product need named it」未取。本卡问的是另一件事:不是要不要留这两个空壳,而是平台要不要正式做这两项能力。

所有读数取自 objectstack-ai/objectstack origin/main 0d45c0e7(2026-10-28 14:03Z)。

Governing text

  • docs/NORTH-STAR.md:7:「AI 原生的意思:应用自带一个能替用户操作它的 Agent——本仓(社区版)通过 MCP 把对象与动作暴露出去,用户接入自己的 Agent;企业版把 Agent 内置在用户界面里,那一半住 cloud 仓。」
  • docs/NORTH-STAR.md:104:「ai · 社区版没有的就诚实说没有,界面也不摆空架子」(清单项 ai.console-ai-surface-gating、open-edition-honest-degradation)。
  • cloud ADR-0025(引自 docs/adr/0063-…md:3 的状态头):界面内 AI 运行时与 ask / build Agent 移到 cloud / 企业版;开源框架只经 @objectstack/mcp(BYO-AI)暴露 AI。
  • ADR-0063:技能(skill)是第三方唯一的扩展原语,Agent 按所在界面绑定。
  • AGENTS.md 第 10 条推论:「never advertise or demo a capability the runtime doesn't actually deliver」。

协议声明

spec 里没有任何表单 AI 建议或推荐的契约(packages/spec/src/ai/** 只有 agent / skill / tool / knowledge 等)。选项 A 会新增协议(Metadata-protocol: added);B、C 不改协议。

前提(每条带 re-check 命令)

  1. 两个组件不调用任何模型或数据源:git grep -n -E "fetch\(|useAgent|apiClient|dataSource" origin/main -- ui/packages/plugin-ai/src/AIFormAssist.tsx ui/packages/plugin-ai/src/AIRecommendations.tsx → 0 行。
  2. 控制台从未注册 plugin-ai:git grep -n plugin-ai origin/main -- ui/apps/console/src → 0 行(命中只在 CHANGELOG)。
  3. 产品面零消费:git grep -l -i -E "AIFormAssist|AIRecommendation|ai-form-assist|ai-recommendations" origin/main -- examples skills packages → 只有 packages/console/CHANGELOG.md。
  4. 社区版已有让外部 Agent 写记录的门:git grep -n -E "'(create|update)_record'" origin/main -- packages/mcp/src/mcp-http-tools.ts → 2 行(1056、1083)。
  5. refactor(ui)!: retire @object-ui/plugin-ai and its three node types #27042 尚未合并:GET /repos/objectstack-ai/objectstack/pulls/27042 → state: open。合并与否不影响本卡的选项。

业务含义直译

  • A = 现在就像 Dynamics 那样做「Copilot 帮你填表」,但我们是在没有一个客户点名要它的情况下先盖楼。
  • B = 先不做;等企业版有客户说「我要 AI 帮我填工单」,再按主流做法从契约做起。社区版用户今天用自己的 Agent 经 MCP 也能让 AI 建、改记录。
  • C = 先花半天把对手怎么做的摸清楚,再回来选 A 或 B。

四轴分析

① 项目长远合理性(权重 ≥50%)。 两年后的终态:企业版内置 Agent 带「表单填写」「下一步建议」两类技能,建议的来源是 Agent,写回走既有记录写入门与权限,界面上是一个通用的「Agent 建议」渲染块;社区版同样能力由用户自己的 Agent 经 MCP 完成。主流平台的建模也在往这个方向走:Salesforce 把 Prediction Builder / Next Best Action 并进 Agentforce,ServiceNow、HubSpot 都以 Agent 为建议的产出者。这个终态里,真正的契约要等企业版 Agent 的技能设计确定后才能写对;今天在开源 spec 先立一套表单建议契约,是在读者出现前增生契约,将来大概率要改形或退役。B 不增生任何特例,与终态不冲突。
② 实际业务拉动。 实测零:控制台从未加载、产品面零消费、hotcrm 无消费者(10-25 裁决的读数);没有客户、run record 或北极星条目点名这两项能力。今天没有人撞上「没有 AI 填表」。
③ 防 AI 犯错。 若出错,谁看到什么:A 若契约先于运行时落地,AI 作者会照着声明配置一个企业版没兑现、社区版不显示的能力,最终用户看到的是一个没反应的按钮或空面板,这正是 #25921 刚清掉的那类空壳;B 不声明就不会被写错。
④ 创业阶段不扩散。 每个声明的键都是永久义务;A 一次扩张三车道、两仓。B 是 remove 优于 declare-and-maintain 的直接应用。

os-decision-facets
① 长远合理性:B 不新增契约与特例;A 在读者(企业版 Agent 技能)确定前先立契约,终态形状大概率要返工
② 业务拉动:今天零拉动,控制台未加载、产品面与 hotcrm 零消费、无客户点名
③ 防 AI 犯错:不声明则写不错;A 先声明后兑现,会让 AI 配出不生效的能力(静默空壳)
④ 不扩散:B 零新增义务;A 一次扩张 spec + cloud + ui 三车道
Prior rulings read: plugin-ai, ai-form-assist, ai-recommendations, AIFormAssist, form fill, AI 推荐 → 1 hit (#25921 评论 6407925660,objectui 决裁批 #14 第 6 项 = A 退役;选项 B「接进控制台」未取,无产品需求); ADR-0063 / ADR-0033 / ADR-0040 / ADR-0064(状态头引 cloud ADR-0025); thread: #25921

推荐

B。 只看①选 B;②③④ 是否翻转:否。A 与 B 工作量差远超 3 倍(依规点名);推荐只由①得出,不靠工作量。

置信缺口: 主流平台读数来自公开产品资料,本会话未联网逐一核实;cloud 仓的企业版路线图与客户需求未读(本会话只能读本仓),若企业版已有客户点名要 AI 填表,②会变,那时应改裁 A,并从 cloud 立卡起步。C 不取:调研能补齐①的细节,但不会改变「今天零拉动、能力属企业版」这两个决定性读数。A 不取:契约先于读者。

裁后执行

相关

#25921 · #27042 · #27048 · ADR-0063 · cloud ADR-0025


Generated by Claude Code

Activity

  1. objectstack-fleet commented on Oct 29, 2026

    @objectstack-fleet
    ContributorAuthor

    director#1 · os-bill · session_01Utp6CbQLcy8yg6vhJVXXi8

    Brief-claimed-by: session_01Utp6CbQLcy8yg6vhJVXXi8 · batch #425 · 2026-10-29T01:37Z

    Director seat, summon #54 (ledger objectstack#12708). Presented to the maintainer in batch #425 as item 4 of 4.

    Seat increment (re-read at origin/main 6d7634a9, 2026-10-29T01:37Z):

    Prior rulings read: plugin-ai, form assist, recommendations, copilot → ADR term matches only; thread: 6407925660 on #25921; repo: objectstack-ai/objectstack

  2. objectstack-fleet commented on Oct 29, 2026

    @objectstack-fleet
    ContributorAuthor

    director#1 · os-bill · session_01Utp6CbQLcy8yg6vhJVXXi8

    Ruling: batch #425 item 4 · letter B · maintainer 「27297 27286 同意,pr已审核」 2026-10-29T02:06Z

    Director seat, summon #54 (ledger objectstack#12708, opening mark 6485456694, brief 6485472645). The maintainer answered batch #425 in the summon chat, verbatim: 「27297 27286 同意,pr已审核」 — 同意 = the seat's letter on each card; for this card B.

    What the ruling binds (letter B — defer): the platform does not build AI form-fill suggestions or AI recommendations now, and declares no contract for them in packages/spec. The retirement of @object-ui/plugin-ai (#25921 ruling 6407925660, landed in PR #27042 at c59b1bfa) stands; the shells are not revived. End state recorded for the future card: these capabilities are delivered as skills of the enterprise edition's in-UI agent (cloud, per docs/NORTH-STAR.md L7 and cloud ADR-0025), with the agent as the source of suggestions, write-back through the existing record-write doors and permissions, and one generic "agent suggestion" rendering block in ui/ gated by ai.console-ai-surface-gating; the community edition reaches the same outcome through a user's own agent over MCP (create_record / update_record). Trigger for revisiting: a named enterprise customer asking for it — the cloud lane files that card first, and the spec contract is written from the enterprise agent's skill design, not before it. Not taken: A (contract before its reader; three lanes, two repositories, zero measured pull), C (research refines the end state but changes neither the zero pull nor the edition boundary).

    Governing text: docs/NORTH-STAR.md L7 and L104 (open-edition-honest-degradation, console-ai-surface-gating); cloud ADR-0025 as cited in ADR-0063's status header; AGENTS.md Prime Directive 10 (never advertise a capability the runtime does not deliver); mother ruling 6407925660 on #25921. Premises re-read at origin/main 6d7634a9 (brief 6485472645): ui/packages/plugin-ai/src/ gone; plugin-ai 0 hits in ui/apps/console/src; product surfaces 0 consumers; MCP record-write tools present.

    Workload of the letter: 0 — this card closes not_planned in this act; nothing is dispatched. #27048 (skills guide still teaching plugin-ai) proceeds on its own.

    os-decision-facets
    ① 长远:能力属企业版 Agent 的技能;读者出现前在开源 spec 立契约是契约增生
    ② 拉动:实测零:控制台从未加载、产品面与 hotcrm 零消费、无客户点名
    ③ 防错:不声明则写不错;先声明后兑现会让 AI 配出静默空壳
    ④ 不扩散:B 零新增义务;A 一次扩张 spec + cloud + ui 三车道两仓

  3. objectstack-fleet commented on Oct 29, 2026

    @objectstack-fleet
    ContributorAuthor

    director#1 · os-bill · session_01Utp6CbQLcy8yg6vhJVXXi8

    Closed not_planned · 2026-10-29T02:13Z · ruling 6485902300 (batch #425 item 4, letter B: defer; no contract declared, nothing built; the end state and the revisit trigger — a named enterprise customer, filed first in the cloud repository — are recorded in that comment). needs-user-decision leaves with the close; domain:spec, priority:p3, area:ai stay as ownership. #27048 proceeds on its own.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:aiAI-native — agent / tool / skill metadata, and the MCP surface an agent drivesdomain:specpriority:p3

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions