0Pricing
AI Agents · Ders

Kod Açıklayan Bir Aracı

Kaynak dosyalarını okuyan, LLM'den açıklama isteyen ve Markdown belgeleri döndüren bir aracı oluşturun.

Kod Açıklayan Bir Aracı, 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.

Proje Hedefi

Bir kaynak dosyayı (Python, JS veya herhangi bir dosya) alıp Markdown belgeleri döndüren bir ajan oluşturun: amaç, temel işlevler ve kullanım örneği.

Neden Kullanışlı?

Koddan belge üretmek, LLM'lerin en güvenilir kullanım senaryolarından biridir — kod yapılandırılmıştır, görev sınırlıdır ve çıktı insanlar tarafından okunur; bu nedenle küçük hatalar tolere edilebilir.

Mimari

  1. Kaynak dosyayı okuyun
  2. İsteğe bağlı olarak sınıf veya işleve göre bölün
  3. Her parça için LLM'den açıklama isteyen bir istem verin
  4. Bir Markdown belgesinde birleştirin

Step 1: Read the File

import sys

with open('example.py', 'w') as f:
    f.write('print("hello")\n')

path = sys.argv[1] if len(sys.argv) > 1 else 'example.py'
with open(path) as f:
    code = f.read()
print(f'Read {len(code)} characters from {path}')

Step 2: Prompt for Documentation

from openai import OpenAI
oai = OpenAI()

prompt = f'''
You are a senior engineer writing developer-friendly docs.

Given this source file, produce a Markdown document with:
# {path}

## Purpose
(One paragraph)

## Public API
(Each function/class with one-line description)

## Usage Example
(One short, runnable snippet)

Source:
```
{code}
```
'''

response = oai.chat.completions.create(
    model='gpt-4o-mini',
    messages=[{'role': 'user', 'content': prompt}],
    temperature=0.2,
)
print(response.choices[0].message.content)

Uzun Dosyaları İşleme

Dosya çok uzunsa işleve göre bölün ve her birini ayrı ayrı açıklayın:

import ast

tree = ast.parse(code)
functions = [node for node in ast.walk(tree) if isinstance(node, ast.FunctionDef)]

for func in functions:
    snippet = ast.unparse(func)
    explain(snippet)

3. Adım: Çıktıları Birleştirme

Çok parçalı çalıştırmalarda, işlev başına açıklamaları tek bir belgede birleştirin:

docs = []
for func_name, snippet in functions:
    explanation = explain(snippet)
    docs.append(f'### {func_name}\n\n{explanation}\n')

full_doc = '\n'.join(docs)
open('docs.md', 'w').write(full_doc)

Proje Düzeyinde Özet Ekleme

İşlev başına açıklamalardan sonra LLM'den üst düzey bir genel bakış isteyin:

summary_prompt = 'Summarise the purpose of this package in 3 sentences, given these function docs:\n\n' + full_doc
summary = ask(summary_prompt)

Çok Dilli

Aynı istem JS, Go, Rust vb. için de çalışır. Daha iyi sonuçlar için dili isteme ekleyin:

prompt = f'You are documenting {language} code. ...'

Fark Tabanlı Belgeler

Aşamalı güncellemeler için yalnızca değişen dosyalar üzerinde yeniden çalıştırın:

import subprocess
changed = subprocess.check_output(['git', 'diff', '--name-only', 'HEAD~1']).decode().splitlines()
for path in changed:
    if path.endswith('.py'):
        regenerate_doc(path)

Örneği Çalıştırmak İçin Araç Kullanma

LLM'nin kullanım örneğinin gerçekten çalıştığını doğrulayın — ajana bir Python REPL aracı verin:

def run_python(code):
    try:
        exec(code, {})
        return {'stdout': 'ok', 'stderr': ''}
    except Exception as e:
        return {'stdout': '', 'stderr': str(e)}

tools = [{'name': 'run_python', 'description': 'Execute a Python snippet and return stdout/stderr', 'parameters': {'code': 'str'}}]

broken_example = 'print(1/0)'
result = run_python(broken_example)
if result['stderr']:
    print('Example failed:', result['stderr'])
    fixed_example = 'print(1)'
    result = run_python(fixed_example)
    print('Self-corrected result:', result)
else:
    print('Example ran fine:', result)

Ajan Yanılsama Ürettiğinde

Model bazen işlevler veya bağımsız değişkenler uydurur. Azaltma yöntemleri:

  • Yalnızca dosya içeriğini sağlayın (model belleği olmadan)
  • Sıcaklık 0
  • Bir doğrulama adımı ekleyin (örneği çalıştırın, parçacığı lint işleminden geçirin)

Ürüne Dönüştürün

Bunu bir CLI olarak sarmalayın:

# pip install -e .
# docgen src/myproject/agent.py
# Outputs docs.md

Araçtan CI'a

CI'a bağlayın: her PR'de değişen dosyaların belgelerini yeniden oluşturup geri işleyin. Böylece deponuz her zaman belgelenmiş olur.

Neden Dosyanın Tamamını Okumalı?

İşlev imzaları yerine FULL kaynak dosyasını neden LLM'ye aktarmalısınız?

Özet

Kodu belgelere dönüştüren 30 satırlık bir ajan. Araçlar ve doğrulamayla genişletmek kolaydır. RAG'den sonraki harika ikinci projedir.

Sıkça Sorulan Sorular

“Kod Açıklayan Bir Aracı” dersi ücretsiz mi?

Evet — “Kod Açıklayan Bir Aracı” 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.

“Kod Açıklayan Bir Aracı” dersinde ne öğreneceğim?

Kaynak dosyalarını okuyan, LLM'den açıklama isteyen ve Markdown belgeleri döndüren bir aracı oluşturun. 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.

“Kod Açıklayan Bir Aracı” 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. Belgeleriniz Üzerinde Soru-Cevap Botu
  2. Kod Açıklayan Bir Aracı
  3. Web'de Gezen Araştırma Aracısı
  4. DB'niz için SQL Asistanı
← AI Agents Sayfasına Dön