Tool Evidence Linking в 2026: как связывать tool results с конкретными claims и действиями агента

Tool evidence linking в 2026: как делать явные связи между tool outputs, утверждениями и action decisions, чтобы система не теряла, что именно чем было подтверждено.

Tool evidence linking в 2026 нужен потому, что в agent pipeline быстро теряется связь между "что вернул tool" и "какое именно утверждение или действие на этом основано". Tool output может быть сохранён, provenance тоже может быть сохранён, но без явного linking система всё равно не знает, какой claim был подтверждён, какой только частично поддержан, а какой вообще опирается на слабый inference. Это делает review, audit и automatic verification намного слабее.

Evidence linking — это явная связь между конкретным evidence и конкретным claim, decision или action. Не просто "данные есть", а "этот результат подтверждает именно вот это".
Самый вредный anti-pattern - хранить tool output рядом с итоговым решением, но не указывать, что именно этим output было подтверждено.

Короткая версия

Хороший tool-evidence linking в 2026 обычно хранит:

  1. Какой tool output существует
  2. Какой claim или action он поддерживает
  3. Насколько сильна эта поддержка
  4. Есть ли конфликтующее evidence
  5. Какие решения нельзя принимать без link-а

Что особенно важно

  • provenance без linking не даёт полного control signal;
  • один output может подтверждать один claim, но не другой;
  • link полезен и для runtime policy, и для reviewer-а;
  • unsupported claims должны быть видимыми, а не теряться в summary.
Без техники
В trace есть billing lookup, но непонятно, подтверждает ли он eligibility, amount или identity.
С техникой
Система явно знает, что billing lookup поддерживает `refund_eligibility`, но не подтверждает `policy_exception`.
ПромптEvidence-linking intuition
Почему мало просто сохранить tool result?
Ответ модели

Потому что без явной связи неясно, какой именно вывод агент сделал на основе этого результата и насколько это было оправдано.

1. Tool result и claim не должны связываться неявно

Полезно различать:

  • raw tool output;
  • parsed fact;
  • supported claim;
  • action decision.

Иначе система silently перескакивает от данных к решению без проверяемого моста.

Например:

  • fully_supports;
  • partially_supports;
  • conflicts_with;
  • stale_for;
  • insufficient_for_action.

Так one evidence record не притворяется универсальным подтверждением.

Если reviewer не может быстро увидеть, какое evidence поддерживает какой claim, packet почти наверняка перегружен сырыми данными и недостроенными выводами.

3. Linking особенно важен для action gating

Полезно явно знать:

  • какие claims fully supported;
  • какие unsupported;
  • какие action blockers остаются;
  • какие conflicts unresolved.

Это намного сильнее, чем простое "tool succeeded".

4. Linking помогает делать качественные postmortem

После инцидента команда может увидеть:

  • agent used wrong evidence for claim;
  • supporting evidence было stale;
  • partial support был ошибочно воспринят как sufficient;
  • critical claim остался без evidence link.

Без linking эти ошибки видно только через ручную реконструкцию.

5. Что особенно часто ломают команды

Evidence adjacent but unlinked

Данные рядом, но связи нет.

One evidence supports everything

Один tool result трактуется слишком широко.

Unsupported claims hidden in summary

В packet не видно дыр.

No conflict representation

Противоречивое evidence не фиксируется.

Нельзя использовать это для policy и analytics.

6. Какие метрики полезны

Полезно считать:

  • percent of action-critical claims with evidence links;
  • unsupported-claim rate by workflow;
  • conflicts per case;
  • partial-support used as full-support incidents;
  • reviewer drill-down rate due to unclear links;
  • actions blocked for missing claim evidence.

Плюсы

  • Evidence linking делает reasoning и action path проверяемыми
  • Улучшает review и auditability
  • Помогает policy engine отличать support от noise
  • Упрощает postmortem и debugging

Минусы

  • Нужно моделировать claims и link types
  • Усложняется packet assembly
  • Legacy tools часто отдают только сырой output
  • Без discipline links быстро начинают теряться
{
  "claim": "refund_eligibility",
  "tool_result_id": "tool_9f2",
  "link_type": "fully_supports"
}

Простой gate

def claim_supported(claim_links):
    return any(link["link_type"] == "fully_supports" for link in claim_links)

Практический совет: зрелая agent system хранит не только evidence, но и явный ответ на вопрос "что именно это evidence подтверждает, а что не подтверждает".

Проверьте себя

1. Зачем нужен evidence linking поверх хранения tool output?

2. Какой anti-pattern особенно опасен?

3. Где linking особенно важен?