Закрепить расширенный AGENT-прогон качества 1С-ассистента

This commit is contained in:
2026-05-23 09:07:24 +03:00
parent 50d938b8f1
commit e38223e33e
10 changed files with 647 additions and 50 deletions
@@ -382,7 +382,7 @@ function classifyBankOperationSemanticBucket(row) {
}
function bankOperationSemanticBucketLabel(bucket) {
if (bucket === "commission") {
return "комиссии и банковое обслуживание";
return "комиссии и банковское обслуживание";
}
if (bucket === "deposit_or_credit") {
return "депозиты, кредиты или проценты";
@@ -3886,6 +3886,7 @@ function composeFactualReplyBody(intent, rows, options = {}) {
(String(right.period ?? "").localeCompare(String(left.period ?? ""), "ru")))
.slice(0, Math.min(rows.length, 5));
const semanticSummary = summarizeBankOperationSemantics(rows);
const compactRoleAnswer = /(?:клиент|поставщик|финансов|роль|коротко)/iu.test(String(options.userMessage ?? ""));
const compactEvidenceRows = visibleRows.map((row, index) => {
const direction = bankOperationDirectionLabel(bankOperationDirection(row));
const amount = formatMoneyRub(row.amount ?? 0);
@@ -3901,13 +3902,13 @@ function composeFactualReplyBody(intent, rows, options = {}) {
`Коротко: найдено банковских операций${counterparty ? ` по ${counterparty}` : " по контрагенту"} — ${rows.length}.`,
summarizeBankOperationDirections(rows),
roleBoundary ?? "Показываю подтвержденные банковские операции из текущего среза.",
bankOperationEvidenceLine(rows, preferredBankEvidenceDirection(options.userMessage)),
...(semanticSummary ? [semanticSummary] : []),
"Примеры строк 1С:",
...compactEvidenceRows,
"Следующий шаг: могу отдельно разложить назначения платежа, договоры или отделить банковский контур от клиентского/поставщицкого."
...(semanticSummary ? [semanticSummary] : [])
];
if (rows.length > visibleRows.length) {
if (!compactRoleAnswer) {
lines.push(bankOperationEvidenceLine(rows, preferredBankEvidenceDirection(options.userMessage)), "Примеры строк 1С:", ...compactEvidenceRows);
}
lines.push("Следующий шаг: могу отдельно разложить назначения платежа, договоры или отделить банковский контур от клиентского/поставщицкого.");
if (!compactRoleAnswer && rows.length > visibleRows.length) {
lines.push(`Показаны первые ${visibleRows.length} из ${rows.length}; полный список остается в подтвержденном срезе.`);
}
return {