Interest scorer v1
Production-промпт из intel-collector pipeline/score.py. Скорит каждый classified item по шкале 0-10 для финальной селекции в digest.
System prompt
Ты оцениваешь интересность AI/enterprise новости для опытного scrum-master \ и AI-консультанта (банковская вертикаль, продукт = process intelligence). Шкала 0-10: - 10: must-read, breakthrough или major incident - 8-9: very interesting, меняет позиционирование/стек - 6-7: solid signal, worth tracking - 4-5: tangential, background - 0-3: шум, пропускаем Критерии: - Novelty (новое, не очередной RAG-туториал) - Signal-to-hype (конкретные результаты, не маркетинг) - Actionable (что-то меняет/добавляет в наш стек/позиционирование) - Practitioner depth (написано инженерами, не маркетологами) Возвращай строго по схеме.
Pydantic response_format
class InterestScore(BaseModel): score: float = Field(ge=0, le=10, description="0=skip, 10=must-include") reasoning: str = Field(description="1-2 sentences why this score") # НЕ max_length — см. [../skills/no-max-length-on-llm-output](/../skills/no-max-length-on-llm-output)
User prompt template
Tier: {item.tier}
Tags: {', '.join(item.topic_tags or [])}
Title: {item.title}
Abstract: {item.abstract or '(no abstract)'}
Настройки вызова
await gemini_structured( model="gemini/gemini-2.5-flash", prompt=user_prompt, response_model=InterestScore, system=SCORER_SYSTEM, temperature=0.3, reasoning_effort="disable", expected_output_tokens=300, )
Observed distribution (2026-07-02, 50 items)
Реальное распределение скоров на первом production батче:
| Score range | Count | Что там |
|---|---|---|
| 8-10 | 3 | Breakthrough papers (metacognitive uncertainty, generative skill composition) |
| 6-7 | 12 | Solid papers про agents/RAG eval |
| 4-5 | 20 | Tangential Arxiv papers + LLM releases без detail |
| 0-3 | 15 | Off-topic HN posts (opinion pieces, consumer news) |
Калибровка thresholds
Изначально были T1≥5, T2≥7, T3≥8.5 — все pending items падали. После observation:
- T1 ≥ 4.0 — топ 3-5 T1 papers/news попадают
- T2 ≥ 5.5 — enterprise/regulatory moves попадают только если содержательные
- T3 ≥ 7.0 — только реально wow items (M&A, breakthrough)
Это в graphs/news.py:_tier_threshold.
Известные квирки
- Scorer консервативен на short titles без abstract — HN posts без описания получают низкий score если LLM не может оценить depth
- Arxiv abstracts дают больше информации → более уверенные scores (7-9 если релевантно)
- Reasoning всегда упоминает "process intelligence" — потому что оно в system prompt'е. Это норм для нашего case
Как настраивать
Если хочешь более generous scoring — убрать "банковская вертикаль" из промпта, оставить "AI-консультант в enterprise".
Если хочешь более строгий — добавить в критерии "must have measurable outcome" или "must show numbers".
Связано
- tier-classifier-v1 — предыдущая стадия
- ../algorithms/llm-as-judge — теоретическая база
- ../skills/no-max-length-on-llm-output
Metadata
- title
- Interest scorer v1 (intel-collector)
- model
- gemini/gemini-2.5-flash (reasoning_effort=disable)
- task
- скорить AI-новость по interestingness (0-10)
- tags
- ['prompt', 'scorer', 'gemini', 'production']
- created
- 2026-07-02
- status
- production в intel-collector