软件的五个部分
数据、程序、界面、API、CLI 在 AIDC 里各在哪里,以及为什么先 API、最后界面。

本课目标
读完这一课,你将能够
- 说出数据、程序、界面、API、CLI 各是什么
- 说出这五样在 AIDC 里各在哪里
- 解释为什么先 API、再 CLI、最后界面
任何软件都有五个部分
不管是 ERP 还是手机上的记账软件,拆开看都是五样东西:数据(记下来的事实)、程序(怎么算、怎么改的规则)、界面(人看到、点到的地方)、API(程序之间说话的约定)和 CLI(在终端里打命令的用法)。
传统软件把这五样装在一个盒子里:自己的库、自己的逻辑、自己的页面。AIDC 把它们拆开,各放在最合适的地方:
| 传统软件 | AIDC | |
|---|---|---|
| 数据 | 存在软件自己的数据库里 | 存在公司的语义层,所有应用和智能体共用 |
| 程序 | 写在软件内部 | 放在动作、工作流和智能体里,不写进应用 |
| 界面 | 就是软件的全部 | 应用的页面,是最后一层,只调 API |
| API | 常常没有,或只开放给少数系统 | 每个能力都先有 API |
| CLI | 一般没有 | aidc,人和智能体都能用 |
程序在哪里
最常被问的是:程序在哪里?在 AIDC 里,它不在应用里,而是分在三处:
动作
改数据的规则:参数、校验、谁能做、留痕。
工作流
多步骤的流程:查询、计算、AI 分析、写回、通知,以及什么时候触发。
智能体
需要判断的事:读资料、做分析、写报告、回答问题。
这样拆,同一条规则只写一次。「登记异常」的规则写在动作里,看板上的按钮、手机上的表单、智能体在对话里的一句「帮我登记」,执行的都是它;要改规则,也只改这一处。
API、CLI、SDK:同一套能力的三种用法
API 是能力之间说话的约定:发什么请求、得到什么结果、出错时返回什么。AIDC 的每个能力都先有 API,所以它能被发现、被测试,也能被智能体直接调用。
CLI 是 API 的命令行形态,命令叫 aidc。每条命令都能输出 JSON、有稳定的退出码、不会停下来等人输入,有副作用的命令都能先预演。SDK 是 API 的代码形态,在页面里 import 就能用;有哪些 SDK、各管什么,下一门课「用 AIDC Developer 做应用」有一张总览图。
aidc semantic describe --markdown
aidc data query production.order_line --limit 5
aidc app deploy line-board --dry-run
调用 API 要凭证,叫 Key。开发者 Key 只放在命令行和服务端,绝不写进页面;页面里的应用不用 Key,用平台发的短时票据,只能做清单里声明过的事。
先 API,再 CLI,最后界面
顺序决定了谁能用。先有 API,机器之间就能说话;再有 CLI,人和智能体都能在终端里用;最后才做界面,而界面也只调同一套 API。
智能体能做的事,人也能做;人能做的事,智能体一定也能做。
反过来就会出问题:只能在界面上点出来的事,智能体做不了,也没法自动测试、没法批量做。所以在 AIDC 里,界面永远是最后一层,也是最容易换的一层。
要点
- 软件有五个部分:数据、程序、界面、API、CLI。
- 在 AIDC 里,数据在语义层,程序在动作、工作流和智能体里,界面是应用的页面。
- 同一条规则只写一次:按钮、表单和智能体执行的是同一个动作。
- API 是约定,CLI 是它的命令行形态,SDK 是它的代码形态;调用要 Key,Key 不进页面。
- 先 API、再 CLI、最后界面:人能做的事,智能体一定也能做。
练一练
把一个现有工具拆成五个部分
选一个部门里正在用的工具,越普通越好。
比如一个带宏的 Excel 模板:写出它的数据、程序、界面各在哪里。
把里面的规则分成三类:改数据的(动作)、多步骤的(工作流)、需要判断的(智能体)。
装好 aidc 并登录,运行 aidc semantic describe --markdown,看看公司语义层里已经有哪些对象和动作。
小测
选一个答案,马上看解析。
Q1在 AIDC 里,「登记异常」这条规则写在哪里最合适?
改数据的规则写成动作,只写一次;按钮、表单和智能体执行的都是它。
Q2为什么开发者 Key 不能写进页面?
开发者 Key 只放在命令行和服务端。页面里的应用用短时票据,只能做清单里声明过的事。
Q3为什么 AIDC 先做 API 和 CLI,最后才做界面?
先有 API 和 CLI,智能体才做得了人能做的事,也才能自动测试、批量做;界面放在最后,也最容易换。