Tekoälyagentit · Oppitunti

Työkalukutsujen sekä syötteiden ja tulosteiden kirjaaminen

Selvittäkää, mitä kustakin vaiheesta kannattaa tallentaa: työkalun nimi, syöteargumentit, tuloste, viive, virhe ja ylemmän spanin tunniste.

Oppitunti 2/413 vaihetta

Työkalukutsujen sekä syötteiden ja tulosteiden kirjaaminen on ilmainen Tekoälyagentit-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Tekoälyagentit-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Tekoälyagentit-kurssilla on yhteensä 4 oppituntia.

Osaa tämän oppitunnin sisällöstä ei ole vielä käännetty, joten se näytetään englanniksi.

Mitä kirjataan lokiin jokaisesta vaiheesta

Tallentakaa jokaiseen spaniin:

  • Vaiheen nimi (llm_call, tool_call, retrieve)
  • Syötteet (viestit, työkalun argumentit ja kysely)
  • Tulosteet (vastaus ja työkalun tulos)
  • Metatiedot (malli, viive, tokenimäärät ja kustannukset)
  • Virheen tiedot, jos suoritus epäonnistui

Itse rakennettu span-apuri

Ilman kehystä vähimmäistason apuri voisi olla:

from contextlib import contextmanager
import time, uuid

@contextmanager
def span(name, trace_id, parent_id=None):
    span_id = str(uuid.uuid4())
    start = time.time()
    record = {'trace_id': trace_id, 'span_id': span_id, 'parent_id': parent_id, 'name': name, 'start': start}
    try:
        yield record
    except Exception as e:
        record['error'] = str(e)
        raise
    finally:
        record['duration_ms'] = (time.time() - start) * 1000
        save_span(record)

Using It

trace_id = str(uuid.uuid4())
with span('llm_call_planner', trace_id) as s:
    s['model'] = 'gpt-4o-mini'
    s['messages_in'] = messages
    response = client.chat.completions.create(model='gpt-4o-mini', messages=messages)
    s['response'] = response.choices[0].message.content
    s['tokens_in'] = response.usage.prompt_tokens
    s['tokens_out'] = response.usage.completion_tokens

Spanien sisäkkäisyys

Välittäkää parent_id eteenpäin, jotta spanit muodostavat puun:

with span('agent_step', trace_id) as parent:
    with span('llm_call', trace_id, parent_id=parent['span_id']):
        ...
    with span('tool_call:search', trace_id, parent_id=parent['span_id']):
        ...

Työkalukutsujen lokitus

Kirjatkaa työkalukutsuista erityisesti:

  • Työkalun nimi
  • Argumentit (JSON)
  • Tulos (JSON, mahdollisesti lyhennettynä)
  • Viive
  • Virhe, jos sellainen on

Lyhentäkää suuret payloadit

Jotkin työkalujen tulokset ovat valtavia (200 kt:n HTML-koodia). Lyhentäkää ne ennen tallentamista:

def safe_payload(obj, max_chars=8000):
    s = json.dumps(obj)
    return s if len(s) <= max_chars else s[:max_chars] + '...[truncated]'

PII-tietojen peittäminen

Poista henkilötiedot ennen tallentamista:

import re
EMAIL_RE = re.compile(r'[\w\.-]+@[\w\.-]+')

def redact(text):
    return EMAIL_RE.sub('[email]', text)

print(redact("Contact me at alice@example.com for details."))

Rakenteinen lokituloste

Tuota yksi JSON-tietue kutakin span-osio­ta kohden — ohjaa se ELK:hon, Lokiin, Datadogiin tai BigQueryyn:

import json
import sys

def save_span(record):
    print(json.dumps(record), file=sys.stderr, flush=True)

demo_record = {'span': 'call_llm', 'duration_ms': 120, 'ok': True}
save_span(demo_record)
print("Logged span:", json.dumps(demo_record))

Yhdistä käyttäjäistuntoihin

Sisällytä session_id ja user_id jokaiseen span-osioon, jotta voit myöhemmin suodattaa tracet käyttäjän mukaan.

Otanta

Käytä suuren volyymin agenteissa otantaa:

import random

def should_trace(user_id):
    return random.random() < 0.10  # 10% of traces
# Always trace errors and slow runs.

random.seed(42)
sampled = sum(should_trace(i) for i in range(1000))
print(f"Traced {sampled} out of 1000 calls (~10% target)")

Toista traceista

Tallenna täydelliset syötteet (viestit, työkalut, argumentit), jotta voit ajaa tracen uudelleen uuden promptin kanssa parannusten testaamiseksi. Tämä muodostaa eval-vetoisen kehityksen perustan.

Katkaistaanko suuret payloadit?

Miksi suuret työkalujen tulosteet kannattaa katkaista lokeissa?

Kertaus

Jokainen vaihe, jokainen syöte, jokainen tuloste — rakenteisena, sisäkkäisenä ja otannettuna. Tämä on kaiken muun observabilityn raaka-aine.

Aloita maksutta

Opi Tekoälyagentit tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
60
Oppitunnit
239

Usein kysytyt kysymykset

Onko oppitunti ”Työkalukutsujen sekä syötteiden ja tulosteiden kirjaaminen” ilmainen?

Kyllä – oppitunnin ”Työkalukutsujen sekä syötteiden ja tulosteiden kirjaaminen” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Tekoälyagentit-kurssin, päivitä CoddyKit PROhon. Tekoälyagentit-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Työkalukutsujen sekä syötteiden ja tulosteiden kirjaaminen”?

Selvittäkää, mitä kustakin vaiheesta kannattaa tallentaa: työkalun nimi, syöteargumentit, tuloste, viive, virhe ja ylemmän spanin tunniste. Harjoittelet Tekoälyagentit-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Tekoälyagentit-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Tekoälyagentit-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”Työkalukutsujen sekä syötteiden ja tulosteiden kirjaaminen”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Tekoälyagentit-oppitunnilla?

Kyllä. Jokainen Tekoälyagentit-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Miksi agentit tarvitsevat jäljitystä
  2. Työkalukutsujen sekä syötteiden ja tulosteiden kirjaaminen
  3. Viive ja kustannukset vaiheittain
  4. Agenttisuoritusten visualisointi (Langfuse, LangSmith)
← Takaisin: Tekoälyagentit