为什么 @Transactional 会失效?一次 Debug 看懂 Spring 踩过的所有坑
2026/6/8 21:44:20
在做GNN + 文本 / LLM的服务推荐时,经常会看到一句话:
“现有方法难以有效对齐结构表示与文本表示。”
第一次看到这句话时,很容易误以为是向量数值范围不一样、尺度不同之类的数学问题。
但其实,这个理解是不对的。
结构表示与文本表示不对齐,并不是向量大小的问题,而是“理解角度不一致”的问题。
换句话说:
同一个 API,在“怎么被用”和“它是什么”这两种视角下,被模型当成了不同的东西。
结构表示只关心一件事:
这个 API 是“怎么被用的”?
模型只看:
⚠️ 它不知道 API 的功能含义。
例如:
文本表示只关心另一件事:
这个 API “是干什么的”?
模型只看:
⚠️ 它不知道用户是如何使用它的。
例如:
当我们把两种视角放在一起时,问题就出现了:
| API | 结构视角(使用记录) | 文本视角(功能语义) |
|---|---|---|
| A | 和 C 很像 | 和 B 很像 |
| B | 单独一类 | 和 A 很像 |
| C | 和 A 很像 | 单独一类 |
👉同一个 API,在两种“理解方式”下,被分进了不同的圈子。
这就叫:
结构表示与文本表示不对齐
❌ 不对齐 ≠ 向量范围差异
❌ 不对齐 ≠ 数值大小不同
如果只是数值问题:
都可以轻松解决。
真正的问题是:
如果:
那么:
👉 这不是数学问题,而是视角不一致。
“结构–语义不对齐”不是向量不一样,而是模型从‘使用行为’和‘文本描述’两种证据中,对同一个 API 形成了不一致的理解。
只要记住这一点,就不会再被这句话困住了。