Techsy
Otetttaa yhteyte
Aloita
Takaisin blogiin
ai-machine-learning

Sessiot, tracet ja spanit LLM-havainnoinnissa: yksi näistä ei ole rakennetaso

Kirjoittanut Mert Batur
Aug 8, 2026
11 lukuaika
Sisällys
Sessiot, tracet ja spanit LLM-havainnoinnissa: yksi näistä ei ole rakennetaso

Sessiot, tracet ja spanit LLM-havainnoinnissa: yksi näistä ei ole rakennetaso

Datadogin termisivu, Googlen ykköstulos haulle LLM-havainnointi sessiot tracet spanit, määrittelee näistä kolmesta sanasta kaksi. Ei kolmea. Puuttuva vastaa attribuuttia gen_ai.conversation.id, ja syy sen puuttumiseen on se, ettei OpenTelemetry-speksi koskaan tehnyt siitä rakennetasoa. Jos tarvitset ensin perustelut itse havainnoinnille, aloita tästä. Tämä artikkeli jatkaa siitä, mihin se jää: datamallista.

Keskeiset opit

  • Spanit asettuvat tracejen sisään; tracet ryhmittävät sessioiksi. Sisäkkäisyys kulkee sisältä ulos: span, sitten trace, sitten sessio.
  • Span on yksi ajastettu operaatio. Trace on yksi päästä päähän -pyyntö. Sessio on yksi monivuoroinen keskustelu.
  • OpenTelemetryn GenAI-sopimukset määrittelevät spanit ja gen_ai.conversation.id-attribuutin. Ne eivät määrittele sessiotasoa.
  • Tracen ja spanin ID:t kulkevat automaattisesti kontekstin mukana. Sessio-ID ei kulje. Asetat sen itse, jokaisella vuorolla.

Sessiot vs tracet vs spanit yhdellä silmäyksellä

LLM-havainnoinnissa span on yksi ajastettu operaatio (mallikutsu, hakuvaihe), trace on yhden pyynnön tuottama span-puu, ja sessio ryhmittää monta tracea samasta keskustelusta. Sisäkkäisyys kulkee sisäänpäin: spanit tracejen sisällä, tracet sessioiden sisällä. Kolmas ryhmittely on se, joka ei ole sitä miltä näyttää.

TasoMitä se kietooKuinka kauan se elääKuka asettaa ID:nMihin se vastaaTyypillinen määrä per keskustelu
SessioMonta tracea yhdestä käyttäjäkeskustelustaMinuuteista päiviin; päättyy toimettomuusajastukseen tai eksplisiittiseen sulkemiseen (toimittajan määrittämä)Sinä, manuaalisesti, jokaisella vuorollaOnnistuiko koko keskustelu?1
TraceYksi päästä päähän -pyyntö tai vuoroMillisekunneista sekunteihinAutomaattinen (SDK / OTel)Mitä tällä vuorolla tapahtui?Yleensä 5–20
SpanYksi operaatio: haku, mallikutsu, työkalukutsuAlimillisekunnista sekunteihinAutomaattinen (SDK / OTel)Mikä vaihe oli hidas, väärä tai kallis?Karkeasti 3–30 per trace

Nuo määrä- ja elinikäluvut ovat tyypillisiä vaihteluvälejä, joita odottaisit RAG-chatbotissa tai agenttisilmukassa, eivät mittauksia kontrolloidusta testistä. Sinun lukusi eroavat. Mikä ei eroa: Sessio-rivi on se, joka ei ole speksin rakennetaso, ja osio "Sessiot: tason, jonka työkalusi todennäköisesti keksi" todistaa sen.

Mikä on span, ja mikä on spanin laji?

Span on yksi ajastettu operaatio, jolla on nimi, aloitusaikaleima, lopetusaikaleima, tilakoodi ja joukko avain-arvo-attribuutteja. LLM-tracingissä hyödyllinen data elää attribuuteissa: gen_ai.usage.input_tokens, gen_ai.usage.output_tokens ja gen_ai.request.model kertovat, mitä operaatio maksoi ja mikä malli sen ajoi.

Span on yksi operaatio, ei yksi funktiokutsu

Jokaisella spanilla on vanhemman span-ID -viittaus (tyhjä juurispanilla), joka rakentaa puun. Attribuuttijoukko on avoin: liität siihen mitä tahansa kontekstia tarvitset. OpenTelemetry GenAI -span-sopimukset (tila: Development) vaativat attribuutit gen_ai.operation.name ja gen_ai.provider.name jokaisessa GenAI-spanissa ja suosittelevat yllä olevia token-käyttöattribuutteja.

Yksi käytännön sääntö Datadogin termisivulta: LLM-, Workflow- ja Agent-spanit voivat toimia juurispanina; Tool-, Task-, Embedding- ja Retrieval-spanit eivät voi. Se on Datadogin sääntö, ei yleispätevä, mutta se on ainoa toimittaja, joka sen sanoo, ja se säästää sinut rakentamasta tracea, joka alkaa työkalukutsusta ilman vanhempaa.

Span-lajit: sama idea, viisi sanastoa

Jokainen työkalu tarvitsee tavan sanoa "tämä span on mallikutsu" erotettuna "tämä span on haku". Ne vain eivät sovi samasta sanasta:

TyökaluSen sana "operaation lajille"Arvot
OpenTelemetry GenAIgen_ai.operation.name -attribuutti15 tunnettua arvoa (chat, embeddings, execute_tool, invoke_agent, retrieval ja 10 lisää); yhtä MUST käyttää, jos se sopii, mukautetut arvot sallittuja kun mikään ei sovi
DatadogSpan-lajiLLM, Workflow, Agent, Tool, Task, Embedding, Retrieval
OpenInference / PhoenixSpan-lajiCHAIN, LLM, TOOL, RETRIEVER, RERANKER, EMBEDDING, AGENT, GUARDRAIL, EVALUATOR, PROMPT
LangfuseObservation-tyyppigeneration, span, event
LangSmithRun-tyyppiLLM, chain, tool, retriever

OpenInference-speksi listaa kymmenen lajia. Datadog listaa seitsemän. OTel valitsee kolmannen reitin: sen GenAI-attribuuttirekisteri julkaisee 15 tunnettua arvoa attribuutille gen_ai.operation.name (chat, create_agent, create_memory, create_memory_store, delete_memory, delete_memory_store, embeddings, execute_tool, generate_content, invoke_agent, invoke_workflow, plan, retrieval, search_memory, text_completion) ja toteaa, että jos yksi niistä sopii, sitä arvoa MUST käyttää; mukautettua arvoa MAY käyttää vain kun mikään ei sovi. Kyse on siis puoliksi avoimesta enumista, ei sen puuttumisesta. Kolme listaa, kolme pituutta, eikä niiden välillä ole linjausta. Jos olet valitsemassa työkalua, tämä sanastokuilu merkitsee enemmän kuin ominaisuuslista, koska se on se, mihin kojelautasi ja hälytyssuodattimesi avaimoidaan.

Mikä on trace, ja miksi puun muodolla on väliä?

Trace on yhden pyynnön tuottama span-puu. Yksi juurispan istuu huipulla; jokainen muu span roikkuu sen alla vanhemman span-ID:n reunojen kautta. Puun muoto on koko pointti: tasainen loki kertoo jonkin olleen hidasta, mutta puu kertoo mikä vaihe oli hidas ja mikä vaihe tuotti huonon tuloksen.

text
chat_request (root)                         2,340ms
├── retrieval                                 410ms
│   └── rerank                                 85ms
├── chat gpt-4o                             1,720ms
└── tool_call: search_calendar                190ms

Lue tuo puu ja diagnoosi on välitön: 74 % viiveestä istui mallikutsussa, ei haussa. Viiden aikaleiman tasainen loki antaa saman kokonaissumman mutta ei lainkaan syyttämisvaltaa.

Agenttisilmukka tekee tästä puusta syvemmän ja leveämmän kuin tavallinen RAG-pyyntö. Jokainen työkalukutsu synnyttää oman alipuunsa; viisivaiheinen agenttivuoro voi helposti tuottaa 30+ spania yhden juuren alle. Se on normaalia, ja se on syy siihen, miksi alla oleva spanin rakeisuuskysymys on olemassa.

Tracingin ja lokituksen ero merkitsee tässäkin: lokitus tallentaa tapahtumia, tracing tallentaa kausaalisuutta. Jos vielä päätät, mitä lokittaa ja mitä traceata, artikkelimme LLM-lokituksen parhaat käytännöt vetää sen rajan.

Sessiot: tason, jonka työkalusi todennäköisesti keksi

Ei. Sessio ei ole rakennetaso OpenTelemetry GenAI -sopimuksissa. Speksi määrittelee spanit ja gen_ai.conversation.id-attribuutin (ehdollisesti vaadittu, "when available", tila: Development), jota kuvaillaan keskustelun tai säikeen yksilölliseksi tunnisteeksi, jota käytetään viestien korrelointiin. Toimittajat rakentavat sen jälkeen oman sessio-objektinsa sen attribuutin päälle. Kukaan muu tällä SERP-sivulla ei sano speksin tilaa suoraan, joten tässä se on.

Seuraus on se lause, jonka vuoksi tämä koko artikkeli on olemassa:

Sessio on ryhmittelyavain, ei vanhempi span. Se ei kulje samalla tavalla kuin trace-ID; asetat sen itse jokaisella vuorolla.

Jos unohdat yhden vuoron, tuo vuoro putoaa pois sessiosta. Sille ei ole automaattista kontekstin etenemistä.

Milloin sessio alkaa ja päättyy?

Toimittajan määrittämä. Jotkin työkalut avaavat session ensimmäisellä tracella, jolla on uusi keskustelu-ID, ja sulkevat sen toimettomuusajastukseen (Langfusen oletus on muokattavissa oleva ikkuna). Toiset vaativat eksplisiittisen sulkukutsun. Speksi ei sano elinkaaresta mitään, koska speksi ei mallinna sessiota objektina.

Mikä kulkee vuorojen yli, ja mikä ei?

Mallin konteksti-ikkuna ei ole sessio. Sessio on ryhmittelyavain itsenäisten tracejen päällä. Jokainen vuoro saa oman tracensa, oman juurispaninsa, omien token-määränsä. Mikä kulkee, on keskustelu-ID-attribuutti, jonka leimasit jokaiseen juurispaniin. Mikä ei kulje: viive, token-käyttö, span-rakenne. Ne ovat trace-kohtaisia.

Mitä sessiotason metriikka mittaa?

Asioita, joita yksittäinen trace ei voi: ratkaisuaste (ratkaisiko keskustelu käyttäjän ongelman?), vuorot vastaukseen (kuinka monta tracea ennen kuin käyttäjä sai tarvitsemansa?) ja hylätyt keskustelut (sessiot, joilla ei ole sulkusignaalia). Evalien ajaminen live-traceilla sessiotasolla on se, miten nappaat monivuoroisia epäonnistumisia, jotka näyttävät vuoro kerrallaan hyviltä.

Koodi, toimittajariippumaton

Tämä pätkä käyttää vain vakaita OTel-perusosia. Ei toimittaja-SDK:ta. Se luo juurispanin yhdelle vuorolle, lapsispanin haulle, lapsen mallikutsulle ja asettaa gen_ai.conversation.id:n niin, että kolme vuoroa päätyy yhteen sessioon:

python
from opentelemetry import trace

tracer = trace.get_tracer("my-llm-app")

SESSION_ID = "conv-8f3a2c"  # sama arvo jokaisella vuorolla

def handle_turn(user_message: str):
    with tracer.start_as_current_span("chat_request") as root:
        # Sinä asetat tämän. Se ei etene automaattisesti.
        root.set_attribute("gen_ai.conversation.id", SESSION_ID)

        with tracer.start_as_current_span("retrieval") as ret:
            ret.set_attribute("gen_ai.operation.name", "retrieval")
            docs = retrieve(user_message)

        with tracer.start_as_current_span("chat gpt-4o") as llm:
            llm.set_attribute("gen_ai.operation.name", "chat")
            llm.set_attribute("gen_ai.provider.name", "openai")
            llm.set_attribute("gen_ai.request.model", "gpt-4o")
            response = call_model(user_message, docs)
            llm.set_attribute("gen_ai.usage.input_tokens", 1_204)
            llm.set_attribute("gen_ai.usage.output_tokens", 312)

    return response

Kutsu handle_turn kolme kertaa samalla SESSION_ID:llä ja kaikki kolme tracea ryhmittävät yhden session alle missä tahansa backendissä, joka lukee attribuutin. Vaihda ID ja olet aloittanut uuden session. Siinä koko mekanismi.

Luimme viiden toimittajan dokumentit rinnakkain. Ne eivät ole samaa mieltä.

30.7.2026 luimme nykyiset datamallidokumentit toimittajille Langfuse, LangSmith, OpenInference / Phoenix ja Datadog rinnakkain, sekä OpenTelemetry GenAI -span-speksin. Neljä viidestä kutsuu samaa objektia joksikin muuksi. Vain yksi käsittelee sessiota ensiluokkaisena objektina eikä attribuuttina. Datadogin termisivu, Googlen ykköstulos tälle haulle, ei määrittele sessiota lainkaan.

KäsiteOTel GenAI semconvLangfuseLangSmithOpenInference / PhoenixDatadog
Koko keskustelugen_ai.conversation.id -attribuuttiSessio (valinnainen tracejen ryhmittely)Thread (session_id / thread_id -metadatan kautta)session.id-span-attribuuttiEi määritelty termisivulla
Yksi pyyntöTraceTraceTrace ("a collection of runs")TraceTrace
Yksi operaatioSpanObservation (span / generation / event)Run ("a span representing a single unit of work")Span, jolla on span-lajiSpan, jolla on span-laji

Yksi lähdehuomio tuosta ensimmäisestä rivistä: OpenInferencen session.id ei ole yllä linkitetyssä traces-speksissä, joka kattaa kymmenen span-lajia. Se määritellään sisartiedostossa OpenInference semantic conventions session yksilölliseksi tunnisteeksi. Kaksi tiedostoa, yksi speksi.

Emme keksineet toimittajien välistä vertailua; FutureAGI julkaisee myös OTel-vs-toimittaja-taulukon. Meidän kaksi lisäystämme ovat sessiorivi (FutureAGI ohittaa sen) ja sama-sana-eri-merkitys-ansa: Langfusen "observation" ja LangSmithin "run" ovat sama objekti kuin span, kun taas Datadogin ja OpenInferencen span-lajit ovat eri sanastoja samalle idealle.

Langfuse kutsuu sitä observationiksi, LangSmith kutsuu sitä runiksi, Datadog kutsuu sitä spaniksi. Sama objekti, kolme kojelautaa, jotka hajoavat kun migroijat.

Se on meidän tulkintamme migraatiokustannuksesta, ei toimittajan väite. Mutta se on syy siihen, miksi tallennetut suodattimet, eval-asetukset ja hälytyssäännöt, jotka on avaimoitu "observation"- tai "run"-sanaan, lakkaavat toimimasta päivänä, jona vaihdat työkalua. Et nimeä kenttää uudelleen. Nimeät tason uudelleen. Jos punnitset noita kahta tiettyä työkalua, Langfuse vs LangSmith -vertailumme menee syvemmälle eroavuuteen.

Lukijoilla voi olla jo Opik, PostHog, Sentry tai Weights & Biases pinossaan; Google liittää kaikki neljä hakuun llm tracing, ja jokainen kartoittaa nämä käsitteet hieman eri tavalla. Valitsetko oikeaa? Havainnointialustojen katsauksemme kattaa kentän.

Yksi tuoreushuomio: GenAI-sopimukset ovat siirtyneet omaan repositorioonsa, pois pää-semantic-conventions-repostosta. Vanha opentelemetry.io/docs/specs/semconv/gen-ai/-polku kantaa nyt vain viittauksen.

Mikä ID menee minne?

Trace-ID yksilöi yhden pyynnön ja etenee kontekstin kautta automaattisesti. Span-ID yksilöi yhden operaation tuon tracen sisällä, myös automaattisesti. Korrelaatio-ID (tai request-ID) tulee web-tasoltasi ennen kuin tracing alkaa, ja se on se, jonka ihmiset useimmiten sekoittavat trace-ID:hen. Sessio-ID on outo lintu: sinun asetettavasi, manuaalisesti, jokaisella vuorolla.

IDAsettajaNäkyvyysSekoitetaan
Trace-IDAutomaattinenYksi pyyntö; etenee kontekstin kauttaWeb-tason korrelaatio-ID
Span-IDAutomaattinenYksi operaatio,
Vanhemman span-IDAutomaattinenRakentaa puun; tyhjä juurispanilla,
Sessio- / keskustelu-IDSinä, manuaalisesti, jokaisella vuorollaMonta traceaOletetaan etenevän. Ei etene.
Käyttäjä-IDSinä, manuaalisestiMonta sessiotaSessio-ID
Request- / korrelaatio-IDWeb-tasosi, ennen kuin tracing alkaaYksi HTTP-pyyntöTrace-ID (tämä on se suuri)

Käytännön sääntö: liitä gen_ai.conversation.id span-attribuuttina jokaisen vuoron juurispaniin ja leimaa käyttäjä-ID sen rinnalle. Ohita yksi vuoro ja sessiotason metriikkasi menettää sen vuoron hiljaisesti.

Yksi varoitus kardinaliteetista: käyttäjä-ID:t ja sessio-ID:t ovat korkeakardinaliteettisia arvoja. Sillä on väliä backendisi indeksointilaskun kannalta, mikä on seuraavan osion ongelma.

Kuinka rakeinen spanin pitäisi olla?

Kaksi epäonnistumistilaa, molemmat yleisiä:

Yli-spanaus. Span per funktiokutsu antaa sinulle 400-spanin tracen, jota kukaan ei voi lukea, ja span-kohtaisen laskun, jota kukaan ei hyväksynyt. Hostatut backendit (Datadog, Langfuse Cloud) hinnoittelevat span-volyymin mukaan. Puhelias agenttisilmukka, joka instrumentoi jokaisen merkkijonokatketun, polttaa ilmaistason iltapäivässä.

Ali-spanaus. Yksi span "koko ketjulle" kertoo sen olleen hidas mutta ei missä. Päädyt lisäämään print-lauseet takaisin, mikä on juuri se, mitä tracingin piti korvata.

Nyrkkisääntö (ja se on nyrkkisääntö, ei mittaus): spanaa rajat, joilla tapahtuu päätös tai ulkoinen kutsu.

  • Hakuvaihe: spanaa se.
  • Rerank-kutsu: spanaa se.
  • Jokainen mallikutsu: spanaa se.
  • Jokainen työkalukutsu: spanaa se.
  • Jokainen guardrail-tarkistus: spanaa se.
  • Puhdas prosessinsisäinen muunnos (merkkijonon muotoilu, JSON-jäsennys, promptin kokoaminen): attribuutteja vanhempaan spaniin, ei omia spineja.

Kardinaliteetista, näytteenotosta ja säilytyksestä:

  • Korkeakardinaliteettiset attribuutit (käyttäjä-ID:t, täydet promptit) paisuttavat tallennuskustannuksia. Näytteistä tai katkaise niitä.
  • Useimmat backendit antavat näytteistää tracetasolla. Pidä 100 % virhe-traceista; näytteistä onnellinen polku.
  • Säilytysikkunat vaihtelevat: 7 päivää ilmaistasoilla, 30–90 päivää maksullisilla. Päätä ennen kuin tarvitset datan.

Span-volyymin ja span-kohtaisen hinnoittelun takana olevalle todelliselle kustannusmallille katso LLM-kustannusten seurantaoppaamme. Emme rakenna sitä uudelleen tässä.

Miten Techsy lähestyy tätä

Asiakasagenttityössä standardoimme kolmeen sääntöön:

  1. Yksi trace per vuoro. Älä koskaan yhdistä kahta käyttäjävuoroa yhteen traceen, vaikka agentti silmukoi sisäisesti.
  2. Sessio-ID leimattuna jokaiseen juurispaniin, asetettuna sovelluskoodissa, ei koskaan oletettuna etenevän.
  3. Span-lajit pidettynä pienenä kiinteänä joukkona (retrieval, inference, tool, guardrail), jotta kojelaudat selviävät toimittajan vaihdosta.

Tuo kolmas sääntö on se, jonka tiimit ohittavat, ja se on se, joka pelastaa migraation. Jos span-sanastosi on sidottu yhden toimittajan enumiin, jokainen hälytys ja tallennettu näkymä hajoaa päivänä, jona vaihdat.

Jos rakennat agenttijärjestelmää ja haluat toisen mielipiteen tracing-arkkitehtuuriin, ota ilmainen konsultaatio.

Tietoa kirjoittajasta

Mert Batur on Techsy.io:n perustajaosakas, missä tiimi toimittaa AI-agentteja, automaatiojärjestelmiä ja ääni-/SDR-putkia B2B-asiakkaille. Hän kirjoittaa LLM-työkalupinosta, jota Techsyn tiimi todella käyttää tuotannossa. Yhdistä LinkedInissä.

Usein kysytyt kysymykset

Mikä on span hajautetussa tracingissä?

Span on yksi ajastettu työyksikkö: sillä on nimi, aloitusaika, lopetusaika, tila ja joukko attribuutteja. Spanit linkittyvät toisiinsa vanhemman span-ID:n viittauksilla ja muodostavat puun. LLM-sovelluksissa span kietoo tyypillisesti yhden mallikutsun, yhden haun tai yhden työkalukutsun.

Mikä on span Datadogissa?

Datadogin LLM Observabilityssä span on sama ajastettu operaatio, mutta Datadog lisää span-laji-taksonomian: LLM, Workflow, Agent, Tool, Task, Embedding ja Retrieval. Vain LLM-, Workflow- ja Agent-lajit voivat toimia juurispanina. Taksonomia on Datadog-kohtainen; se ei ole osa OpenTelemetry-standardia.

Mitkä ovat havainnoinnin neljä pilaria?

Neljä pilaria ovat lokit, metriikat, tracet ja (käsitteistöstä riippuen) profiilit tai tapahtumat. Tracet ovat se pilari, jossa tämä artikkeli elää. LLM-tapaus lisää mutkan: token-käyttö ja mallin identiteetti ovat trace-spanien attribuutteja, eivät erillisiä metriikkavirtoja, mikä romahduttaa kaksi pilaria yhdeksi kyselyksi.

Mitkä ovat havainnoinnin neljä kultaista signaalia?

Viive, liikenne, virheet ja kyllästyminen. LLM-järjestelmissä viive tarkoittaa aikaa ensimmäiseen tokeniin ja kokonaisgenerointiaikaa; liikenne tarkoittaa pyyntöjä sekunnissa per malli; virheet tarkoittavat epäonnistuneita spineja (tilakoodi ERROR); kyllästyminen tarkoittaa token-budjetin ehtymistä tai jonon syvyyttä. Signaalit ovat samat; yksiköt eroavat.

Onko sessio osa OpenTelemetry-spesifikaatiota?

Ei rakennetasona. OTel GenAI -span-sopimukset määrittelevät gen_ai.conversation.id:n ehdollisesti vaadituksi attribuutiksi ("when available") viestien korrelointiin keskustelussa tai säikeessä. Se istuu spineissa. Toimittajat kuten Langfuse ja LangSmith rakentavat omat sessio- tai thread-objektinsa sen päälle.

Mikä on ero trace-ID:n, span-ID:n ja korrelaatio-ID:n välillä?

Trace-ID yksilöi yhden pyynnön ja etenee automaattisesti kaikkien alavirran palveluiden läpi. Span-ID yksilöi yhden operaation tuon tracen sisällä. Korrelaatio-ID (tai request-ID) generoidaan web-tasollasi ennen kuin tracing alkaa, ja se on arvo, jota ihmiset useimmiten luulevat trace-ID:ksi. Ne menevät päällekkäin näkyvyydessä mutta syntyvät eri tavalla.

Kuinka monta spania yhdellä tracella pitäisi olla?

Kiinteää vastausta ei ole, mutta tyypilliset vaihteluvälit ovat 3–30 RAG-pyynnölle ja 10–50+ agenttisilmukalle, jossa on useita työkalukutsuja. Nyrkkisääntö: spanaa ulkoiset kutsut ja päätöspisteet, et prosessinsisäisiä muunnoksia. Jos tracesi ylittää 100 spania, instrumentoit todennäköisesti liikaa.

Ovatko Langfusen "observationit" sama asia kuin spanit?

Kyllä. Langfusen observation on sama objekti kuin OTel-span: yksi ajastettu operaatio attribuutteineen. Langfuse jakaa observationit kolmeen tyyppiin (generation, span, event), missä OTel käyttää gen_ai.operation.name-attribuuttia. Jos arvioit työkaluja, jotka lukevat tracejasi, LLM-eval-työkalujen katsauksemme kattaa ne, jotka hyväksyvät molemmat sanastot.

Miten ryhmität monivuoroisen chatbot-keskustelun yhteen sessioon?

Aseta sama keskustelutunniste jokaisen vuoron juurispaniin. OTel-termeissä se on gen_ai.conversation.id. Langfusessa annat session_id:n traceja luodessasi. LangSmithissä asetat session_id- tai thread_id-metadatan. Ohita yksi vuoro ja tuo vuoro putoaa pois ryhmittelystä.

Tarvitsenko sessioita, jos käsittelen vain yksivuoroisia pyyntöjä?

Todennäköisesti et. Sessiot ovat olemassa korreloimaan monta tracea yhdeksi keskusteluksi. Jos jokainen pyyntö on itsenäinen (luokittelu-API, yhden kerran tiivistäjä), trace-tason metriikat riittävät. Lisää sessiot kun tarvitset vuorojen välisiä metriikoita: ratkaisuastetta, vuoroja vastaukseen tai keskustelutason kustannuksia. LLM-eval-oppaamme kattaa, milloin sessiotason evalit ansaitsevat paikkansa.

Lyhyt versio

Spanit asettuvat tracejen sisään; tracet ryhmittävät sessioiksi. Sisäkkäisyys on todellinen, mutta speksi rakentaa vain kaksi kolmesta tasosta. gen_ai.conversation.id on attribuutti, jonka asetat itse, ei vanhempi span, joka etenee. Ja toimittaja, jonka valitset tänään, nimeää nämä objektit eri tavalla kuin toimittaja, johon vaihdat 18 kuukauden kuluttua, joten pidä span-sanastosi pienenä ja siirrettävänä.

Jos olet valitsemassa alustaa, aloita havainnointialustojen vertailustamme. Jos rakennat evalia tracejesi päälle, LLM-eval-opas jatkaa tästä.

Aihepiirit

llm-havainnointiopentelemetryllm-tracingspanittracetsessiotlangfuselangsmith

Jaa tämä artikkeli

Aiheeseen liittyvät julkaisut

Lisää aiheesta ai-machine-learning

ai-machine-learning
Aug 8, 2026

Deployaa LLM serverless GPU:lle: 5 alustaa, oikeat hinnat, rehelliset cold start -luvut

Viisi serverless GPU -alustaa hinnoiteltuna rinnakkain $/GPU-tunti-yksikössä, mukana toimittajien julkaisemattomat cold start -luvut ja vastaus mallitallennuksen hintaan, jota kukaan ei anna.

12 min lukuaika lukuaika
Lue
ai-machine-learning
Aug 7, 2026

AI-agenttien työnkulumallit: 7 mallia ja milloin ne toimivat (2026)

Seitsemän AI-agenttien työnkulumallia toistuvat jokaisen toimittajan taksonomiassa, mutta mikään niistä ei voita kaikkialla. Tässä artikkelissa ne asetetaan paremmuusjärjestykseen Google Researchin ja Anthropicin julkaistun 2026 benchmark-datan perusteella, laskutoimitukset näkyvillä, ajettava Python-koodi jokaiselle mallille ja päätöstikkaat oikean valintaan.

13 min lukuaika lukuaika
Lue
ai-machine-learning
Aug 7, 2026

RAG:n paloittelustrategiat: 7 menetelmää, hakudatan perusteella järjestettynä (2026)

Paloittelu pilkkoo dokumentit ennen upotusta, ja pilkkomiskohdat määräävät, mitä hakumoduuli löytää ja mitä ei. Järjestimme 7 RAG:n paloittelustrategiaa Chroman julkisen 472 kyselyn benchmarkin perusteella ja sovitimme kukin jo käytössä olevaan upotusmalliin.

15 min lukuaika lukuaika
Lue
Katso kaikki julkaisut
Aloita projekti

Valmiina rakentamaan jotain erinomainen?

Muutetaan visiosi todellisuudeksi. Tiimimme on valmis auttamaan sinua luomaan ohjelmistoja, joilla on todellinen vaikutus.

Varaa lyhyt suunnittelukeskusteluKatso töitämme

Suosittuja kirjastosta

Claude-taidot

Katso kaikki
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

Tekoäly automatisoinnit

Katso kaikki
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Suosittuja kirjastosta

Claude-taidot

Katso kaikki
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

Tekoäly automatisoinnit

Katso kaikki
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Palvelut

  • Yritysratkaisut
  • Mobiilisovellukset
  • Verkkosovellukset

Ratkaisut

  • CRM-järjestelmät
  • Tekoälyintegraatio
  • ERP-ratkaisut
  • Ääniapurarit
  • Prosessien automatisointi
  • Kyberturvallisuus

Kirjasto

  • Blogi
  • Portfolio

Yhteisö

  • Tekoäly automatisoinnit
  • Claude-taidot

Työkalut

  • Mobile sovelluksen hintalaskuri
  • OpenAI / LLM API -hintalaskuri
  • MVP-hintalaskuri
  • Puhe-tekoälyasiamies-hintalaskuri

Yritys

  • Tietoja
  • Kumppanit
  • Ota yhteyttä

Juridiset asiat

  • Tietosuopolitiiikka
  • Käyttöehdot
  • Evästekäytäntö

Palvelut

  • Yritysratkaisut
  • Mobiilisovellukset
  • Verkkosovellukset

Ratkaisut

  • CRM-järjestelmät
  • Tekoälyintegraatio
  • ERP-ratkaisut
  • Ääniapurarit
  • Prosessien automatisointi
  • Kyberturvallisuus

Kirjasto

  • Blogi
  • Portfolio

Yhteisö

  • Tekoäly automatisoinnit
  • Claude-taidot

Työkalut

  • Mobile sovelluksen hintalaskuri
  • OpenAI / LLM API -hintalaskuri
  • MVP-hintalaskuri
  • Puhe-tekoälyasiamies-hintalaskuri

Yritys

  • Tietoja
  • Kumppanit
  • Ota yhteyttä
Juridiset asiatTietosuopolitiiikkaKäyttöehdotEvästekäytäntö
TECHSY
© 2026 Techsy. Kaikki oikeudet pidätetään.