2026-07-23 Frame Representations and the Declarative/Procedural Controversy
2026-07-23 Frame Representations and the Declarative/Procedural Controversy
阅读目的:追溯"声明性知识"与"过程性知识"这对术语在计算机/AI领域的源头定义,为论文综述中知识分类的理论依据提供学术脉络支撑
核心贡献:在AI领域首次系统定义了声明性知识(declarative knowledge)与过程性知识(procedural knowledge),并提出框架(Frame)表示作为融合两种知识的方案
1. 文献档案 (Metadata)
引用格式:Winograd T. Frame representations and the declarative/procedural controversy[C]//Bobrow D G, Collins A. Representation and Understanding. New York: Academic Press, 1975: 185-210.
- 题目:Frame Representations and the Declarative/Procedural Controversy
- 英文题目:同上
- 作者:Terry Winograd
- 机构:Computer Science Department, Stanford University, Stanford, California
- 期刊/会议:收录于 Bobrow D G, Collins A (Eds.), Representation and Understanding, Academic Press
- 级别:AI领域经典文献,被Squire (2004)等后世文献广泛引用
- 链接:无公开DOI(1975年出版物)
- DOI:无
- 基金:内容中未提及相关信息
- 标签:知识表示、声明性知识、过程性知识、框架理论、AI历史
2. 文章框架与思路 (Structure)
2.1 整体结构
| 章节 | 标题 | 核心内容 |
|---|---|---|
| I | Introduction(引言) | 提出问题:AI领域存在声明性与过程性表示的争论 |
| II | The Simple Issues(表面问题) | 两派各自的立场和优缺点 |
| III | Some Underlying Issues(深层问题) | 争论的本质:模块化vs交互性的哲学分歧 |
| IV | Steps Toward a Middle(走向中间路线) | 模块化编程、编译事实等折中方案 |
| V | A First Attempt at Synthesis(初步融合尝试) | 用框架(Frame)表示来融合两种知识 |
| VI | Conclusion(结论) | 框架表示成功模糊了声明性/过程性的边界 |
2.2 每章思路
第I章:引言(第185页)
直接点明争论:
"Any discussion today of 'the representation problem' is likely to entail a debate between proponents of declarative and procedural representations of knowledge."
提到Minsky (1975)的框架理论作为可能的融合方案,预告论文结构。
第II章:表面问题(第186-191页)
最长、最核心的部分,分两个小节:
- II-A 声明性知识的优点(Flexibility-Economy, Understandability-Learnability, Accessibility-Communicability)
- II-B 过程性知识的优点(Procedural-Modeling, Second Order Knowledge, Heuristic Knowledge)
用谓词逻辑 vs IF-THEN规则做了具体对比示例。
第III章:深层问题(第191-192页)
引用Simon (1969)的"近可分解系统"理论,指出争论本质是关于"复杂系统如何组织"的哲学分歧——模块化vs交互性。
第IV章:走向中间(第193-195页)
介绍模块化编程(Dijkstra等)和编译事实(Sandewall, Sussman)等折中方案,指出都不够根本。
第V章:框架表示(第195-209页)
核心贡献部分,提出用Frame融合两种知识:
- 声明性部分:IMP定义 + 泛化层次
- 过程性部分:WHEN-FILLED / TO-FILL 附着
第VI章:结论(第209-210页)
框架表示成功模糊了声明性/过程性的边界,两种知识应该融合。
2.3 逻辑主线
第I章:引言
AI领域存在声明性vs过程性的争论
↓
第II章:表面问题
声明性派:知识=事实(灵活、可理解、可共享)
过程性派:知识=操作(高效、能建模过程、含启发式)
两派各有道理,各有不足
↓
第III章:深层问题
争论的本质是模块化vs交互性的哲学分歧
声明性=弱交互+强模块化(像公理体系)
过程性=强交互+弱模块化(像程序)
↓
第IV章:走向中间
模块化编程、编译事实等折中方案,但都不够根本
↓
第V章:框架表示(核心贡献)
用Frame融合两种知识:
声明性部分:IMP定义 + 泛化层次
过程性部分:WHEN-FILLED / TO-FILL 附着
→ 框架既有结构化知识,又有动态操作能力
↓
第VI章:结论
框架表示成功模糊了声明性/过程性的边界
两种知识应该融合,而不是对立
3. 核心概念与疑问 (Concept & Q&A)
Q1:这个课题为什么值得研究?
AI领域存在两种截然不同的知识表示范式——声明性表示和过程性表示——它们各自有强大的支持者,争论激烈,但缺乏系统的分析和融合方案。两种表示方式各有缺陷——声明性不够高效,过程性不够灵活,需要找到融合方案。争论的本质涉及模块化与交互性的根本权衡。框架(Frame)理论的出现为融合提供了可能性。
Q2:目前正在用什么方法处理问题?已经做到了哪一步?
两种主流范式:
- 声明性范式:谓词逻辑、公理系统(McCarthy, Sandewall),知识以逻辑公式存储,通用推理引擎负责演绎。已做到理论基础成熟。
- 过程性范式:产生式系统、程序化知识(Minsky, Hewitt),知识嵌入在程序代码中直接执行。已做到实践经验积累。
- 折中方案:模块化编程(Dijkstra等)、编译事实(Sandewall)等已有探索。
未做到:两种表示的根本融合;统一的表示框架。
Q3:为什么现有的成果还不够?
声明性范式的不足——大量实际AI知识是启发式(heuristic)的,既不是"简单事实"也不是通用推理规则,而是"如果你在这些特定条件下试图推导这种特定的东西,你应该尝试以下策略"。试图将领域知识保持为声明性数据的程序,代价是将自己限制在越来越简化的世界中。
过程性范式的不足——要求知识通过说明"如何使用"来指定,往往存在多种可能的使用方式,必须预先指定所有使用方式是不令人满意的。
Q4:现在认为的问题成因、机制是什么?
争论的本质是关于"复杂系统如何组织"的两种对立哲学观:
"It is not simply a technical issue of formalisms, but is an expression of an underlying difference in attitude toward the problems of complexity. Declarativists and proceduralists differ in their approach to the duality between modularity and interaction."
声明性范式追求模块化→牺牲了交互效率;过程性范式追求交互效率→牺牲了模块化。需要在保持模块化的同时允许有意义的交互。
Q5:成因、机制的理论基础是什么?
三个理论基础:
- Simon (1969) 的"近可分解系统"理论——复杂系统由层次化子系统组成,内部紧密、外部弱耦合。
- Ryle (1949) 的哲学区分——"knowing how" vs "knowing that"(Winograd在正文中提及但未正式引用)。
- Minsky (1975) 的框架理论——框架作为表示格式可以融合声明性和过程性知识。
Q6:论文作者建议的未来研究方向是什么?
- 过程性附着需要更深入——目前的WHEN-FILLED/TO-FILL还比较粗糙
- 学习与模块化的关系需要研究——框架如何在保持模块化的同时支持学习
- 符号操作的表达能力有限——需要探索更丰富的表示形式
- 结论中承认:"It is yet to be seen whether this blending will in the end clarify our vision, or whether it will only lead to badly directed groping."
Q7:综合以上,你的研究需要填补的真正空白是什么?
Winograd (1975) 的局限:
- 1975年的技术——框架表示已经过时
- 只在AI领域讨论,缺乏对大规模真实文本的处理能力
- 提出融合但没有具体实现
- 没有LLM
本研究可以填补:
- 用现代知识图谱(继承框架的结构化表示思想)和流程图(继承框架的过程性附着思想)分别表示两类知识
- 在临床指南领域验证,处理真实的医学文档
- 有完整的原型系统实现
- 利用LLM作为推理引擎和知识获取工具
- 比Winograd更进一步:两种知识分开表示但联动,而非混合在单一框架中
4. 痛点与动机 (Motivation)
- 现有问题:1970年代AI领域存在声明性知识和过程性知识的表示之争,两派各有优劣但缺乏融合方案。声明性知识灵活但低效,过程性知识高效但不灵活。折中方案(模块化编程、编译事实)都不够根本。
- 本文思路:提出框架(Frame)表示作为融合方案——声明性部分由IMP定义和泛化层次构成,过程性部分通过WHEN-FILLED/TO-FILL附着在框架上,从而在单一表示中同时包含结构化知识和动态操作能力。
5. 核心方法 (Methodology)
本文是理论思辨性论文(非实验论文),方法论特点是:
- 对立分析法:先分别阐述声明性和过程性表示的优缺点(第II章)
- 深层归因:将表面争论归结为模块化vs交互性的哲学分歧(第III章)
- 中间路线探索:考察已有折中方案的局限(第IV章)
- 综合创新:提出框架表示作为融合方案(第V章)
- 示例论证:用"日"(Day)框架的完整示例展示框架表示的具体运作
核心概念:
- IMP(Important Element):框架中的重要属性,对应Minsky的"槽(Slot)"
- 泛化层次(Generalization Hierarchy):概念之间的is-a继承关系
- 过程性附着(Procedural Attachment):在框架上附加WHEN-FILLED/TO-FILL操作
- 声明性知识:以独立事实形式存储的知识(knowing that)
- 过程性知识:嵌入在操作步骤中的知识(knowing how)
- 启发式(Heuristic):经验法则,"在特定条件下应该尝试特定策略"
6. 实验与结果 (Experiments)
本文无传统实验。核心"结果"是框架表示的示例演示:
示例:用框架表示"日"(Day)的概念
步骤1:定义IMP(第199-200页)
| IMP | 描述 |
|---|---|
| Year | Integer |
| Month | Month-name |
| Day-number | Integer range (min 1, max 31) |
| Day-of-week | Weekday-name |
| Sequence-number | Integer |
| ASCII-form | Integer, length 6 |
步骤2:展示特定日期和一般模式的IMP填充(第202页)
| "July 4, 1974" | "Any Thursday in May" |
|---|---|
| Year: 1974 | Month: May |
| Month: July | Day-of-week: Thursday |
| Day-number: 4 | (其余为空) |
步骤3:定义IMP之间的关系(第204页)
步骤4:附加过程性操作(第205-206页)
| IMP | 过程 |
|---|---|
| Day-number | WHEN-FILLED: (CHECK-RELATION day-number, month) |
| Day-of-week | TO-FILL: (APPLY calendar-lookup TO year, month, day-number) |
| ASCII-form | WHEN-FILLED: (FILL year, month, day-number) |
结果评估: 框架表示成功展示了声明性和过程性知识可以在同一表示中共存,但作者自己也承认这只是"初步尝试"(A First Attempt at Synthesis)。
7. 思考与评价 (Comments)
-
优点:
- 首次在AI领域系统定义了声明性/过程性知识的争论,具有重要的历史地位
- 将技术争论升华为哲学层面的分析(模块化vs交互性),论证深刻
- 框架表示的示例("日"框架)非常清晰,易于理解
- 过程性附着(WHEN-FILLED/TO-FILL)的思想具有前瞻性
- 对声明性和过程性知识各自的优缺点分析全面客观
-
不足:
- 论文是理论思辨性的,缺乏实验验证
- 框架表示的示例过于简单(日历管理),未涉及复杂领域
- 1975年的技术背景已经过时
- 过程性附着的WHEN-FILLED/TO-FILL还比较粗糙,缺乏深入讨论
- 参考文献列表中未引用Ryle (1949),但正文中引用了其核心概念
-
启发:
- "声明性/过程性知识"这对术语的完整学术脉络:Ryle (1949) → Winograd (1975) → Squire (2004) → 本研究
- 框架的IMP概念 = 知识图谱的属性/插槽;泛化层次 = 知识图谱的层级关系
- 过程性附着思想 = 三端联动机制的学术前身
- Winograd主张"融合",本研究主张"分开表示但联动"——可以作为理论推进的对照
补充:两种知识的原始定义
声明性知识(Declarative Knowledge)——第187页
"The declarativists, on the other hand, do not believe that knowledge of a subject is intimately bound with the procedures for its use. They see intelligence as resting on two independent components: a general problem-solving mechanism for manipulating facts of all sorts, and a set of specific facts describing particular knowledge domains."
过程性知识(Procedural Knowledge)——第186-187页
"The proceduralists assert that our knowledge is primarily of 'know-how' here. The human information processor is a stored program device with its knowledge of the world embedded in the programs. What a person (or robot) knows about the English language, the game of chess, or the physical properties of his world is coextensive with his set of programs for operating with it."
两者对比示例(第188页)
| 维度 | 声明性表示 | 过程性表示 |
|---|---|---|
| 形式 | ∀x [Chicagoan(x) & Lawyer(x) ⇒ Clever(x)] | IF someone is a lawyer THEN check if from Chicago IF so THEN assert clever |
| 通用性 | 一条公式可用于多种推理场景 | 只适用于特定操作场景 |
| 灵活性 | 高——推理引擎自动决定怎么用 | 低——必须预先指定所有使用方式 |
| 效率 | 低——每次都要通用推理 | 高——直接执行不需要推理 |
补充:"knowing how" vs "knowing that"的溯源
Winograd (1975) 第186页提及但未正式引用Ryle (1949):
"It is an artificial intelligence incarnation of the old philosophical distinction between 'knowing that' and 'knowing how'."
参考文献列表中没有Ryle (1949)——1970年代学术写作的习惯,当时这一概念已是哲学和AI圈子的常识。
完整传承链条:
| 作者 | 年份 | 术语 |
|---|---|---|
| Ryle | 1949 | knowing how vs knowing that |
| Winograd | 1975 | procedural knowledge vs declarative knowledge |
| Squire | 2004 | nondeclarative memory vs declarative memory |
补充:Simon的"近可分解系统"
引用Simon (1969, p. 100), The Architecture of Complexity:
"the short-run behavior of each component subsystem is approximately independent of the short-run behavior of the other components"
中文标准译名:近可分解系统。复杂系统几乎都是层次化的,子系统内部交互紧密,子系统之间交互较弱。
记录时间:2026-07-23

浙公网安备 33010602011771号