软件的五个部分

第 5 课 · 共 6 课 约 7 分钟

数据、程序、界面、API、CLI 在 AIDC 里各在哪里,以及为什么先 API、最后界面。

本课目标

读完这一课,你将能够

  • 说出数据、程序、界面、API、CLI 各是什么
  • 说出这五样在 AIDC 里各在哪里
  • 解释为什么先 API、再 CLI、最后界面

任何软件都有五个部分

不管是 ERP 还是手机上的记账软件,拆开看都是五样东西:数据(记下来的事实)、程序(怎么算、怎么改的规则)、界面(人看到、点到的地方)、API(程序之间说话的约定)和 CLI(在终端里打命令的用法)。

传统软件把这五样装在一个盒子里:自己的库、自己的逻辑、自己的页面。AIDC 把它们拆开,各放在最合适的地方:

传统软件AIDC
数据存在软件自己的数据库里存在公司的语义层,所有应用和智能体共用
程序写在软件内部放在动作、工作流和智能体里,不写进应用
界面就是软件的全部应用的页面,是最后一层,只调 API
API常常没有,或只开放给少数系统每个能力都先有 API
CLI一般没有aidc,人和智能体都能用

程序在哪里

最常被问的是:程序在哪里?在 AIDC 里,它不在应用里,而是分在三处:

ACTION

动作

改数据的规则:参数、校验、谁能做、留痕。

WORKFLOW

工作流

多步骤的流程:查询、计算、AI 分析、写回、通知,以及什么时候触发。

AGENT

智能体

需要判断的事:读资料、做分析、写报告、回答问题。

这样拆,同一条规则只写一次。「登记异常」的规则写在动作里,看板上的按钮、手机上的表单、智能体在对话里的一句「帮我登记」,执行的都是它;要改规则,也只改这一处。

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 模板:写出它的数据、程序、界面各在哪里。

小测

选一个答案,马上看解析。

Q1在 AIDC 里,「登记异常」这条规则写在哪里最合适?

Q2为什么开发者 Key 不能写进页面?

Q3为什么 AIDC 先做 API 和 CLI,最后才做界面?

延伸阅读