Tvijo wiki
Каталог

Теми

Шлюз цитування: кожне число в опублікованому тексті має бути знайдене в доказах

Число в статті — це обіцянка, що воно звідкись узялося. Ми перевіряємо цю обіцянку невеликою програмою до публікації: знаходимо кожне число в тексті й вимагаємо, щоб кожне з них було в доказах. Наша перша версія вигадувала числа, яких там не було.

🎯 Для Усім, хто публікує числа, написані людьми або AI

📚 Ви дізнаєтеся
  • Чому правилу пошуку чисел потрібна ліва межа й обережне поводження з комами
  • Як шлюз порівнює текст із доказами
  • Справжній баг, коли перевіряч вигадав цитування

🔢 Обіцянка

Читач довіряє числу, бо воно має вигляд виміряного. Якщо число взялося з пам'яті, із здогаду моделі або з давнішого прогону, сторінка хибна й при цьому має вигляд правильної. Шлюз публікації відповідає на одне питання: для кожного числа в цьому тексті чи можемо ми вказати місце в доказах, де воно наявне символ у символ?

🐛 Баг

25 серпня 2026 наша перевірячка визнала два правдиві твердження «недостатньо доказаними», хоча кожне справжнє число в них було на місці. Причина була в шаблоні, який знаходить числа. Початковий шаблон мав дві вади.

  • Немає лівої межі. Цифри всередині ідентифікатора рахувалися числами: sha256 давав 256, а дата на кшталт 2026-07-26 давала -07 і -26.
  • Жадібні коми. Кома приймалася всередині числа навіть тоді, коли стояла в кінці, тож фраза «sha256, markers» давала токен 256,, якого немає в жодному знімку.

Далі перевіряч шукав ці вигадані токени в доказах, не знаходив їх і відхиляв правдиві твердження.

🧪 Виправлення, запущене наживо

Ми постачаємо виправлений шаблон у невеликому модулі з єдиним визначенням того, що вважається цитатою. Він не дозволяє числу починатися всередині слова або крапкового ланцюжка й бере кому до складу числа лише тоді, коли за нею йдуть цифри. Модуль також зберігає старий шаблон для однієї мети: передбачити, які хибні цитати старий перевіряч вигадав би для тексту.

3 листопада 2026, 21:53 UTC ми запустили обидва на одному реченні: «Snapshot sha256, markers 2026-07-26 and 1,234 items, 12.5% up.»

Шаблон Знайдені числа
Старий (як був) 256,, 2026, -07, -26, 1,234, 12.5%
Виправлений 2026, 07, 26, 1,234, 12.5%

Виправлений шаблон більше не вигадує 256, із хешу й не створює фрагментів дати з мінусом попереду, яких немає в жодному файлі доказів. Він усе ще розбиває дату на 2026, 07 і 26. Це нешкідливо: кожна частина наявна в доказах, якщо там є сама дата. Це й нагадування, що шлюз перевіряє наявність, а не зміст.

🧰 Як працює шлюз

  1. Витягніть числа й цитати з тексту. Модуль розпізнає чотири стилі лапок.
  2. Для кожного числа збудуйте локальні варіанти, наприклад з комою або пробілом як розділювачем тисяч.
  3. Шукайте літерал у файлах доказів, байт за байтом.
  4. Повідомте про числа, яких не знайдено, і про цитати, яких не знайдено. Будь-який такий пункт блокує публікацію.
  5. Окремо повідомте про числа, які вигадав би старий шаблон, щоб ви побачили ризиковане речення до того, як воно провалиться.

🛠️ Практика: додайте шлюз до своєї публікації

  1. Виберіть, де живуть ваші докази, наприклад тека з експортованими результатами й датами.
  2. Напишіть пошук чисел із лівою межею й правилом, що кома належить числу лише перед цифрами.
  3. Перевірте його на ідентифікаторах, датах, номерах версій, хешах і відсотках.
  4. Напишіть перевірку: кожне число має траплятися буквально у файлі доказів. Гучно падайте зі списком промахів.
  5. Додайте місце для чисел, які є визначеннями, а не вимірами, як-от «десять хвилин» у заголовку, і тримайте цей список коротким та переглянутим.
  6. Запускайте шлюз на кроці публікації. Невдача блокує випуск.

✅ Перевірте себе

  • Вставте хеш і дату в речення. Шлюз не повідомляє про фрагмент хешу чи частини дати з мінусом, яких ніде немає.
  • Змініть одну цифру справжнього числа. Шлюз падає й називає його.
  • Опублікуйте текст із числом, у якому є кома. Шлюз знайде докази, якщо там записано з тією самою комою або її локальним варіантом.
  • Новий колега може пояснити, чого шлюз не доводить.

🚧 Коли це не працює

  • Наявність — не правда. Число може бути в доказах і бути неправильним для твердження. Шлюз перевіряє наявність, а не зміст.
  • Округлені або похідні числа. Відсоток, обчислений із двох вимірів, відсутній у файлах. Зберігайте похідні числа разом з їхніми вхідними даними.
  • Числа словами. «Три» не знайде шаблон цифр. Для вимірів надавайте перевагу цифрам.
  • Докази, які самі хибні. Шлюз довіряє своїй теці.
  • Занадто довгі списки винятків. Якщо половина чисел — винятки, шлюз нічого не означає.

📊 Докази

Що ми виміряли Вивід старого й виправленого шаблонів чисел на одному тестовому реченні та запис про дефект від 25 серпня 2026
Коли 3 листопада 2026, 21:53 UTC
Артефакт Модуль цитат у нашому приватному репозиторії, з дефектом, описаним у його шапці, та його шлюз публікації
Обмеження Одне речення демонструє різницю. Ми не публікували виміряний рівень помилок шлюзу

➡️ Далі

Дізнайтеся, як ми позначаємо дати й джерела, у Джерела та верифікація, і чому заява про успіх не є доказом, у Судження AI.

Джерела

Зв’язки опублікованих статей. Виберіть вузол, щоб відкрити статтю біля заголовка.

100%
→ Пов'язані статті← Посилаються сюди⋯ Та сама тема
Зв’язки статей · клавіатура / текст

💬 Коментарі

Коментарі публічні та модеруються. Не публікуйте персональні дані.
  • Коментарів ще немає. Будьте першим!

Наступні кроки

AI agents and MCP explained

Векторна база — це мапа, а не джерело: що ми з'ясували про пошук

Векторна база знаходить уривки, близькі за змістом до вашого запиту. Вона не знає, які з них правдиві чи актуальні. Сприймайте кожен результат як вказівник: відкрийте названий файл, перевірте хеш і беріть числа з артефакту, а не зі знайденого абзацу.

AI agents and MCP explained

Коли невідомо, скільки коштував виклик моделі: заморожування, потім звіряння

Іноді виклик моделі перевищує час очікування, і ви не знаєте, чи провайдер списав кошти. Ніколи не записуйте це як нуль. Позначте витрату як непевну, зупиніть нові платні виклики й доручте названій людині звірити її з випискою провайдера. Виняток — відмови, що сталися до генерації.

AI agents and MCP explained

Розбиття великого завдання для дешевої моделі: урок про 24 000 байтів

Дешева модель добре дає раду з однією невеликою чітко окресленою роботою, але погано з великим нагромадженням. Ми обмежуємо завдання 24 000 байтами і відмовляємо більшим ще до виклику моделі. Діліть на одиниці — один файл або одна країна на завдання — і перевіряйте розмір до початку.

AI agents and MCP explained

Навички, інструменти MCP і правила: три способи дати агенту можливості

Агенти отримують можливості по-різному. Правило обмежує те, що вони роблять, навичка підказує, як виконати роботу, а інструмент MCP дозволяє викликати функцію. Кожен із трьох має власний ризик, тож фіксуйте всі три в реєстрі й перевіряйте тестом, що нічого не існує поза ним.