@promptx/cli
Version:
DPML-powered AI prompt framework - Revolutionary AI-First CLI system based on Deepractice Prompt Markup Language. Build sophisticated AI agents with structured prompts, memory systems, and execution frameworks.
283 lines (267 loc) • 10.4 kB
JavaScript
// ThinkingPattern Interface - 思维模式接口
// 认知心理学基础:Cognitive Strategies(认知策略)
//
// === 认知心理学概念对齐 ===
//
// 1. 认知策略(Cognitive Strategies)
// - 解决问题时采用的思维方法和路径
// - 不同策略产生不同的认知过程和结果
// - 策略选择影响信息处理的方式
//
// 2. 模式敏感性(Pattern Sensitivity)
// - 基于 Thought.js 的字段分类分析
// - 专注于模式敏感和模式相关的字段
// - 不同思维模式产生不同的认知输出
//
// 3. 提示工程(Prompt Engineering)
// - ThinkingPattern 是 prompt 生成器
// - 指导 AI 按照特定模式思考
// - 将认知策略转化为可执行的指令
//
// === 设计原则 ===
//
// 1. 单一职责:只负责生成 prompt,不执行思考
// 2. 模式聚焦:只处理模式敏感的字段
// 3. 简洁接口:基于奥卡姆剃刀原则的最小设计
// 4. 灵活组合:支持不同阶段的 prompt 生成
//
// === 方法命名约定 ===
//
// 我们使用三种方法后缀来区分不同的处理类型:
//
// 1. **Pattern** - 返回静态的模式化指导文本
// - 不需要参数渲染,直接返回指导内容
// - 例如:getGoalUnderstandingPattern()
// - 返回:"将目标分解为可验证的逻辑命题..."
//
// 2. **Template** - 返回需要渲染的模板字符串
// - 包含占位符,需要参数填充
// - 例如:getGoalUnderstandingTemplate()
// - 返回:"分析目标 ${goal.content} 的核心概念..."
//
// 3. **Compute** - 执行系统计算或调用
// - 不是返回文本,而是执行实际的计算操作
// - 例如:computeRecalledEngrams(cues)
// - 执行:调用 recall() 方法获取记忆
class ThinkingPattern {
/**
* 获取目标理解的模式化指导
* 【Pattern方法】返回静态的指导文本,不需要参数渲染
*
* 认知心理学基础:
* - Goal Representation(目标表征):如何理解和表征目标
* - Framing Effect(框架效应):不同视角产生不同理解
*
* 示例差异:
* - 推理模式:"将目标分解为可验证的命题"
* - 创造模式:"探索目标的多种可能性和潜在含义"
* - 批判模式:"质疑目标的前提假设和隐含偏见"
*
* @returns {string} 静态的目标理解指导
*/
getGoalUnderstandingPattern() {
throw new Error('ThinkingPattern.getGoalUnderstandingPattern() must be implemented');
}
/**
* 获取激活扩散线索的模式化指导
* 【Pattern方法】返回静态的线索激活指导
*
* 认知心理学基础:
* - Spread Activation(激活扩散):概念激活沿语义网络传播
* - Selective Attention(选择性注意):不同模式关注不同信息
*
* 示例差异:
* - 推理模式:"请识别因果关系线索,如'因为'、'所以'、'导致'"
* - 发散模式:"请寻找跨领域的联想,不限于直接相关的概念"
* - 收敛模式:"请聚焦于最核心、最本质的概念"
*
* @returns {string} 静态的线索激活指导
*/
getSpreadActivationPattern() {
throw new Error('ThinkingPattern.getSpreadActivationPattern() must be implemented');
}
/**
* 获取记忆使用的模式化指导
* 【Pattern方法】返回静态的记忆使用指导
*
* 认知心理学基础:
* - Memory Utilization(记忆利用):如何使用检索到的记忆
* - Selective Processing(选择性加工):关注记忆的不同方面
*
* 示例差异:
* - 推理模式:"关注记忆中的逻辑关系和因果链条"
* - 经验模式:"寻找相似案例和实践经验"
* - 系统模式:"识别记忆中的结构和模式"
*
* @returns {string} 静态的记忆使用指导
*/
getMemoryUtilizationPattern() {
throw new Error('ThinkingPattern.getMemoryUtilizationPattern() must be implemented');
}
/**
* 获取前序思想参考的模式化指导
* 【Pattern方法】返回静态的前序思想参考指导
*
* 认知心理学基础:
* - Continuity of Thought(思维连续性):基于已有认知继续深化
* - Context Effect(语境效应):前序思想影响当前理解
*
* 示例差异:
* - 推理模式:"基于前序结论继续推导下一步"
* - 发散模式:"从前序思想中寻找新的探索方向"
* - 收敛模式:"整合前序发现,聚焦核心要点"
*
* @returns {string} 静态的前序思想参考指导
*/
getPreviousThoughtReferencePattern() {
throw new Error('ThinkingPattern.getPreviousThoughtReferencePattern() must be implemented');
}
/**
* 获取洞察发现的模式化指导
* 【Pattern方法】返回静态的洞察发现指导
*
* 认知心理学基础:
* - Insight Problem Solving(洞察问题解决):突然的理解
* - Pattern Recognition(模式识别):发现隐藏的规律
*
* 示例差异:
* - 分析模式:"请通过逻辑推导发现内在规律"
* - 创造模式:"请寻找意想不到的概念组合"
* - 批判模式:"请识别潜在的问题和矛盾"
*
* @returns {string} 静态的洞察发现指导
*/
getInsightDiscoveryPattern() {
throw new Error('ThinkingPattern.getInsightDiscoveryPattern() must be implemented');
}
/**
* 获取结论形成的模式化指导
* 【Pattern方法】返回静态的结论形成指导
*
* 认知心理学基础:
* - Conclusion Drawing(得出结论):综合信息形成判断
* - Mental Representation(心理表征):结论的认知形式
*
* 示例差异:
* - 叙事模式:"请将发现组织成有因果关系的故事"
* - 系统模式:"请构建结构化的知识框架"
* - 实践模式:"请提出具体可行的行动建议"
*
* @returns {string} 静态的结论形成指导
*/
getConclusionFormationPattern() {
throw new Error('ThinkingPattern.getConclusionFormationPattern() must be implemented');
}
/**
* 获取置信度评估的模式化指导
* 【Pattern方法】返回静态的置信度评估指导
*
* 认知心理学基础:
* - Metacognitive Monitoring(元认知监控):评估自己的认知
* - Confidence Judgment(置信判断):对结论可靠性的评估
*
* 示例差异:
* - 推理模式:"基于逻辑链的完整性和前提的可靠性评估"
* - 直觉模式:"基于整体感觉和经验匹配度评估"
* - 经验模式:"基于相似案例的成功率评估"
*
* @returns {string} 静态的置信度评估指导
*/
getConfidenceAssessmentPattern() {
throw new Error('ThinkingPattern.getConfidenceAssessmentPattern() must be implemented');
}
/**
* 获取思维模式的特征描述
* 用于让 AI 理解当前模式的核心特点
*
* 认知心理学基础:
* - Strategy Awareness(策略意识):理解所用策略的特点
* - Cognitive Style(认知风格):不同的信息处理偏好
*
* @returns {string} 模式特征描述
*/
getPatternCharacteristics() {
throw new Error('ThinkingPattern.getPatternCharacteristics() must be implemented');
}
/**
* 获取 Thought 结构的模式化指导
* 【Pattern方法】返回静态的 Thought 构造指导
*
* 认知心理学基础:
* - Schema(图式):组织信息的认知框架
* - Mental Model(心智模型):对系统运作的理解
*
* @returns {string} 静态的 Thought 构造指导
*/
getThoughtStructurePattern() {
throw new Error('ThinkingPattern.getThoughtStructurePattern() must be implemented');
}
/**
* 组装完整的思考指导
* 【Pattern方法】整合所有模式化指导,形成完整的指导文本
*
* 设计考虑:
* - 阶段感知:根据 thought 的当前状态选择性生成
* - 渐进引导:从线索激活到结论形成的完整流程
* - 灵活组合:支持部分阶段的单独使用
*
* @param {Thought} thought - 当前思想状态
* @returns {string} 完整的下一步思考指导
*/
getThinkingGuidancePattern(thought) {
throw new Error('ThinkingPattern.getThinkingGuidancePattern() must be implemented');
}
// === Compute 方法:系统计算部分 ===
// 这些方法执行实际的系统调用,而不是生成文本
/**
* 计算并格式化召回的记忆
* 【Compute方法】将已召回的记忆格式化为可读的提示词
*
* 注意:记忆检索已在 Cognition 层完成,这里只负责格式化显示
*
* 格式化策略:
* - 按强度分组:高强度(核心经验)、中强度(辅助经验)、低强度(背景信息)
* - 显示关键信息:内容、Schema路径、强度值
* - 语义鸿沟标注:区分私有经验与公共知识
*
* @param {Array<Engram>} recalledEngrams - 已召回的记忆数组
* @returns {string} 格式化的记忆显示文本
*/
computeRecalledEngrams(recalledEngrams) {
throw new Error('ThinkingPattern.computeRecalledEngrams() must be implemented');
}
/**
* 计算思考状态
* 【Compute方法】基于 thought 内容推断当前状态
*
* 状态判断逻辑(系统自动执行):
* - 基于 iteration、confidence、engrams 数量等客观指标
* - 评估内容完整性、逻辑一致性、目标达成度
*
* @param {Thought} thought - 当前思想状态
* @returns {string} 推断的状态(exploring/deepening/converging/completed/blocked/contradictory/exceeded)
*/
computeThinkingState(thought) {
throw new Error('ThinkingPattern.computeThinkingState() must be implemented');
}
/**
* 计算迭代次数
* 【Compute方法】基于前序思想计算当前迭代
*
* @param {Thought} previousThought - 前序思想
* @returns {number} 当前迭代次数
*/
computeIteration(previousThought) {
throw new Error('ThinkingPattern.computeIteration() must be implemented');
}
/**
* 计算时间戳
* 【Compute方法】获取当前时间戳
*
* @returns {number} 当前时间戳
*/
computeTimestamp() {
throw new Error('ThinkingPattern.computeTimestamp() must be implemented');
}
}
module.exports = { ThinkingPattern };