本文截图均来自 InfiniSynapse 的公开只读任务,已裁去侧栏、账号信息和无关任务。
企业知识库里最常见的材料,往往不是一张已经整理好的数据库表,而是 PDF 年报、Word 报告、研究文档和扫描件。
这些文件看起来是“非结构化文档”,但里面又包含大量结构化内容:财年、营收、净利润、单位、表头、行列关系。真正困难的不是让 AI 读懂一句话,而是把散落在多份文档里的这些字段,提取出来、对齐口径、映射成表,再交给计算引擎继续处理。
这次我们用一个公开任务演示完整过程:从 InfiniSynapse 知识库中分别查询阿里巴巴 FY2021—FY2026 六个财年的营收和净利润,先映射成表,再计算同比增长率并生成图表。
用户给出的要求很明确:六个财年要分别查,不能直接凭一段摘要计算;查完以后要先建表,再算增长率。
这条指令看似简单,实际上要求系统连续完成四种不同工作:
- 在知识库中找到六份不同财年的年报证据;
- 从每份年报中提取营收、净利润和单位;
- 把六次检索结果映射到统一表结构;
- 对表执行跨行计算,并把结果变成可复查的表格和图表。
第一步:不是“一次问完”,而是逐财年查知识库
InfiniSynapse 先把任务拆成 FY2021、FY2022、FY2023、FY2024、FY2025 和 FY2026 六次知识库查询。
为什么要分六次查?
因为每个数字都需要回到对应财年的年报。若把六年问题压缩成一次宽泛检索,模型可能只命中其中一两份文档,或者把不同财年的字段混在一起。逐年查询会多花一些时间,但证据链更清晰,也更容易发现漏项。
例如,FY2021 的查询结果明确返回:
- 营收:717,289 百万元人民币;
- 净利润:143,284 百万元人民币;
- 财年截至 2021 年 3 月 31 日。
同样的动作继续执行到 FY2026。过程中 FY2025 首次检索返回空结果,任务没有把空值直接带入计算,而是换一种查询表达重新检索。这一点很重要:知识库分析不是“搜不到也往下算”,而是先补齐证据,再进入下一阶段。
当六个财年的数据全部拿到以后,任务才宣布进入表映射阶段。
第二步:把文档里的字段映射成表
六次检索返回的仍然是六段文本答案。它们已经可读,但还不适合直接做跨年计算。
为了让计算引擎接手,需要先把每条结果规范成稳定字段:
| 字段 | 含义 |
|---|---|
fiscal_year | 财年,如 FY2021 |
fiscal_period | 财年区间 |
revenue_rmb_million | 营收,统一为百万元人民币 |
net_income_rmb_million | 净利润,统一为百万元人民币 |
这一步就是“从非结构化数据里提取结构化内容”的关键:输入仍然来自 PDF 年报,但输出已经不再是一段自然语言,而是一组能够装入表格的行和列。
任务先把六个财年的结果组织成 JSON,再加载为临时表。完成映射以后,系统明确提示:数据已经成为表,现在可以计算同比增长率。
最终得到的基础表如下。它不是手工复制出来的展示表,而是从六份年报检索结果映射而来:
| 财年 | 财年区间 | 营收(百万元人民币) | 净利润(百万元人民币) |
|---|---|---|---|
| FY2021 | Apr 2020 – Mar 2021 | 717,289 | 143,284 |
| FY2022 | Apr 2021 – Mar 2022 | 853,062 | 47,079 |
| FY2023 | Apr 2022 – Mar 2023 | 868,687 | 65,573 |
| FY2024 | Apr 2023 – Mar 2024 | 941,168 | 71,332 |
| FY2025 | Apr 2024 – Mar 2025 | 996,347 | 125,976 |
| FY2026 | Apr 2025 – Mar 2026 | 1,023,670 | 102,127 |
这里有三个容易被忽略、但决定结果能否计算的细节:
- 财年必须对齐。FY2026 指截至 2026 年 3 月的财年,不能把自然年直接混进来。
- 单位必须统一。六行数据都使用“百万元人民币”,否则同比计算会失真。
- 字段必须固定。“收入”“营收”“Revenue”最终要进入同一列;净利润同理。
第三步:让 SQL 计算,而不是让模型心算
数据成为表以后,同比增长率就可以使用窗口函数计算。核心逻辑可以简化为:
ROUND((revenue-LAG(revenue)OVER(ORDERBYfiscal_year))/LAG(revenue)OVER(ORDERBYfiscal_year)*100,2)净利润增长率使用相同方法。FY2021 是基准年,没有上一行,因此增长率留空;FY2022—FY2026 则逐行与上一个财年比较。
计算结果是:
| 财年 | 营收增长率 | 净利润增长率 |
|---|---|---|
| FY2021 | — | — |
| FY2022 | +18.93% | -67.14% |
| FY2023 | +1.83% | +39.28% |
| FY2024 | +8.34% | +8.78% |
| FY2025 | +5.86% | +76.61% |
| FY2026 | +2.74% | -18.93% |
这正是“先映射成表,再做计算”的价值:
- 检索模型负责从文档中找证据;
- 表结构负责保存统一后的数据;
- SQL 负责可重复的计算;
- 最终表负责让人复查每一行。
如果后续需要增加毛利率、经营利润、自由现金流等指标,只需要扩展字段和查询,不必重新发明一套计算过程。若企业还有数据库中的经营数据,也可以在相同的表空间里继续做关联分析;本次公开任务只使用知识库资料,没有声称使用数据库。
第四步:把结果变成一眼能读懂的图
表适合精确核验,图适合快速观察趋势。任务生成了营收趋势图和同比增长率图。
从结果表可以直接看到:六年营收从 717,289 百万元人民币增长到 1,023,670 百万元人民币,但年度增速并不是一条直线;净利润的波动更明显,FY2022 和 FY2026 为负增长。
图表用于快速浏览,表格仍是精确复核的基准。当前公开任务生成的趋势图主要清晰展示了营收柱,增长率图中的负值也不如表格直观,因此涉及具体数字时应回到上面的结果表,而不是只凭图形判断。
真正可复用的,不是这六个数字
六份阿里财报只是一个例子。更值得复用的是这条数据链:
非结构化文档 → 逐份检索 → 字段提取 → 单位与口径统一 → 映射成表 → SQL 计算 → 表格与图表交付
它适用于很多企业场景:
- 从多家上市公司的年报中提取同一组财务指标;
- 从合同和报价单中提取客户、产品、金额和日期;
- 从研究报告中整理行业规模、增速和预测区间;
- 从审计材料中提取异常项,再与业务表进行核验;
- 从项目周报中提取里程碑、负责人和延期天数。
传统知识库通常停在“帮我找一段答案”。InfiniSynapse 希望继续向前一步:不仅找到答案,还把答案变成可以继续计算、关联和复查的数据。
这也是为什么“映射成表”不是一个排版动作,而是知识库从问答工具走向数据分析工具的分界线。
你可以直接打开这个公开只读任务,查看六次知识库检索、数据映射、SQL 计算和最终交付的完整过程。
说明:本文展示的是公开任务中的分析流程与结果,不构成投资建议。具体财务指标应以公司正式披露文件为准。