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
最近来源活动
2026年2月10日 06:33
检测到的 SKILL.md 语言
英语
星标
0
分支
0

安装方式

默认使用会先检查来源的 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 查看