Files
2025-11-30 08:39:56 +08:00

137 lines
5.6 KiB
JavaScript
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { AdvancedPromptCrafter } from './dist/index.js';
async function demonstrateAdvancedPromptCrafter() {
console.log('🚀 Advanced Prompt Crafter Demo');
console.log('=====================================\n');
const crafter = new AdvancedPromptCrafter();
// Example 1: Analyze and optimize a simple prompt
console.log('1⃣ Analyzing and optimizing a simple prompt...');
const simplePrompt = 'Write about AI';
const result1 = await crafter.analyzeAndOptimize(simplePrompt, {
mode: 'creative',
targetModel: 'claude-3-sonnet',
outputFormat: 'markdown',
});
console.log('Original Prompt:', simplePrompt);
console.log('Optimized Prompt:', result1.optimizedPrompt);
console.log('Quality Score:', result1.validation.qualityScore + '/10');
console.log('Response Time:', result1.responseTime + 'ms\n');
// Example 2: Create a technical prompt from requirements
console.log('2⃣ Creating a technical prompt from requirements...');
const technicalRequest = {
task: 'Generate TypeScript code for a REST API',
domain: 'technical',
mode: 'technical',
requirements: {
include: ['types', 'validation', 'error-handling'],
exclude: ['external-apis'],
constraints: ['async/await', 'try-catch blocks'],
},
context: 'E-commerce platform backend',
};
const result2 = await crafter.createPrompt(technicalRequest);
console.log('Generated Prompt:');
console.log(result2.optimizedPrompt);
console.log('Domain:', result2.metadata.domain);
console.log('Quality Score:', result2.validation.qualityScore + '/10\n');
// Example 3: Get quality metrics for a complex prompt
console.log('3⃣ Analyzing quality metrics for a complex prompt...');
const complexPrompt =
'As a senior software architect with 10+ years of experience in microservices, create a comprehensive guide about implementing a distributed system architecture. Include specific examples of service discovery, load balancing, circuit breakers, and monitoring. Format the response in Markdown with code examples and architectural diagrams described in text.';
const metrics = await crafter.getQualityMetrics(complexPrompt);
console.log('Prompt:', complexPrompt.substring(0, 100) + '...');
console.log('Quality Metrics:');
console.log(` Overall: ${metrics.overall}/10`);
console.log(` Clarity: ${metrics.clarity}/10`);
console.log(` Specificity: ${metrics.specificity}/10`);
console.log(` Completeness: ${metrics.completeness}/10`);
console.log(` Efficiency: ${metrics.efficiency}/10`);
console.log(` Consistency: ${metrics.consistency}/10`);
console.log(` Error Rate: ${metrics.errorRate}/10\n`);
// Example 4: Create A/B test variations
console.log('4⃣ Creating A/B test variations...');
const testPrompt = 'Create a user authentication system';
const variations = await crafter.createABTestVariations(testPrompt, 3);
console.log('Base Prompt:', testPrompt);
console.log('Variations:');
variations.forEach((variation, index) => {
console.log(` Variation ${index + 1}: ${variation.optimizedPrompt.substring(0, 80)}...`);
console.log(` Quality: ${variation.validation.qualityScore}/10`);
console.log(` Mode: ${variation.metadata.mode}`);
});
console.log('');
// Example 5: Business mode demonstration
console.log('5⃣ Business mode demonstration...');
const businessResult = await crafter.analyzeAndOptimize(
'Develop a marketing strategy for a new SaaS product',
{
mode: 'business',
domain: 'business',
targetModel: 'claude-3-opus',
outputFormat: 'json',
}
);
console.log('Business Prompt Result:');
console.log('Optimized:', businessResult.optimizedPrompt.substring(0, 150) + '...');
console.log('Analysis Intent:', businessResult.analysis.intent);
console.log('Complexity:', businessResult.analysis.complexity);
console.log('Techniques Applied:', businessResult.optimization.techniques.join(', '));
console.log('Quality Score:', businessResult.validation.qualityScore + '/10\n');
// Example 6: Research mode demonstration
console.log('6⃣ Research mode demonstration...');
const researchResult = await crafter.createPrompt({
task: 'Conduct a comprehensive literature review on artificial intelligence ethics',
domain: 'research',
mode: 'research',
context: 'Academic research paper for computer ethics journal',
requirements: {
include: ['peer-reviewed sources', 'methodology', 'ethical frameworks', 'case studies'],
constraints: ['publications from 2019-2024', 'APA citation format'],
exclude: ['blog posts', 'non-academic sources'],
},
});
console.log('Research Prompt Result:');
console.log('Generated:', researchResult.optimizedPrompt.substring(0, 150) + '...');
console.log('Quality Score:', researchResult.validation.qualityScore + '/10');
console.log('Recommendations:', researchResult.validation.recommendations.length);
console.log('Benchmark Category:', researchResult.validation.benchmarkComparison.category);
console.log('');
// Performance summary
console.log('📊 Performance Summary');
console.log('==================');
console.log('All operations completed successfully!');
console.log(
'Average response time: ~',
Math.round((result1.responseTime + result2.responseTime) / 2),
'ms'
);
console.log(
'Average quality score: ~',
Math.round(
(result1.validation.qualityScore +
result2.validation.qualityScore +
businessResult.validation.qualityScore +
researchResult.validation.qualityScore) /
4
),
'/10'
);
}
// Run the demonstration
demonstrateAdvancedPromptCrafter().catch(console.error);