When crafting your evaluation criteria, consider the following guidelines to ensure effective and meaningful assessments: Be Specific and Focused: Clearly define the quality or behavior you want to evaluate. Avoid vague statements. Focus on a single aspect per criterion to maintain clarity.
  • Example: Instead of “good,” use “a friendly and encouraging tone.”
Use Clear Direction: Begin your criteria with an explicit directive such as "Reward responses that...", "Penalize responses that...", "Reward tool calls...", "Reward agents that...".
  • Example: "Reward responses that use empathetic language when addressing user concerns."
Monotonic or Appropriately Qualified Qualities: Ideally, the quality you’re assessing should be monotonic (more is always better for rewards, worse for penalties). For non-monotonic qualities where balance matters, use qualifiers like “appropriate” to ensure higher scores represent better adherence.
  • Example: Instead of "Reward responses that are polite" which can become excessive, use "Reward responses that use an appropriate level of politeness" ensuring the response is polite but not overly so.
Avoid Conjunctions: Focus on one quality at a time. Using “and” often indicates multiple qualities, which can lead to unclear scoring when only one quality is present.
  • Example: Instead of "The assistant should be concise and informative" split into two separate criteria.
Avoid LLM Keywords: Composo’s reward model is finetuned from LLM models trained in conversation format. Avoid alternate definitions of ‘User’ and ‘Assistant’ that might conflict with LLM keywords ‘user’ and ‘assistant’.
  • Example: Instead of "Reward responses that comprehensively address the User Question", rename the ‘User Question’ in your prompt and use "Reward responses that comprehensively address the Target Question"
Leverage Domain Expertise: Your domain knowledge is your secret weapon. Inject your understanding of what constitutes a ‘good’ answer in your specific field—this gives your evaluation model leverage over the generative model.
  • Example: For medical contexts: "Reward responses that distinguish between emergency symptoms requiring immediate care versus symptoms suitable for routine appointments"
Use Qualifiers When Needed: Include a qualifier starting with “if” to specify when the criterion should apply. This helps handle conditional requirements.
  • Example: "Reward responses that provide code examples if the user asks for implementation details"
Keep Criteria Concise: Aim for one clear sentence per criterion. If you need multiple sentences to explain, consider splitting into separate criteria.
[Prefix] [quality] [qualifier (optional)].
Components:
  • Prefix:
    • For 0-1 Reward Scoring: “Reward responses that”, “Penalize responses that”, “Reward tool calls that”, “Penalize tool calls that”, “Reward agents that”, “Penalize agents that”
    • For Binary Evaluation: “Response passes if”, “Response fails if”, “Tool call passes if”, “Tool call fails if”, “Agent passes if”, “Agent fails if”
  • Quality: The specific property or behavior to evaluate.
  • Qualifier (Optional): An “if” statement specifying conditions.
Example Criteria:
  • "Reward responses that provide a comprehensive analysis of the code snippet"
  • "Penalize responses where the language is overly technical if the response is for a beginner"
  • "Reward responses that use an appropriate level of politeness"
  • "Reward agents that explore new information and capabilities despite uncertainty"
  • "Tool call passes if all required parameters are provided without fabrication"