AI Agents · Ders

Araç Çağrılarını ve Girdileri ve Çıktıları Günlükleme

Her adımda yakalanacakları öğrenin: araç adı, girdi bağımsız değişkenleri, çıktı, gecikme, hata ve üst yayılım kimliği.

2. ders / 413 adım

Araç Çağrılarını ve Girdileri ve Çıktıları Günlükleme, CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AI Agents öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AI Agents kursu toplamda 4 dersten oluşur.

Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.

Her Adımda Neler Günlüğe Kaydedilmeli?

Her span için şunları kaydedin:

  • Adım adı (LLM çağrısı, araç çağrısı, getirme)
  • Girdiler (iletiler, araç bağımsız değişkenleri, sorgu)
  • Çıktılar (yanıt, araç sonucu)
  • Üst veriler (model, gecikme, belirteç sayıları, maliyet)
  • Başarısız olduysa hata bilgileri

Elle Yazılmış span Yardımcısı

Bir çerçeve olmadan kullanılabilecek en küçük yardımcı:

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

span'leri İç İçe Yerleştirme

span'lerin bir ağaç oluşturması için üst kimliği aşağıya aktarın:

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']):
        ...

Araç Çağrılarını Günlüğe Kaydetme

Özellikle araç çağrıları için şunları günlüğe kaydedin:

  • Araç adı
  • Bağımsız değişkenler (JSON)
  • Sonuç (JSON, gerekirse kısaltılmış)
  • Gecikme
  • Hata (varsa)

Büyük Yükleri Kısaltın

Bazı araç sonuçları çok büyüktür (200 KB HTML). Depolamadan önce kısaltın:

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

PII Redaksiyonu

Depolamadan önce kişisel bilgileri çıkarın:

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."))

Yapılandırılmış Günlük Çıktısı

Her span için bir JSON kaydı üretin — ELK, Loki, Datadog veya BigQuery'ye aktarın:

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))

Kullanıcı Oturumlarıyla İlişkilendirme

Daha sonra trace kayıtlarını kullanıcıya göre filtreleyebilmeniz için her span kaydına bir session_id ve user_id ekleyin.

Örnekleme

Yüksek hacimli ajanlarda örnekleme yapın:

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)")

Trace Kayıtlarından Yeniden Çalıştırma

İyileştirmeleri sınamak için bir trace kaydını yeni bir istemle yeniden çalıştırabilmeniz amacıyla tüm girdileri (mesajlar, araçlar, bağımsız değişkenler) kaydedin. Bu, değerlendirme odaklı geliştirmenin temelidir.

Büyük Veri Yükleri Kısaltılsın mı?

Günlüklerdeki büyük araç çıktılarını neden kısaltmalısınız?

Özet

Her adım, her girdi, her çıktı — yapılandırılmış, iç içe ve örneklenmiş. Gözlemlenebilirlikteki diğer her şeyin ham maddesi budur.

Başlamak ücretsiz

Yapay zeka eğitmeniyle AI Agents öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
60
Dersler
239

Sıkça Sorulan Sorular

“Araç Çağrılarını ve Girdileri ve Çıktıları Günlükleme” dersi ücretsiz mi?

Evet — “Araç Çağrılarını ve Girdileri ve Çıktıları Günlükleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AI Agents kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AI Agents kursu toplamda 4 dersten oluşur.

“Araç Çağrılarını ve Girdileri ve Çıktıları Günlükleme” dersinde ne öğreneceğim?

Her adımda yakalanacakları öğrenin: araç adı, girdi bağımsız değişkenleri, çıktı, gecikme, hata ve üst yayılım kimliği. AI Agents ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

AI Agents öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te AI Agents, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Araç Çağrılarını ve Girdileri ve Çıktıları Günlükleme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu AI Agents dersinde kod yazıp çalıştırabilir miyim?

Evet. Her AI Agents dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Aracılar için İzleme Neden Gereklidir
  2. Araç Çağrılarını ve Girdileri ve Çıktıları Günlükleme
  3. Adım Başına Gecikme ve Maliyet
  4. Aracı Çalışmalarını Görselleştirme (Langfuse, LangSmith)
← AI Agents Sayfasına Dön