Перейти к содержимому

Агент: tender-screener

# Агент: Скринер тендеров
# Сценарий: С-1 (Первичный отбор конкурсов)
# Платформа: О2 AI Assistant
name: tender-screener
version: "1.0"
scenario: s1-tender-screening
status: draft
description: >
Автоматический сбор конкурсов с тендерных площадок и почтовых рассылок,
классификация по критериям руководителя, предварительная разметка
для ускорения принятия решений.
trigger:
type: scheduled
schedule: "*/30 * * * *" # каждые 30 минут в рабочее время
window: "08:00-19:00 MSK"
inputs:
- source: tender-platform-closed
type: parser
format: structured
fields: [title, customer, deadline, volume, category, documents_url]
- source: tender-platform-open
type: parser
format: structured
fields: [title, customer, deadline, volume, category, documents_url]
- source: email-subscriptions
type: email-parser
format: semi-structured
fields: [subject, body, attachments]
processing:
steps:
- name: dedup
action: deduplicate
key: [customer, title, deadline]
- name: enrich
action: parse-documents
description: Извлечь из ТЗ предмет, объём, сроки, требования
- name: classify
action: ai-scoring
model: "kimi-k2"
context:
- knowledge/screening-criteria.md
- knowledge/product-catalog.md
- knowledge/customer-history.md
rules:
competence_match: "Можем ли мы это поставить? (каталог товарных групп)"
volume_threshold: "Стоит ли усилий? (минимальный порог рентабельности)"
deadline_feasible: "Успеваем подать? (>3 дней до дедлайна)"
margin_estimate: "Ожидаемая наценка >20%?"
customer_score: "Репутация заказчика (история, платёжная дисциплина)"
- name: rank
action: categorize
thresholds:
submit: 0.8 # «подавать»
review: 0.5 # «рассмотреть»
skip: 0.0 # «пропустить»
outputs:
- type: crm-card
target: bitrix24
pipeline: "Тендеры"
fields:
title: "{customer} — {title}"
stage: "auto-classified"
ai_score: "{score}"
ai_recommendation: "{category}"
ai_reasoning: "{reasoning}"
- type: dashboard
target: bitrix24
view: "Скрининг тендеров"
grouping: [recommendation, deadline]
escalation:
- condition: "score between 0.5 and 0.8"
action: flag-for-review
notify: igor
- condition: "customer is VIP"
action: always-flag
notify: igor
human_decisions:
- "Финальное решение берём/не берём"
- "Оценка инсайда и отношений с заказчиком"
- "Распределение между менеджерами"
- "Стратегические решения по новым направлениям"
realization:
context_from:
- knowledge/screening-criteria.md # → agent reads at runtime (критерии отбора)
- knowledge/product-catalog.md # → agent reads at runtime (каталог товарных групп)
- knowledge/customer-history.md # → agent reads at runtime (история заказчиков)
config_from:
- specs/tender-screener.yaml # → trigger, inputs, outputs, escalation
prompt_from:
- scenarios/tender-pipeline/s1-tender-screening.md#автономность # → system prompt boundaries
tests_from:
- scenarios/tender-pipeline/s1-tender-screening.md#метрики # → acceptance tests
metrics:
track:
- name: screening_time
target: "<40 min/day"
- name: ai_accuracy
target: ">80% match with human decision"
method: "compare ai_recommendation vs igor_decision for 30 days"
- name: coverage
target: ">95% tenders processed"
- name: rejected_tracking
target: "100% with reason"