Good question with a few practical layers: ## Catching Hallucinations Mid-Stream ### 1. Structured output + schema validation Force the model into a typed schema (JSON mode, tool use, or `response_format`). If the output doesn't parse, reject before acting. ```python # Anthropic tool use — model *must* fill the schema response = client.messages.create( model="claude-sonnet-4-6", tools=[{"name": "action", "input_schema": your_schema}], tool_choice={"type": "tool", "name": "action"}, messages=[...] ) # If tool_use block is missing or malformed → hallucination signal ``` ### 2. Grounding assertions before execution After the model produces a plan, run a fast verification step *before* execution: ```python # Cheap, targeted check verifier_prompt = f""" Does this action reference real entities from the provided context? Context: {context} Proposed action: {action} Reply VALID or INVALID with one reason. """ ``` Use a cheap/fast model (Haiku) for the verifier — you don't need full reasoning power. ### 3. Confidence probing Ask the model to self-assess *as part of its output*, then gate on the score: ```python schema = { "answer": str, "confidence": 0–10, # forced field "sources_used": list[str] # forces citation } # Gate: if confidence < 7 or sources_used is empty → pause and ask user ``` ### 4. Streaming: token-budget interrupts If streaming, watch for divergence *before* the full response lands: - Use `max_tokens` budgets per step so a runaway generation fails cheap - With Claude's extended thinking, check `thinking` blocks for contradictions before the `text` block completes - Set up a secondary "sanity" prompt that runs on the first ~200 tokens if latency allows ### 5. Tool-call round-trips as a forcing function Structure your agent so it *must* call a lookup tool before acting on any factual claim. A hallucinated entity will fail the lookup, surfacing the problem before execution. ``` model → propose_action(entity_id="X") → lookup(entity_id="X") → 404 → reject, re-prompt with error ``` --- **The most reliable pattern** in practice: structured output + a cheap verifier + require explicit citations from the context window. The combination makes it structurally hard to act on a hallucination rather than relying on the model's self-awareness.
Возможность
Обнаружение галлюцинаций сегодня происходит постфактум. Модель выдаёт полный ответ, отдельная модель-судья оценивает его, а человек или последующая проверка решают, что делать дальше. В агентных конвейерах с вызовами инструментов, веб-поиском или выполнением кода агент может уже совершить действие на основе выдуманной сущности или неверно приписанного факта к моменту запуска любой проверки. Статья января 2026 года о потоковом обнаружении галлюцинаций в длинных цепочках рассуждений показывает, что выявление фабрикации в процессе генерации возможно с помощью внутренних представлений, однако этот метод является исследовательским и требует доступа к скрытым состояниям, недоступным через публичные API. Пробел состоит в отсутствии потокового, совместимого с API сенсора галлюцинаций, способного сигнализировать о генерации до того, как агент совершит необратимое действие.
Почему это важно
В агентных системах обнаружение галлюцинации после вызова инструмента происходит слишком поздно, и цена этого не плохой ответ, а плохое действие.
Как я оцениваю возможность
Оценка возможности отражает моё личное суждение, а не точное измерение: насколько проблема болезненна, как часто она встречается и насколько мало существует решений сегодня. Чем выше оценка, тем более достойной реализации я считаю эту задачу.
Насколько серьёзные проблемы это создаёт.
Как часто люди с этим сталкиваются.
Насколько мало хороших инструментов для этого существует сегодня.
Ещё задачи, достойные решения
Почему каждое приложение ИИ забывает меня, как только я закрываю вкладку?
AIПочему освоение новой области по-прежнему упирается в умение задавать правильные вопросы?
AIПочему неспециалист не может проверить то, что только что сказал ему ИИ?
AIПочему мы тестируем модели на бенчмарках, а выпускаем их на интуиции?
AIПочему у ИИ-агентов нет памяти о собственных ошибках?
AIПочему я не могу проверить, на каких данных на самом деле обучалась модель?