Skip to main content

llm-testing-expert

Use this skill when user needs to design LLM evaluation strategies, build test datasets, or ensure model quality. Trigger keywords: LLM testing, model evaluation, prompt engineering, regression testing, red teaming, hallucination detection, RAG testing, Agent testing, A/B testing, LLM-as-a-Judge. Applicable to quality assurance in model development and application deployment.

الانتقال إلى التثبيت

معلومات المصدر

المستودع
xdelin/openclaw-skills-registry
آخر نشاط في المصدر
١٠ فبراير ٢٠٢٦ في ٠٦:٣٣
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٠
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
llm-testing-expert
description
Use this skill when user needs to design LLM evaluation strategies, build test datasets, or ensure model quality. Trigger keywords: LLM testing, model evaluation, prompt engineering, regression testing, red teaming, hallucination detection, RAG testing, Agent testing, A/B testing, LLM-as-a-Judge. Applicable to quality assurance in model development and application deployment.
# LLM Testing and Evaluation ## Description Provide LLM test strategy design, test dataset construction, automated evaluation, and security red teaming recommendations to ensure models meet production requirements for functionality, performance, robustness, and safety. ## When to Use - User requests "design LLM testing strategy" or "how to evaluate model quality" - User needs to build test datasets, design test cases, or perform regression testing - User seeks prompt optimization, engineering, and version management recommendations - User needs to evaluate model performance metrics (accuracy, hallucination rate, safety, latency, cost) - User asks how to conduct A/B testing or comparative evaluation (multi-model/multi-version) - User needs automated testing workflows or CI/CD integration - User requests red team testing design (jailbreak, prompt injection, adversarial attacks) - User asks about specialized testing strategies for RAG systems or Agent applications ## When NOT to Use - User only needs traditional software testing (unit tests, integration tests) without LLM-specific concerns - User's problem is about model training or fine-tuning techniques, not testing/evaluation - User needs data annotation or data cleaning, not test strategy design - User only asks how to use an LLM framework or tool, not testing strategy - User's problem is pure Prompt Engineering (how to write better prompts), not how to test prompt effectiveness ## Input ```typescript { testTarget: { type: string // Test object type (base-model/fine-tuned-model/rag-system/agent/prompt-template) modelInfo?: { name: string // Model name (e.g., gpt-4, claude-3.5-sonnet) version?: string // Version deployment?: string // Deployment method (API/self-hosted) } applicationContext?: string // Application scenario (e.g., customer service, code generation, document summarization) } testObjectives: { functional?: boolean // Functional correctness testing performance?: boolean // Performance testing (latency, throughput, cost) robustness?: boolean // Robustness testing (adversarial samples, edge cases) safety?: boolean // Safety testing (jailbreak, injection, PII leakage) userExperience?: boolean // User experience testing } constraints: { budget?: string // Testing budget (API call cost/manual annotation cost) timeline?: string // Testing timeline existingTestAssets?: string[] // Existing test assets (test sets, annotated data) complianceRequirements?: string // Compliance requirements (GDPR, industry regulations) } riskAreas?: string[] // Known risk areas (e.g., hallucination, bias, privacy leakage) existingMetrics?: string // Existing evaluation metrics and baselines } ``` ## Output ```typescript { testStrategy: { scope: string // Test scope definition approach: string // Test approach (black-box/white-box/gray-box) testLevels: { unit?: string // Unit testing (single prompt/single tool call) integration?: string // Integration testing (multi-turn dialogue/tool chain) system?: string // System testing (end-to-end scenarios) acceptance?: string // Acceptance testing (user scenario coverage) } } testPlan: { functional: { testCases: { id: string scenario: string // Test scenario input: string // Input sample expectedOutput: string // Expected output (can use fuzzy rules) passCriteria: string // Pass criteria }[] coverage: string[] // Coverage dimensions (instruction following/format output/reasoning ability, etc.) } performance: { metrics: { name: string // Metric name (latency/throughput/token-cost) target: string // Target value (e.g., p95 < 2s) measurement: string // Measurement method }[] loadProfile: string // Load model (concurrent users, request pattern) } robustness: { adversarialCases: string[] // Adversarial sample design edgeCases: string[] // Edge cases stressScenarios: string[] // Stress scenarios (extra-long input, extreme parameters) } safety: { redTeamScenarios: { type: string // Attack type (jailbreak/injection/data-extraction) technique: string // Attack technique expectedDefense: string // Expected defense measures }[] harmfulContentCategories: string[] // Harmful content categories (violence/discrimination/privacy) } } testDataset: { sources: string[] // Data sources (public benchmarks/domain data/synthetic data) composition: { positive: number // Positive case ratio negative: number // Negative/adversarial case ratio edge: number // Edge case ratio } sampleSize: string // Sample size (calculated by statistical significance) labelingStrategy: string // Labeling strategy (manual/automated/hybrid) } evaluationMethod: { automated: { metrics: string[] // Automated metrics (BLEU/ROUGE/exact-match/regex) tools: string[] // Evaluation tools } humanEval: { criteria: string[] // Human evaluation criteria raterGuidelines: string // Annotator guidelines interRaterAgreement: string // Consistency requirement (e.g., Kappa > 0.7) } llmAsJudge?: { judgeModel: string // Judge model rubric: string // Scoring rules calibration: string // Calibration method (align with human annotation) } } regressionPlan: { triggerConditions: string[] // Conditions triggering regression (model update/prompt change) baselineVersion: string // Baseline version comparisonMetrics: string[] // Comparison metrics reportFormat: string // Report format } cicdIntegration?: string // CI/CD integration solution specializedTests?: { rag?: { retrievalQuality: string // Retrieval quality testing (recall/ranking) citationAccuracy: string // Citation accuracy testing faithfulness: string // Faithfulness testing (based only on retrieved content) } agent?: { toolCallCorrectness: string // Tool call parameter correctness planningRationality: string // Planning rationality errorRecovery: string // Error recovery capability } } } ``` ## Execution Workflow Copy the following checklist before starting, and explicitly mark status after completing each step. ### Step 1: Test Objective and Risk Identification - Clarify test object type (base model/fine-tuned model/RAG/Agent/prompt template) - Confirm core test objectives (functional/performance/robustness/safety/user experience) - Identify known risk areas (hallucination, bias, privacy leakage, prompt injection) - Understand application scenario and constraints (budget, timeline, compliance requirements) **Feedback Loop**: If test objectives are unclear or conflicting (e.g., comprehensive coverage with extremely low cost), MUST align priorities with user. ### Step 2: Test Strategy Formulation - Choose test approach (black-box/white-box/gray-box) - Define test levels (unit/integration/system/acceptance), adopt test pyramid model - Determine test coverage (functional dimensions, performance metrics, security scenarios) - Select evaluation methods (automated/manual/LLM-as-a-Judge/hybrid) **Test Pyramid Principle**: - Bottom (unit tests): Most numerous, lowest cost, fastest execution (e.g., single prompt function test) - Middle (integration tests): Moderate quantity, test component interaction (e.g., multi-turn dialogue, tool chain) - Top (system tests): Few critical scenarios, end-to-end validation (e.g., complete user journey) **Feedback Loop**: If user budget or timeline is extremely limited, prioritize designing high-priority smoke tests rather than pursuing comprehensive coverage. ### Step 3: Test Dataset Construction - Determine data sources (public benchmarks like MMLU/HumanEval, domain data, anonymized production logs, synthetic data) - Design case distribution: Positive cases (60-70%) + Negative/adversarial cases (20-30%) + Edge cases (10%) - Define ID, scenario, input, expected output, pass criteria for each case - Determine sample size (based on statistical significance, typically requires 100+ samples) **Case Design Principles**: - **Positive cases**: Cover core functionality and common scenarios - **Negative cases**: Test rejection capability, error handling, adversarial samples - **Edge cases**: Extra-long input, extreme parameters, multilingual mix, special characters **Feedback Loop**: If existing test assets are insufficient, prioritize sampling real cases from production logs rather than fully synthetic data. ### Step 4: Evaluation Method Design - Automated evaluation: Select appropriate metrics (BLEU/ROUGE/exact-match/regex/structured output validation) - Manual evaluation: Develop evaluation criteria, annotator guidelines, ensure consistency (Kappa > 0.7) - LLM-as-a-Judge: Select judge model, design scoring rules, calibrate with human annotation **Evaluation Method Selection**: - **Simple tasks** (e.g., classification, extraction): Automated evaluation (exact-match/F1) - **Complex tasks** (e.g., summarization, creation): LLM-as-a-Judge + human sampling validation - **Safety testing**: Manual evaluation (detect harmful content, jailbreak success rate) **Feedback Loop**: If automated metrics are inconsistent with manual evaluation, MUST recalibrate or adjust metric weights. ### Step 5: Specialized Test Design (if applicable) #### RAG System Testing - **Retrieval quality**: Test recall (Recall@K), ranking quality (MRR/NDCG) - **Citation accuracy**: Verify citation sources are correct, check for hallucinated citations - **Faithfulness**: Check if answer is based only on retrieved content, no fabrication #### Agent System Testing - **Tool call correctness**: Verify tool selection and parameter passing are correct - **Planning rationality**: Assess if step planning is efficient and logic is coherent - **Error recovery**: Test handling capability when encountering tool failures or exceptions **Feedback Loop**: If RAG/Agent testing reveals systematic issues (e.g., poor retrieval quality, high tool call failure rate), should return to system design level for optimization, not just adjust testing. ### Step 6: Versioning and Regression Testing - Record model version, prompt version, test dataset version - Define regression trigger conditions (model update/prompt change/test set expansion) - Establish baseline and compare new version performance - Generate traceable test reports (including pass rate, performance comparison, failure case analysis) **Regression Testing Principles**: - Every change must pass core test set (Golden Set) - New features must add corresponding test cases - Performance degradation exceeding threshold (e.g., accuracy drop >5%) should block release **Feedback Loop**: If regression testing finds performance degradation, MUST analyze root cause (model issue/prompt issue/test set issue), not just rollback directly. ### Step 7: Security Red Team Testing (if applicable) - Design jailbreak scenarios: Test bypassing safety guardrails - Design injection attacks (Prompt Injection): Test malicious instruction injection - Design data extraction attacks: Test PII leakage, training data memorization - Design harmful content generation: Test violence, discrimination, misinformation, etc. **Red Team Testing Methods**: - **Manual testing**: Security experts design adversarial samples - **Automated attacks**: Use tools (e.g., Garak, PromptInject) to generate attack samples - **Crowdsourced red teaming**: Invite external parties to attempt attacks **Feedback Loop**: If red team testing finds serious vulnerabilities, MUST prioritize fixing and retesting, not cover up or ignore. ## Failure Handling ### Insufficient Test Coverage - **Symptom**: User-provided test objectives are too broad, cannot comprehensively cover with limited resources - **Action**: Design tiered test plan based on risk priority (high-risk scenarios first), clarify which scenarios are not covered ### Wrong Evaluation Metrics - **Symptom**: User uses inappropriate metrics (e.g., using BLEU to evaluate dialogue quality) - **Action**: Explain metric limitations, recommend more suitable metric combinations (e.g., dialogue quality uses LLM-as-a-Judge + manual evaluation) ### Automated and Manual Evaluation Inconsistency - **Symptom**: Automated metrics show performance improvement, but manual evaluation finds quality degradation - **Action**: Analyze inconsistency reasons (metric design issue/annotation bias/model overfitting), recalibrate evaluation system ### Test Data Quality Issues - **Symptom**: Test set contains large amounts of noise, duplicates, or unrealistic samples - **Action**: Establish test set quality check process (deduplication/anomaly detection/representativeness verification), prioritize using anonymized real production data ### Red Team Testing Finds Serious Vulnerabilities - **Symptom**: Model can be easily jailbroken or injected - **Action**: Immediately pause deployment, fix security issues (strengthen input filtering/output review/model fine-tuning), re-conduct red team testing
عرض على GitHub