Decide the verifier's sampling: it runs at provider defaults with every generation knob unset
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 12/100
Direzione di ricerca
Start in src/main/java/dev/thiagogonzaga/thrillhousebot/review/ai/ChatModelCustomizers.java (BLOCKING_TUNING and STREAMING_TUNING) and the sampling keys in src/main/resources/application.properties lines 108-125. The first step is a corpus measurement over the eval set from #113, comparing verdict agreement at the provider default and at temperature=0. Done means the measurement is recorded in the issue and the verifier's sampling is either changed through a separate model binding or explicitly declined.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Background
Every model call the bot makes runs at whatever sampling the provider defaults to. ChatModelCustomizers passes temperature, top-p, the frequency and presence penalties and seed from thrillhousebot.ai.models.<model>.* to both the blocking and streaming builders, but each is applied ifPresent, and every one of those keys is commented out in application.properties (lines 120-125 are the deepseek-chat examples). #64 and #50 built that plumbing and closed; neither decided what the values should be.
For the review pass, sampling is arguably a feature: two readings of a diff can legitimately differ. For the second-pass verifier it is not. #711 measured what that costs: the audit rejected a SQL-injection candidate with correct reasoning and published the same claim as CRITICAL forty minutes later on an unchanged commit. #711's fix remembers rejections for the head, which stops that claim coming back, but the next claim is still judged by a sampled call.
The question this issue exists to answer
Should the verifier run greedy (temperature=0, and a fixed seed where the provider honours one), and what does it cost in verdict quality?
The pieces that make it non-trivial, all verified in code:
- The verifier shares the
concisenamed model with the final summary call and maintainer replies (ChatModelCustomizers, theconcisebean). Per-model settings are per model name, not per call site, so settingtemperature=0there changes the summary's prose too. Either that is acceptable, or the verifier needs its own binding. - A unit test can only show the builder received the value. Whether greedy decoding makes verdicts better, worse or merely repeatable is a corpus question, which is what #113's eval/regression corpus is for.
seedis accepted by the OpenAI-compatible wire format but is honoured unevenly across providers, so it cannot be relied on as the only mechanism.
Change required
- Measure first: run the verifier over the corpus at the provider default and at
temperature=0, and compare verdict agreement across repeated runs of the same input as well as agreement with the graded outcome. Report both numbers in the issue before changing a default. - If greedy wins, set it for the verifier only, adding a separate model binding if the shared
concisemodel makes that impossible, and document the knob in the README's per-model section. - If it does not, write down the measurement here and close this, so the next person asking does not have to re-run it.
Constraints
- No change to the review pass's sampling in this issue.
- The reasoning step-down (#839) sets
reasoning_effortper call already; whatever is added must compose with it rather than duplicate it.
Acceptance criteria
- The measurement is recorded in this issue: repeat-agreement and corpus agreement, at the default and at
temperature=0. - A decision follows from it, applied to the verifier alone or explicitly declined.
- If a default changes, the README per-model section and
application.propertiessay what it is and why.
References
src/main/java/dev/thiagogonzaga/thrillhousebot/review/ai/ChatModelCustomizers.java(BLOCKING_TUNING,STREAMING_TUNING)src/main/resources/application.propertieslines 108-125- #711 (opposite verdicts on one commit), #113 (eval corpus), #64 and #50 (the plumbing)
- Lingua principale
- Java
- Stelle
- 35
- Fork
- 7
- Merge medio
- 9h 23m
- PR unite (30g)
- 154
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di devops-thiago/ThrillhouseBot
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
devops-thiago/ThrillhouseBot#1093 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
devops-thiago/ThrillhouseBot#321 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
devops-thiago/ThrillhouseBot#46 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
devops-thiago/ThrillhouseBot#1095 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 58/100
devops-thiago/ThrillhouseBot#1094 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di devops-thiago/ThrillhouseBot
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
apache/rocketmq-dashboard#6716 ·
I maintainer di solito rispondono entro 3 giorni
-
DefaultRedisList.get(int) does not reject an index equal to the list sizeForse già presa @ryujungkyun l’ha presa oggi. Apertastatus: waiting-for-triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
spring-projects/spring-data-redis#3471 ·
I maintainer di solito rispondono entro 5 giorni
-
:maddi-inspection-kotlin:test runs out of heap in a full maddi test run; exit 1 with no failing testApertabuild/ci front-end:kotlin
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
uwolfer/gerrit-intellij-plugin#768 ·
I maintainer di solito rispondono entro 1 giorno