教程 · 第一部分 用 Core 做出一个应用

先写一份系统设计文档

不要一句话让 Agent 生成整个系统。“做一个 IT 资产管理系统”里有几十个没定的业务问题,Agent 只能替你猜。先和 Agent 把设计聊清楚,写成文档放进仓库,之后每个需求都以它为依据。

1. 和 Agent 聊设计

在 itam-lite 目录开启新会话:

提示词
我要做一个精简的 IT 资产管理系统,先不写代码,和我把设计聊清楚。
三个角色:员工申请设备,资产管理员审批,IT 支持发放并登记到台账。
有需要我决策的问题就问,一次问一组,每个问题给出你的建议。

Agent 会逐组提问。本次教程里定下了这些:

Agent 问决策
设备记哪些字段?资产编号和序列号是否唯一?资产编号必填且唯一;序列号选填
哪些申请要审批?笔记本、手机要审批;名下在用设备已有 2 台的人再申请也要审批。两项管理员可调
谁审批、谁发放?任一资产管理员审批,不能审批自己的申请;IT 支持从在库设备里选一台发放
员工能看到什么?只看自己的申请和名下设备
这一版不做什么?采购、维修、盘点、报废、归还、多级审批、导入导出
有没有企业设计规范?没有,沿用 NocoBase 3 内置的设计规范

有企业设计规范(颜色、字体、组件要求)时,把文件放进仓库,在这一步告诉 Agent。

2. 写成文档

提示词
把定下的设计写进 docs/design.md:角色、数据、流程、页面、权限,以及分步交付计划和每步的验收标准。
在 AGENTS.md 里登记它:做业务改动前先读;需求改变了设计时,先更新它再改代码。

Agent 写出的文档见示例仓库的 docs/design.md。最后一节把开发拆成三步,正好是后面三篇:

步骤交付怎样算完成
1 设备台账设备表、接口和页面能新建、编辑、搜索设备;资产编号重复时在输入框旁提示;刷新后数据还在
2 领用与审批申请、流程、通知、流程管理笔记本申请经审批后由 IT 支持发放,台账里设备变为在用;显示器直接待发放;相关的人收到站内信
3 角色与权限三个角色和数据范围三个账号分别登录,看到和能做的与权限矩阵一致;越权调用接口被拒绝

读一遍文档,不对的地方直接让 Agent 改。

想让这个过程更有章法,可以用 OpenSpec(把每次变更写成提案、设计、任务)或 superpowers(先头脑风暴、再写计划、再执行)。

3. 之后每个需求说清三件事

设计文档管全局,单个需求用业务语言说清三件事:

  • 谁在用。
  • 要做什么。
  • 有哪些规则:谁能做什么,哪些数据不能动。

同一个需求,两种写法:

提示词
设备要能归还。
提示词
给设备台账加“归还”。
IT 支持在在用设备上点「归还」,填写归还位置后,设备变为在库,使用人清空。
只有 IT 支持和资产管理员能归还,员工不能。在库、维修中、报废的设备不能归还。

第一种,Agent 要自己猜谁能归还、状态怎么变。第二种,Agent 照着做,不用自己猜,方案更明确。

较大的需求先让 Agent 出方案,确认后再动手:

提示词
先不改代码,列出这次要改哪些部分、需要我决策的问题,以及打算怎样验证。

需求的写法和验收方法见 和 Agent 一起开发。

完成的标志仓库里有 docs/design.md,AGENTS.md 的索引里登记了它,文档末尾有分步交付和每步的验收标准。

NocoBase 文档助手

关于 NocoBase,你想了解什么?

每次提问独立回答,不会参考之前的问答。请提供完整背景。