Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[BOT ISSUE] Anthropic server_tool_use usage metrics silently dropped

Aperta Adatta ai principianti
#137 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
72/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Tranquilla
Stack tecnologico
ruby
Ambito
observability

Direzione di ricerca

Inizia in lib/braintrust/contrib/anthropic/instrumentation/common.rb, all'interno di parse_usage_tokens, e confronta come messages.rb e beta_messages.rb lo utilizzano per le risposte in streaming e non in streaming. Assicurati che il valore di utilizzo di server_tool_use.web_search_requests venga mantenuto nelle metriche di Braintrust, anche attraverso entrambi i percorsi di risposta.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Summary

When Anthropic's built-in web search tool is used, the API returns a server_tool_use field in the usage object containing web_search_requests counts. The SDK's Common.parse_usage_tokens silently drops this field because it only maps 4 hardcoded usage fields. Users paying for web search ($10/1000 searches) have no visibility into their server-side tool usage through Braintrust metrics.

What is missing

The Anthropic Messages API returns usage like this when web search is active:

"usage": {
  "input_tokens": 105,
  "output_tokens": 6039,
  "cache_read_input_tokens": 7123,
  "cache_creation_input_tokens": 7345,
  "server_tool_use": {
    "web_search_requests": 1
  }
}

Common.parse_usage_tokens (lines 22–27) only maps these fields:

Anthropic field Braintrust metric
input_tokens prompt_tokens
output_tokens completion_tokens
cache_read_input_tokens prompt_cached_tokens
cache_creation_input_tokens prompt_cache_creation_tokens

The server_tool_use object is silently ignored. Any future server-side tool usage fields added by Anthropic will also be silently dropped.

Impact
  • Web search is a stable, GA Anthropic feature with two tool versions (web_search_20250305, web_search_20260209)
  • Each web search is billed at $10/1000 requests — a meaningful cost that users would want to track
  • The server_tool_use content block type already appears in response content arrays (captured in braintrust.output_json), but the aggregate usage count in the usage object is lost

Braintrust docs status

not_found — The Braintrust Anthropic integration docs at https://www.braintrust.dev/docs/integrations/ai-providers/anthropic document metric collection including cached tokens, but do not mention server_tool_use or web search request tracking.

Upstream sources

Local repo files inspected

  • lib/braintrust/contrib/anthropic/instrumentation/common.rb — parse_usage_tokens method (lines 14–48) defines a 4-field field_map and skips all unrecognized keys via next unless ... target
  • lib/braintrust/contrib/anthropic/instrumentation/messages.rb — calls Common.parse_usage_tokens for both streaming and non-streaming responses
  • lib/braintrust/contrib/anthropic/instrumentation/beta_messages.rb — same pattern
Lingua principale
Ruby
Stelle
9
Fork
10
Merge medio
3g 43m
PR unite (30g)
9

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di braintrustdata/braintrust-sdk-ruby

Tutte le issue di braintrustdata/braintrust-sdk-ruby

Issue simili

Altre issue su Ruby

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.