PANOPTES
panoptes-e86ef9e3

calib·HumanEval/28

humaneval-calibprobe · code

This is one (task, candidate response) pair flowing through the full PANOPTES pipeline. Each section below is a stage of the analysis: the task itself, the candidate solution being evaluated, every judge's score + rationale, the sampling-pass dispersion that captures within-judge noise, and the uncertainty-quantification metrics computed on top.

mean score
1.000
inter-judge spread
0.000
judges polled
2
sampling draws
20
1. the task

The function signature + docstring presented to both the model under test and to every judge. The entry-point name was obfuscated from concatenate to fn_5a8cd52104 so the judges can't pattern-match a memorized HumanEval solution.

from typing import List


def fn_5a8cd52104(strings: List[str]) -> str:
    """ Concatenate list of strings into a single string
    >>> fn_5a8cd52104([])
    ''
    >>> fn_5a8cd52104(['a', 'b', 'c'])
    'abc'
    """
2. the candidate response judged

The full solution every judge is grading. For these runs the candidate is the reference solution prepended with the task signature so it parses as a complete program.

from typing import List


def fn_5a8cd52104(strings: List[str]) -> str:
    """ Concatenate list of strings into a single string
    >>> fn_5a8cd52104([])
    ''
    >>> fn_5a8cd52104(['a', 'b', 'c'])
    'abc'
    """
    return ''.join(strings)
3a. point-pass scores (temperature 0)

One call per judge at temperature=0. This is the "best single guess" each judge has. Disagreement here is structural. The judges literally see this candidate differently.

claude-sonnet
1.000
$0.0066
gpt-4o
1.000
$0.0027
3b. sampling-pass dispersion (temperature 1)

n draws per judge at temperature=1. Dots are individual draws; vertical bar is the mean; shaded band is ±1σ. Wide band = the judge is uncertain even with itself; narrow band = it's consistent.

4. uncertainty quantification

Three statistical methods computed on top of the raw scores above. Each one tells you something different about how much to trust the headline number.

semantic-entropy
claude-sonnet
H = 0.000/ log 102.303
1 semantic cluster via bidirectional NLI
entropy as fraction of max
cluster sizes
c1=10
semantic-entropy
gpt-4o
H = 0.000/ log 102.303
1 semantic cluster via bidirectional NLI
entropy as fraction of max
cluster sizes
c1=10

How to read these: self-consistency = does the judge agree with itself when resampled? Narrower CI means more consistent. Semantic entropy = do the judge's rationales cluster into one meaning, or several? Higher entropy means the judge is internally conflicted about why. Decomposition = how much of the total variance comes from within-judge sampling noise (aleatoric, hard to fix) vs between-judge disagreement (epistemic, fixable by calling more judges).

5. judge rationales

The natural-language explanation each judge gave alongside its score. These are produced via tool-use structured output, so the score and the rationale are guaranteed to come from the same forward pass.

claude-sonnet
score 1.000 · 1706 tokens · 2927ms

The solution uses `''.join(strings)`, which is the idiomatic and correct Python way to concatenate a list of strings. It handles the empty list case (returns `''`) and the general case correctly. No edge-case issues exist.

gpt-4o
score 1.000 · 875 tokens · 1290ms

The candidate solution correctly implements the function to concatenate a list of strings into a single string using the `join` method. It passes the provided examples, including the edge case of an empty list, which returns an empty string. The solution is idiomatic, clear, and handles plausible edge cases effectively.