0Pricing
AI Agents · Ders

Sonuçları Modele Döndürme

Modelin okuyup sohbete devam edebilmesi için araç çıktılarını araç rolündeki iletiler olarak biçimlendirin.

Sonuçları Modele Döndürme, CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 4. 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.

Araç Sonucu İletisi

Bir aracı çalıştırdıktan sonra sonucu modele bir araç iletisiyle bildirirsiniz:

messages.append({
    'role': 'tool',
    'tool_call_id': tool_call.id,    # MUST match the assistant's tool_call.id
    'content': json.dumps(result)
})

İçerik Dize Olmalıdır

OpenAI, content alanının bir dize olmasını bekler. Nesneleri json.dumps ile serileştirin:

# Bad — will error
messages.append({'role': 'tool', 'tool_call_id': id, 'content': {'temp': 18}})

# Good
messages.append({'role': 'tool', 'tool_call_id': id, 'content': '{"temp": 18}'})

Anthropic Biçimi

Anthropic, bir kullanıcı iletisinin içinde bir içerik bloğu kullanır:

messages.append({
    'role': 'user',
    'content': [{
        'type': 'tool_result',
        'tool_use_id': 'toolu_abc',
        'content': json.dumps(result)
    }]
})

Hataları Döndürme

Araç başarısız olursa hatayı döndürün; başarılı olmuş gibi davranmayın. Model durumu düzeltebilir:

try:
    result = run_tool(...)
    content = json.dumps({'ok': True, 'data': result})
except Exception as e:
    content = json.dumps({'ok': False, 'error': str(e)})

messages.append({'role': 'tool', 'tool_call_id': id, 'content': content})

Çoklu Sonuç Düzeni

Paralel araç çağrılarında her sonucu eşleşen ID'siyle ekleyin:

for tc in message.tool_calls:
    result = dispatch(tc)
    messages.append({
        'role': 'tool',
        'tool_call_id': tc.id,
        'content': json.dumps(result)
    })

Büyük Çıktılar: Özetleme

Bir araç 100 KB'lık HTML döndürürse tamamını modele göndermek belirteçleri boşa harcar ve dikkati dağıtır. Önce özetleyin veya kısaltın:

def truncate(text, max_chars=4000):
    if len(text) <= max_chars:
        return text
    return text[:max_chars] + f'\n...[truncated, {len(text)-max_chars} more chars]'

sample = "x" * 4500
result = truncate(sample, max_chars=50)
print(result)

Her Zaman Aynı Şema

Sonuçlar değişse bile (başarılı / hata / bulunamadı) çıktı şemasını sabit tutun. Model, biçimlerin tutarlı olması durumunda daha güvenilir çalışır:

from typing import TypedDict, Literal, Optional, Any

class ToolResult(TypedDict):
    status: Literal['ok', 'not_found', 'error']
    data: Optional[Any]
    error: Optional[str]

def make_result(status, data=None, error=None) -> ToolResult:
    return {'status': status, 'data': data, 'error': error}

print(make_result('ok', data={'temp': 72}))
print(make_result('not_found', error='city not found'))

Üst Veri İpuçları Ekleme

İçeriğe ipuçları ekleyerek modelin sonuçları yorumlamasına yardımcı olun:

content = json.dumps({
    'data': rows,
    'note': 'Returned 50 rows (most recent first). There may be more matches.'
})

İkili Veriler

Büyük ikili verileri araç iletilerine base64 olarak yerleştirmeyin. Bunun yerine verileri depolamaya kaydedip bir URL veya ID döndürün:

result = {
    'image_path': '/tmp/chart-abc.png',
    'thumbnail_url': 'https://...',
    'caption': 'Sales by quarter, 2024'
}
for k, v in result.items():
    print(f"{k}: {v}")

Modeli Yeniden Döngüye Alma

Tüm araç sonuçlarını ekledikten sonra modeli yeniden çağırın; model ya son bir yanıt üretir ya da daha fazla araç çağırır:

class Msg:
    def __init__(self, tool_calls=None, content=None):
        self.tool_calls = tool_calls or []
        self.content = content

class ToolCall:
    def __init__(self, name, args):
        self.name = name
        self.args = args

def call_model(messages, tools):
    if len(messages) < 4:
        return Msg(tool_calls=[ToolCall('get_weather', {'city': 'Paris'})])
    return Msg(content='It is sunny in Paris.')

messages = [{'role': 'user', 'content': 'Weather in Paris?'}]
tools = ['get_weather']
message = call_model(messages, tools)

while message.tool_calls:
    for tc in message.tool_calls:
        result = f'Result of {tc.name}({tc.args})'
        messages.append({'role': 'tool', 'name': tc.name, 'content': result})
        print('Tool call:', tc.name, '->', result)
    message = call_model(messages, tools)

print('Final answer:', message.content)

Araç Çıktılarını Denetleme

Hata ayıklama için her (tool_call_id, bağımsız değişkenler, sonuç) bilgisini kaydedin. Bir aracı sistem tuhaf bir şey yaptığında ilk bakılacak yer araç sonucu günlüğüdür.

Araç Sonucu Biçimi

Bir araç iletisindeki tool_call_id neyi ifade eder?

Özet

Artık araç çağrısı gidiş-dönüşünün tamamını yönetiyorsunuz. Sıradaki kurs: aracı sistemlerin üçüncü temel unsuru olan bellek.

Sıkça Sorulan Sorular

“Sonuçları Modele Döndürme” dersi ücretsiz mi?

Evet — “Sonuçları Modele Döndürme” 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.

“Sonuçları Modele Döndürme” dersinde ne öğreneceğim?

Modelin okuyup sohbete devam edebilmesi için araç çıktılarını araç rolündeki iletiler olarak biçimlendirin. 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 4. dersidir.

“Sonuçları Modele Döndürme” 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. İşlev Çağırma Nasıl Çalışır
  2. Araç Şemalarını Tanımlama (JSON Schema)
  3. Çalışma Zamanında Araç Seçme
  4. Sonuçları Modele Döndürme
← AI Agents Sayfasına Dön