UNPKG

@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.

193 lines (181 loc) 4.67 kB
// ThinkingState - 思考状态枚举 // 基于认知心理学的思维阶段理论(Stages of Thinking) // // === 认知心理学基础 === // // 思考过程的阶段性特征: // 1. 探索阶段(Exploration):激活扩散,寻找相关信息 // 2. 整合阶段(Integration):识别模式,产生洞察 // 3. 收敛阶段(Convergence):形成结论,评估质量 // 4. 终止阶段(Termination):达成目标或资源耗尽 // // === 状态推断原则 === // // 系统基于 Thought 的客观指标自动推断状态: // - 不依赖 AI 的主观判断 // - 基于多个字段的组合分析 // - 确保状态判断的一致性和可靠性 /** * 思考状态枚举 * * 定义思考过程中的各种可能状态 * 用于系统控制思考流程和终止条件 */ class ThinkingState { /** * 探索中(Exploring) * * 认知特征: * - 激活扩散活跃,寻找相关记忆 * - 尚未形成明确的洞察或结论 * - 信息收集和初步分析阶段 * * 判断条件: * - iteration < 3 * - !conclusionEngram * - insightEngrams.length < 2 */ static EXPLORING = 'exploring'; /** * 深化中(Deepening) * * 认知特征: * - 已有初步洞察,正在深入分析 * - 识别模式,建立联系 * - 概念整合和重组阶段 * * 判断条件: * - iteration >= 3 * - insightEngrams.length >= 2 * - !conclusionEngram || confidence < 0.5 */ static DEEPENING = 'deepening'; /** * 收敛中(Converging) * * 认知特征: * - 形成初步结论,评估可靠性 * - 整合各种洞察,构建连贯理解 * - 准备完成思考的过渡阶段 * * 判断条件: * - conclusionEngram exists * - confidence >= 0.5 && confidence < 0.8 * - insightEngrams support conclusion */ static CONVERGING = 'converging'; /** * 已完成(Completed) * * 认知特征: * - 达到高质量的结论 * - 置信度高,逻辑连贯 * - 可以安全终止思考 * * 判断条件: * - conclusionEngram exists * - confidence >= 0.8 * - 内部一致性检查通过 */ static COMPLETED = 'completed'; /** * 受阻(Blocked) * * 认知特征: * - 缺少必要信息,无法继续 * - 发现知识盲区或语义鸿沟 * - 需要外部输入或学习 * * 判断条件: * - iteration > 5 && !conclusionEngram * - recalledEngrams.length < 2 * - 连续2轮无新insightEngrams */ static BLOCKED = 'blocked'; /** * 矛盾(Contradictory) * * 认知特征: * - 发现相互冲突的信息或推理 * - 无法调和的认知失调 * - 需要重新审视前提或切换思维模式 * * 判断条件: * - insightEngrams 存在逻辑冲突 * - confidence < 0.3 with conclusionEngram * - 多个可能结论相互矛盾 */ static CONTRADICTORY = 'contradictory'; /** * 超限(Exceeded) * * 认知特征: * - 思考时间或迭代次数超过限制 * - 陷入循环或过度分析 * - 强制终止以避免资源浪费 * * 判断条件: * - iteration > 10 * - 思考时间超过阈值 * - 系统资源限制 */ static EXCEEDED = 'exceeded'; /** * 获取所有有效状态 * @returns {Array<string>} 所有状态值数组 */ static getAllStates() { return [ this.EXPLORING, this.DEEPENING, this.CONVERGING, this.COMPLETED, this.BLOCKED, this.CONTRADICTORY, this.EXCEEDED ]; } /** * 检查是否为终止状态 * @param {string} state - 要检查的状态 * @returns {boolean} 是否应该终止思考 */ static isTerminalState(state) { return [ this.COMPLETED, this.BLOCKED, this.CONTRADICTORY, this.EXCEEDED ].includes(state); } /** * 检查是否可以继续思考 * @param {string} state - 要检查的状态 * @returns {boolean} 是否可以继续 */ static canContinue(state) { return [ this.EXPLORING, this.DEEPENING, this.CONVERGING ].includes(state); } /** * 获取状态的认知负荷级别 * @param {string} state - 要评估的状态 * @returns {number} 认知负荷级别 (0-1) */ static getCognitiveLoad(state) { const loadMap = { [this.EXPLORING]: 0.3, [this.DEEPENING]: 0.7, [this.CONVERGING]: 0.5, [this.COMPLETED]: 0.1, [this.BLOCKED]: 0.8, [this.CONTRADICTORY]: 0.9, [this.EXCEEDED]: 1.0 }; return loadMap[state] || 0.5; } } module.exports = { ThinkingState };