首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >区分精确算法与动态模糊推理:充分发挥本体驱动的AI大模型混合推理能力

区分精确算法与动态模糊推理:充分发挥本体驱动的AI大模型混合推理能力

作者头像
人月聊IT
发布2026-06-29 10:26:12
发布2026-06-29 10:26:12
2280
举报

大家好,我是人月聊IT。 今天继续对我前面的基于本体构建的电商数据分析项目进行分析,并进一步提出优化改进建议。同时也进一步论证了我前面提到的核心观点。

经典本体论(OWL+SWRL+SHACL)的局限性不在于"推理能力弱",而在 于"推理空间是封闭的"——它只能在一个有限公理集合内做演绎。真实商业分析需要在这个封闭空间之外进行溯因和策略生成,而这恰恰是 LLM 能做到而 SWRL 规则引擎永远做不到的。

作者按:本文基于 ecommerce-ontology-analytics 项目的实际代码分析,系统性地剖析了当前实现中精确计算与动态推理边界混淆的问题,并提出了基于"护栏架构"的改进方案。文中的四个 SVG 架构图可独立阅读,与正文互相补充。


摘要

当前 ecommerce-ontology-analytics 项目实现了一个四阶段的"本体驱动电商数据智能分析"系统:需求探索(Phase1)→ 本体建模(Phase2)→ 场景执行与推理(Phase3)→ 对话式分析(Phase4)。经过对 Phase3 核心代码的逐行审查,本文发现系统在架构层面存在一个根本性问题:精确算法逻辑和 AI 动态模糊推理的边界被混淆了。

具体表现为四个关键缺陷:(1)AI 被用于生成确定性的 SQL 查询;(2)LLM 的自评置信度替代了统计推断;(3)数据注入采用暴力字符截断而非结构化摘要;(4)本体模型的语义信息仅被浅层消费。本文逐一分析这些问题,并提出基于"精确层 + 护栏机制 + 动态层"三层分离的改进架构。

核心论点是:经典本体论(OWL+SWRL+SHACL)的局限性不在于"推理能力弱",而在于"推理空间是封闭的"——它只能在一个有限公理集合内做演绎;真实商业分析需要在这个封闭空间之外进行溯因和策略生成,而这恰恰是 LLM 能做到而规则引擎永远做不到的。 两者的正确关系不是替代,而是分层协作。


1. 引言:一个架构层面的根本混淆

在完成了 Phase1(需求探索)和 Phase2(本体建模)之后,Phase3 是系统的核心执行阶段。以 GMV 分析场景为例,其执行流程为 6 个步骤:S1~S5 为 SQL 查询和统计计算,S6 为 AI 业务推理。

表面上,这个分工是合理的:精确的数据查询交给 SQL 和 Python,复杂的业务解读交给 LLM。但深入到代码层面后,发现这一分工在执行层被打破了。系统在以下四个环节存在精确/模糊的边界混淆:

  1. SQL 生成:让 LLM 动态生成 SQL(_execute_sql_step),虽然预设了 fallback_sql 兜底,但 AI 生成是默认主路径
  2. 数据注入:用 [:30] 行截断和 [:20000] 字符硬截断将查询结果喂给 LLM,丢失了统计分布信息
  3. 置信度计算:完全依赖 LLM 在输出文本中自行标注"置信度: XX%",代码仅用正则表达式提取
  4. 本体利用:M1/M3 本体仅取前 12 条/6 条注入 Prompt,未按语义相关度筛选

这四个问题的共同根源在于:系统没有明确定义"什么是确定性计算"和"什么是启发式推理"的边界,导致代码在两个方向上都做错了——让 LLM 做了它不该做的事(生成 SQL),又让确定性代码做了粗糙的事(暴力截断数据)。

本文接下来的章节将逐一剖析这些问题,并提出可落地的改进方案。

2. 经典本体论的推理空间与LLM的互补性

2.1 经典本体论:一个封闭的演绎系统

经典语义网技术栈的核心组件及其能力边界如下:

组件

能力

盲区

OWL(本体定义)

定义实体、属性、关系、基数约束

无法表达概率性、时序性、因果性知识

SWRL(推理规则)

Horn子句形式的IF-THEN推导

规则前提必须完全已知,无法处理"可能原因"

SHACL(约束校验)

数据完整性、一致性验证

只能检测违规,不能解释违规原因

这三者的共同特点是:推理空间是封闭的。它们只能在一个有限的、预先定义的公理集合内进行演绎推理。给定公理集 A = {A₁, A₂, ..., Aₙ},推理引擎只能推导出 A 逻辑蕴含的结论,永远不会"跳出"公理集生成新的假设。

以电商经营分析为例,SWRL 可以优雅地写出:

代码语言:javascript
复制
有效订单(oid) ← 订单(oid) ∧ hasStatus(oid, s) ∧ s ∉ {5, 6}
高风险类目(cid) ← 类目(cid) ∧ 退款率(cid, r) ∧ r > 0.10

但 SWRL 无法写出:

代码语言:javascript
复制
GMV下降原因(?) ← GMV(近3月, ↓40%)

原因不是表达能力不够——理论上可以穷举所有可能原因写成规则。但"可能原因"的集合是开放的、无限的、依赖于外部世界知识的:宏观经济下行、竞品冲击、季节因素、供应链中断、质量事故、定价策略失误、营销活动透支……这个列表可以无限延伸,且每个原因的判断需要理解复杂的商业逻辑。

2.2 LLM 填补的空白:溯因推理与策略生成

LLM 能做到经典本体论做不到的,正是以下三类任务:

溯因推理(Abduction)——从现象反推原因:

"GMV 近 3 月下降 40.3%,服装类目贡献了下降的 62%。服装类目客单价从 289 元降至 201 元。结合 12 月清仓活动后服装退款率从 3% 升至 8% 再降至 5% 的轨迹,初步判断为清仓活动透支了服装类目的价格体系与质量信誉。"

这不是 IF-THEN 规则能推导的。这需要 LLM 理解"清仓活动通常意味着质量让步"、"质量让步会导致退款率上升"、"退款经历会降低复购意愿"、"持续降价会损害品牌价格体系"等一系列商业常识。

策略生成(Strategy Generation)——从分析到行动:

"[P0] 启动服装品质专项计划:供应商端加强抽检频次,商品端增加质检标注,预期将服装类目退款率从 5% 降至 3% 以下。执行方:供应链品控团队 + 商品运营团队。"

策略空间是无限的,无法被有限规则穷举。LLM 能结合本体中定义的实体关系(商品→店铺→供应商,订单→退款→原因)和外部商业知识,生成具体可执行的行动建议。

语境解读(Contextual Interpretation)——理解数字背后的含义:

"客单价在 2026-05 降至 201 元,创 12 个月新低。这并非积极的'薄利多销'信号,因为同期的订单量也在下降(518 单,环比 -38.6%),提示消费者不仅买得更少,还买得更便宜——这是需求萎缩叠加消费降级的双重信号。"

这种解读需要同时理解多个维度的数据,并将它们编织成一个连贯的商业叙事。这不是规则引擎能做到的。

2.3 关键区分:精确vs动态的分界线

因此,正确的架构不应该是"本体 vs LLM"的二选一,而是对任务按性质进行精确分层:

任务类型

推理性质

实现方式

精确层

数据查询、聚合计算、统计检验、口径验证

演绎推理(封闭空间)

预定义SQL + Python算法 + 本体约束

动态层

因果归因、趋势解读、策略生成、行动建议

溯因推理(开放空间)

LLM + 结构化Prompt + 护栏约束

这条分界线是本文所有分析和建议的基石。

图1:经典本体论能力边界

3. 当前系统问题分析

3.1 问题一:AI 动态生成确定性的 SQL

位置backend/ai/scenario_executor.py:150-250_execute_sql_step() 函数

现状描述:系统对每个 SQL 步骤默认先调用 DeepSeek API 生成 SQL,最多重试 3 次,AI 失败后才回退到 fallback_sql。AI 生成时的温度设为 0.0(ai_config.yaml),试图最大化稳定性。

问题分析

对于 GMV 这类预定义场景,SQL 是确定性问题——给定 Schema、映射和业务需求,正确的 SQL 是唯一的(或少数几个等价形式)。例如 S1 的月度 GMV 查询:

代码语言:javascript
复制
SELECT strftime('%Y-%m', gmt_create) ASperiod,
       SUM(payment_amount) AS gmv,
       COUNT(order_id) AS order_count
FROM t_order
WHEREstatusNOTIN (5,6)
AND gmt_create >= date('2025-05-17')
GROUPBYperiodORDERBYperiod

用 LLM 重新"发现"这个 SQL 是架构上的方向错误:

  • 引入幻觉风险:LLM 可能遗漏 status NOT IN (5,6) 过滤、使用错误的日期范围、用错聚合函数
  • 增加延迟:5 个 SQL 步骤 × 1-3 次 API 调用 = 5-15 次网络往返,累计延迟 10-30 秒
  • 消耗成本:每次执行 GMV 场景为 5 个确定性查询支付 Token 费用
  • 无增益:fallback_sql 已经是最优解,AI 生成的结果不会比它更好

改进建议

在场景 YAML 中增加显式开关,Phase3 默认走预定义 SQL:

代码语言:javascript
复制
# scenario_executor.py _execute_sql_step 改进
use_ai_sql = step.get("use_ai_sql", False)  # 默认不走AI

if use_ai_sql and api_key_configured:
    # AI 生成路径(仅用于验证"本体→SQL"能力的测试场景)
    ...
else:
    # 直接执行 fallback_sql(生产默认路径)
    final_sql = fallback_sql

AI 生成 SQL 的能力保留给 Phase4(用户自由提问),因为那里的问题是开放的、无法预定义所有可能的 SQL。

3.2 问题二:数据注入的暴力截断

位置backend/ai/scenario_executor.py:278-293:299:384-404

现状描述:当前系统有 7 处硬编码截断

行号

截断方式

后果

287

rows[:30]

每步骤只取前 30 行,丢弃 70%+ 的数据

299

json.dumps(...)[:20000]

JSON 可能在中间被截断,损坏数据结构

390

entities[:12]

M1 共 ~14 个实体,截断丢弃末尾的 Campaign/Coupon

402

rules[:6]

M3 共 20 条规则,只取前 6 条

179

db_schema_doc[:8000]

复杂 Schema 可能丢失关键表定义

340

raw_text[:6000]

LLM 输出的完整推理被截断在前端

368

field_mappings[:8]

每个实体的映射字段只取前 8 个

问题分析

这些截断的本质是用"字符数量"这个错误的维度去控制"信息质量"。前 30 行不一定是信息密度最高的 30 行;前 12 个实体不一定是与当前场景最相关的 12 个实体。以 GMV 场景为例——类目分布 S3 有 15 行数据,截断取前 30 行(实际 15 行全进入),看似没问题。但如果类目扩展到 100 个、时间跨度拉到 36 个月(36 × 100 = 3600 行),30 行的截断就是灾难性的——LLM 可能永远看不到贡献最大的那部分数据。

改进建议

统计摘要层替代暴力截断。在 stats_engine 中增加预计算函数,将 raw rows 转化为结构化洞察:

代码语言:javascript
复制
def compute_data_summary(rows, columns, value_key, period_key=None):
    """将 raw rows 转换为统计摘要(确定性计算,不依赖 LLM)"""
    values = [float(r[value_key]) for r in rows]
    return {
        "row_count": len(rows),
        "summary_stats": {
            "total": sum(values),
            "mean": statistics.fmean(values),
            "median": statistics.median(values),
            "std": statistics.pstdev(values),
            "q25": quantile(values, 0.25),
            "q75": quantile(values, 0.75),
            "skewness": compute_skewness(values),
        },
        "top_n": sorted(rows, key=lambda r: -float(r[value_key]))[:5],
        "bottom_n": sorted(rows, key=lambda r: float(r[value_key]))[:5],
        "anomalies": detect_outliers(values, method="modified_zscore"),
        "trend": compute_trend(rows, period_key, value_key) if period_key elseNone,
    }

效果:1000 行原始数据 → ~500 字符结构化摘要。LLM 获得的是数据的统计画像而不仅仅是数据的前 N 行

3.3 问题三:置信度的伪量化

位置backend/ai/scenario_executor.py:413-428

现状描述:置信度的计算方式如下:

代码语言:javascript
复制
_CONF_RE = re.compile(r"置信度[::]?\s*(\d+)\s*%")

# 从 LLM 输出文本中提取所有"置信度: XX%"模式
confidences = [85, 72, 90, 68, 79]  # 示例
avg = sum(confidences) / len(confidences)  # → 78.8

问题分析

这个"置信度"有三个层面的问题:

  1. 不是统计量:85% 和 72% 之差没有统计学意义。一个发现标注 85%,另一个标注 72%,并不表示前者的可靠性比后者高 13 个百分点——它们只是 LLM 在特定时刻的措辞习惯。
  2. 不可校准:LLM 没有历史准确率作为参照基准。真正的置信度需要 "这个判断正确的概率是 X%" 这样的校准数据支撑。
  3. 易被 Prompt 操纵:如果在 Prompt 中写"宁可低置信度也不要过度自信",所有的数字都会系统性偏低。如果写"做自信的分析师",数字会系统性偏高。

改进建议

建立双轨置信度标注:统计置信度(系统计算)+ LLM 置信度(LLM 标注),并明确区分两者的语义。

代码语言:javascript
复制
# 统计置信度:由代码计算(确定性)
stats_confidence = {
    "trend_significance": mann_kendall_test(values),    # 趋势的统计显著性
    "anomaly_confidence": grubbs_test(values),           # 异常点的置信水平
    "effect_size": cohens_d(group_a, group_b),          # 效应量
}

# LLM 置信度:LLM 自评(启发式),但从 Prompt 层面约束其含义
# Prompt 中指定:
# "置信度: XX% — 其中 XX 表示:你有 XX% 的把握认为这个推断在类似的商业场景中是成立的"

3.4 问题四:本体模型的浅层利用

位置backend/ai/scenario_executor.py:384-404

现状描述_build_ontology_context() 将本体信息注入 Prompt 时,采用简单粗暴的列表截取:

代码语言:javascript
复制
for ent in m1.get("entities", [])[:12]:      # 只取前12个实体
    parts.append(f"- {ent.get('id')}: {ent.get('name')}")

for r in m3.get("rules", [])[:6]:            # 只取前6条规则
    parts.append(f"- {r.get('id')}: {r.get('name')} — {r.get('description')}")

问题分析

这种注入方式有两个致命缺陷:

  1. 只注入了本体字典(ID→名称),未注入本体结构(关系网络)。LLM 知道 "ENT-ORD-001 是订单",但不知道 "订单包含了 1 到多个订单明细"、"订单明细通过 category_id 关联到 3 级类目树"。这些关系信息对于 LLM 理解数据之间的关联至关重要。
  2. 未按语义相关度筛选。M3 有 20 条规则(含计算规则和验证规则),但 GMV 场景只需要前 3 条计算规则(GMV 口径、有效订单数口径、客单价口径)。其余 17 条与 GMV 无关的规则(如退款率、营销 ROI、库存周转率)注入后不仅浪费上下文,还可能分散 LLM 的注意力。

改进建议

将本体注入从"列表枚举"升级为"语义子图":

代码语言:javascript
复制
def _build_ontology_context(scenario, include_relations=True):
    """构建当前场景的语义子图"""
    # 1. 根据 key_metrics 反向查找相关实体
    relevant_entities = set()
    for metric_id in scenario["key_metrics"]:
        metric = find_metric(metric_id)
        relevant_entities.update(metric["depends_on_entities"])

    # 2. 沿关系扩展一跳(找到关联实体)
    for ent_id in list(relevant_entities):
        for rel in find_relations_involving(ent_id):  # 一跳关系
            relevant_entities.add(rel["targetEntity"])

    # 3. 只注入相关实体的完整信息(属性+关系+规则)
    context = {
        "entities": [full_entity_info(eid) for eid in relevant_entities],
        "metrics": [full_metric_info(mid) for mid in scenario["key_metrics"]],
        "relations": find_relations_between(relevant_entities),
        "relevant_rules": find_rules_for_entities(relevant_entities),
    }
    return format_as_prompt(context)

图2:当前系统架构-精确+动态

4. 改进方案:三层分离的融合推理架构

基于上述四个问题的分析,我们提出一个**"精确层 + 护栏机制 + 动态层"三层分离**的融合推理架构。

4.1 精确计算层(Deterministic Layer)

精确层的职责是:所有输入确定、输出确定的计算任务,均在这一层完成,不依赖任何概率模型。

具体包括五个组件:

① 本体模型定义(≈ OWL TBox + 指标本体 + 规则库)

  • M1:对象模型 —— 12 个实体 × 19 条关系,定义实体属性、生命周期、约束
  • M_Metric:指标模型 —— 20 个指标 × SQL 模板 × 原子粒度 × 下钻维度 × 单位
  • M3:规则模型 —— 20 条计算规则(口径定义)+ 4 条数据质量约束
  • 改进点:按场景语义相关性筛选注入,而非列表截取前 N 条

② 预定义 SQL 执行器

  • 场景 YAML 中 fallback_sql 作为 primary SQL,经过 DBA 审核 + 预执行验证
  • AI SQL 生成保留给 Phase4(用户自由提问),因为那里的查询空间是开放的
  • 改进点:加 use_ai_sql: true/false 显式开关,Phase3 默认 false

③ 统计计算引擎

  • 已有:mom_yoy(同环比)、anomaly_3sigma(异常检测)、rfm_scoreabc_classification
  • 改进点:扩展统计摘要函数 —— compute_data_summary() 自动计算分布形态、分位数、变化贡献度,将 raw rows 转为洞察摘要

④ 客观置信度计算引擎(新增)

  • 趋势置信度:Mann-Kendall 检验 + Theil-Sen 斜率估计
  • 异常置信度:Grubbs 检验 + 修正 Z-score
  • 差异显著性:Cohen's d 效应量 + 自助法置信区间

⑤ 智能数据闸门(新增)

  • Layer 1(必入):统计摘要(趋势/分布/异常点/贡献度)
  • Layer 2(尽力):代表性样本(P0/P25/P50/P75/P100 + Top-N 变化点)
  • Layer 3(按需):Agentic 模式下 LLM 主动索取的详细数据

4.2 动态推理层(Heuristic Layer)

动态层的职责是:所有需要溯因推理、语境解读、策略生成的任务,均由 LLM 完成,但输入和输出均受精确层的事实约束。

输入约束(护栏入)

  • 精确层产出的结构化数据作为 LLM 输入的"事实部分"
  • Prompt 中明确分离"事实陈述(不可质疑)"和"推理任务(需要你完成)"
  • 注入的每条数据附带来源标注(来自哪个 SQL 步骤、哪个统计计算)

推理引擎

  • DeepSeek Reasoner(或其他推理增强模型),温度 0.1-0.3
  • 思维链逐步展开,每步引用具体数据
  • 区分"强推断"和"弱推断"——有充分数据支撑的结论 vs. 基于经验的推测

输出约束(护栏出)

  • 结构化 XML 输出(thinking / conclusion / recommendations / charts)
  • 每条结论必须引用数据来源
  • 双轨置信度:统计置信度(系统计算)+ LLM 推理置信度(LLM 自评,正则提取)

Phase4 对话式探索

  • 用户自由提问 → 意图识别 → AI 生成 SQL(这里 AI 是必需的,因为问题空间开放)
  • 仍需安全网:SQL 校验 + 试运行 + fallback
  • 场景化 Agentic 分步:LLM 先看摘要 → 发现问题 → 主动索取细节 → 生成完整报告

4.3 护栏机制(Guardrail Layer)

护栏层是精确层和动态层之间的结构化接口协议。它的核心原则是:

精确层的输出 = 动态层的输入约束。LLM 可以在事实基础上自由推理,但不能偏离或否认既定事实。

具体包括四条规则:

  1. 事实不可否认:Prompt 中明确标注"以下数据是经数据库查询和统计计算的确定性事实,请勿质疑或忽略"
  2. 推断需标注:LLM 需要在"这是事实"和"这是我的推断"之间做明确区分
  3. 来源可回溯:每条分析结论需追溯到具体的 SQL 步骤编号或统计指标
  4. 置信度双轨:统计置信度和 LLM 置信度分别标注,用户对两者的可靠性有清晰的认知

4.4 实施优先级

优先级

改进项

工作量

影响

P0

Phase3 SQL 默认走 fallback,加 use_ai_sql 开关

1 天

消除最大幻觉源,延迟降低 90%

P1

增加统计摘要层(扩展 stats_engine)

3-5 天

解决数据截断问题,提升推理质量

P2

双轨置信度引擎

3-5 天

置信度从"修辞"升级为"度量"

P2

本体语义子图按相关性筛选注入

2-3 天

提升 LLM 对本体信息的利用效率

P3

智能数据闸门分层注入

5-7 天

从"推"模式升级为"推+拉"模式

P3

Agentic 多轮推理

7-10 天

LLM 主动索取数据,降低单次 Prompt 的信息负载

图3:改进方案——精确层+护栏机制+动态层的融合推理架构

图4:推理空间对比——经典本体论 vs 本体驱动LLM混合推理

5. 核心结论

5.1 经典本体论与 LLM 不是替代关系,而是分层协作关系

经典本体论(OWL+SWRL+SHACL)的价值在于定义精确的语义边界:什么是有效的订单?GMV 的计算口径是什么?退款率归属于哪个时间窗口?这些是公理化的、不可妥协的。规则引擎在这里是不可替代的。

但经典本体论的推理空间是封闭的——它只能在一个有限的公理集合内做演绎。真实商业分析需要在这个封闭空间之外进行溯因推理和策略生成,而这是 LLM 能做到而 SWRL 规则引擎永远做不到的。

5.2 "该精确的一定要精确"是系统设计的第一原则

任何输入确定、输出确定的任务——SQL 生成、数据聚合、统计计算——都应该在确定性代码层完成。将这类任务交给 LLM 不是"智能化",而是"概率化"——把一个 100% 可靠的操作降级为一个概率性的操作。当前代码中 AI 生成 SQL 作为 Phase3 默认路径,是这一原则被违反的典型案例。

5.3 AI 的重点不是"生成事实",而是"解读事实"

LLM 在分析系统中的正确位置是:接收确定性计算产生的结构化事实,结合本体模型定义的语义关系,进行溯因推理和策略生成。

精确层负责"是什么"(What happened),动态层负责"为什么"(Why it happened)和"怎么办"(What to do)。前者靠 SQL 和统计算法,后者靠 LLM 的语义理解能力。两者不能混淆,混淆的代价是:精确性丢失 + 成本增加 + 推理质量下降。

5.4 "推"模式应向"推+拉"模式演进

当前的数据注入是"推"模式——系统决定 LLM 应该看什么,然后一次性推过去。更先进的模式是"推+拉"——系统推送统计摘要(确保覆盖),LLM 在推理过程中主动索取它认为关键的细节数据(确保深度)。

这种 Agentic 分步模式是将 LLM 从"被动阅读者"升级为"主动分析者"的关键一步,也是融合推理架构从 Demo 走向生产的关键进化路径。

5.5 一句话总结

用确定性代码定义语义边界,用 LLM 在边界之外做开放式推理,用护栏机制确保两者之间的信息传递不失真——这是本体驱动 AI 混合推理的核心架构原则。


本文基于 ecommerce-ontology-analytics 项目 v1.0 代码分析撰写。所有引用代码行号以分析时的版本为准。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 人月聊IT 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 摘要
  • 1. 引言:一个架构层面的根本混淆
  • 2. 经典本体论的推理空间与LLM的互补性
    • 2.1 经典本体论:一个封闭的演绎系统
    • 2.2 LLM 填补的空白:溯因推理与策略生成
    • 2.3 关键区分:精确vs动态的分界线
  • 3. 当前系统问题分析
    • 3.1 问题一:AI 动态生成确定性的 SQL
    • 3.2 问题二:数据注入的暴力截断
    • 3.3 问题三:置信度的伪量化
    • 3.4 问题四:本体模型的浅层利用
  • 4. 改进方案:三层分离的融合推理架构
    • 4.1 精确计算层(Deterministic Layer)
    • 4.2 动态推理层(Heuristic Layer)
    • 4.3 护栏机制(Guardrail Layer)
    • 4.4 实施优先级
  • 5. 核心结论
    • 5.1 经典本体论与 LLM 不是替代关系,而是分层协作关系
    • 5.2 "该精确的一定要精确"是系统设计的第一原则
    • 5.3 AI 的重点不是"生成事实",而是"解读事实"
    • 5.4 "推"模式应向"推+拉"模式演进
    • 5.5 一句话总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档