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.

98 lines (84 loc) 2.9 kB
/** * 测试 ProceduralMemory 功能 * 验证 PATTERN 类型的 engram 是否正确存储和激活 */ const path = require('path'); const { Cognition } = require('../lib/core/cognition'); async function testProcedural() { console.log('🧪 测试 ProceduralMemory 功能\n'); // 1. 创建认知实例 const testPath = path.join(__dirname, '../test-cognition'); const cognition = new Cognition({ longTermPath: path.join(testPath, 'longterm'), semanticPath: path.join(testPath, 'semantic'), proceduralPath: path.join(testPath, 'procedural') }); console.log('1️⃣ 记忆几个行为模式:'); // 记忆一些 PATTERN 类型的 engram const patterns = [ { content: '讨论阶段不要直接写代码,应该先讨论方案,确认后再执行', schema: `mindmap 工作习惯 沟通方式 决策流程`, strength: 0.95, type: 'PATTERN' }, { content: '用户不喜欢在讨论阶段看到直接的代码实现', schema: `mindmap 用户偏好 协作模式 交互方式`, strength: 0.9, type: 'PATTERN' }, { content: '总是记得使用TodoWrite工具管理任务', schema: `mindmap 工作流程 任务管理 工具使用`, strength: 0.85, type: 'PATTERN' }, { content: '低优先级的建议模式', schema: `mindmap 次要模式 可选行为`, strength: 0.6, type: 'PATTERN' } ]; for (const pattern of patterns) { await cognition.remember(pattern.content, pattern.schema, pattern.strength, pattern.type); console.log(` ✅ 记忆: ${pattern.content} [强度: ${pattern.strength}]`); } console.log('\n2️⃣ 记忆一些非 PATTERN 类型的 engram(应该不会出现在程序性记忆中):'); await cognition.remember('PromptX是AI增强框架', `mindmap 技术知识 框架定义`, 0.9, 'ATOMIC'); console.log(' ✅ 记忆: PromptX是AI增强框架 [类型: ATOMIC]'); console.log('\n3️⃣ 激活程序性记忆:'); try { // 直接调用 primeProcedural const proceduralOutput = await cognition.primeProcedural(); console.log('\n程序性记忆输出:'); console.log('---'); console.log(proceduralOutput); console.log('---'); // 验证结果 console.log('\n4️⃣ 验证结果:'); const expectedPatterns = patterns.filter(p => p.strength >= 0.7).length; console.log(` ✅ 应该激活 ${expectedPatterns} 个高强度模式(强度 >= 0.7)`); console.log(` ✅ 低强度模式(强度 < 0.7)不应该被激活`); console.log(` ✅ ATOMIC 类型的记忆不应该出现在程序性记忆中`); } catch (error) { console.error('❌ 测试失败:', error); } console.log('\n✨ 测试完成!'); } // 运行测试 testProcedural().catch(console.error);