본문으로 건너뛰기
cccskills
무료GitHub에 공개

self-eval-bias

Detect and interrupt the pattern where an agent confidently praises work it just produced instead of reviewing it critically. Same-context grading is not review — it's rationalization.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md4.0 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Self-Eval Bias

An agent that just produced a plan, a diff, or a report cannot fairly grade it in the same context. The reasoning that justified writing it is still loaded — every doubt was already resolved in favor of shipping. Asked to review, the same context reliably returns "looks good, ship it." This is not review. It is rationalization wearing a review's uniform.

The pattern shows up hardest in planner/generator/evaluator architectures where the evaluator drifts toward leniency over long runs — the prompts it reads fill up with the generator's reasoning, and skepticism erodes. (See Prithvi's March 2026 post on the three-agent harness: https://blog.anthropic.com/three-agent-harness-march-2026.)

When to apply

  • You just wrote code, a plan, or a claim, and the next step is "confirm it's correct".
  • A reviewer verdict comes back positive with no cited line numbers, no failing case explored, no counter-example attempted.
  • You're about to mark a feature passes: true, close an issue, or hand off to the next session.
  • The evaluator persona in a multi-agent loop has agreed with the last N generator outputs in a row.

Procedure

  1. Notice the same-context tell. If the review verdict lands in under three sentences and contains "looks correct", "this should work", or "no issues found" without a cited artifact — treat the verdict as unwritten.
  2. Force a fresh persona. Drop the generation context. Open a new subagent, or at minimum re-prompt with only the artifact (diff, plan, output) and the acceptance criteria — no reasoning trail, no self-justification.
  3. Demand concrete evidence, not verdicts. The reviewer must cite: the file:line it inspected, the input it ran, the observed output, and the criterion it matched against. "LGTM" without these is a null review — discard it.
  4. Adversarially probe. Ask the reviewer for the strongest case where the artifact fails. If it can't produce one, the review didn't happen — the reviewer just agreed.
  5. Run the artifact. For code, exercise it end-to-end (see [[broken-window-check]]). For a plan, walk the first two steps concretely. Same-context confidence collapses fast against a runtime.
  6. Rotate the reviewer periodically. In long multi-agent loops, re-prompt the evaluator from scratch every ~5 sprints — leniency drift compounds silently.

Anti-patterns

  • Self-review in the same turn. "Let me double-check my work" followed by immediate approval. The doubt has to cost something to be real.
  • Praise as evidence. "This is a clean, well-structured implementation" is a vibe, not a finding. Findings cite lines.
  • Positive verdict, empty failure_scenario. If the reviewer can't describe what a failure would look like, they didn't look for one.
  • Rubber-stamping across a run. N consecutive "approved" verdicts from the same evaluator without a single rejection is a red flag, not a track record.
  • Fixing the criterion instead of the artifact. Reviewer notices a gap, then edits the spec to say the gap is out of scope. The gap is in the artifact. Fix that.

When NOT to apply

  • The output is trivial and cheap to redo if wrong (a one-line rename, a config toggle).
  • A separate reviewer with a fresh context already ran and cited concrete evidence — the check has been done, don't loop on it.

Related

  • [[broken-window-check]] — the runtime-driven version of "don't trust the last claim".
  • [[adversarial-verify]] — the structural form of "find the strongest failure case".
  • [[shift-notes]] — where you record what the fresh-persona review actually found.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

a11y-pass

무료

Catch the accessibility failures that ship in almost every AI-built UI. Use after building any interactive component.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Archive228/loopkit7552026년 7월 15일 업데이트

Before compaction Loopkit extracts decisions into claude-decisions.json (machine-readable). Read it alongside claude-progress.txt at session start — prose is for humans, JSON is for the loop.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Archive228/loopkit7552026년 7월 15일 업데이트

Review a diff against the goal spec assuming the code is BROKEN. The reviewer that lives in the maker's head always agrees with itself — this pulls review into a hostile, separate pass. Invoke after every code change before marking work done.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Archive228/loopkit7552026년 7월 15일 업데이트

Verify that an endpoint checks ownership, not just authentication. Use on any handler that reads or mutates user data.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Archive228/loopkit7552026년 7월 15일 업데이트

Find the exact commit that introduced a bug. Use when something worked before and broke, and you don't know which change did it.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Archive228/loopkit7552026년 7월 15일 업데이트

Before picking new work, smoke-test the last "completed" feature. If it's broken, revert and re-open it before touching anything else. Kills the "looks shipped, isn't shipped" bug across sessions.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Archive228/loopkit7552026년 7월 15일 업데이트

Archive228의 스킬 모두 보기

이 스킬의 문제 신고