0Pricing
AI Agents · Ders

Yardımcıdan Özerk Aracıya

Sohbet robotundan tamamen özerk aracıya uzanan yelpaze: her adımda ne değişir?

Yardımcıdan Özerk Aracıya, CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 1. 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.

Özerklik Yelpazesi

Yapay zekâ sistemleri tamamen tepkisel sistemlerden tamamen otonom sistemlere uzanan bir yelpazede yer alır. Etmeninizin bu yelpazenin neresinde olduğunu anlamak, hangi mimari bileşenlere ihtiyaç duyduğunu, ne kadar insan gözetimi gerektiğini ve hangi hata türlerinin öngörülmesi gerektiğini belirler.

1. Düzey: Saf Sohbet Robotu

Saf bir sohbet robotu, mesajlara metinle yanıt verir. Mevcut bağlam penceresinin ötesinde belleği, araçları veya hedefleri yoktur ve dünyada eylem gerçekleştiremez. Her etkileşim durum bilgisi taşımaz. İnsan gözetimi gereksinimi en düşük düzeydedir; yalnızca metin üretebilir, eylem gerçekleştiremez.

import anthropic

# Level 1: Pure chatbot — single turn, no memory, no tools
def pure_chatbot(user_message: str) -> str:
    client = anthropic.Anthropic(api_key='YOUR_API_KEY')
    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=512,
        messages=[{'role': 'user', 'content': user_message}]
    )
    return response.content[0].text

# What it has:
#   - Language understanding
#   - Knowledge from training
# What it lacks:
#   - Memory (no history between sessions)
#   - Tools (cannot access external data)
#   - Goals (no objective to pursue)
#   - Proactivity (only responds, never initiates)

response = pure_chatbot('What is the capital of Australia?')
print(response)

2. Düzey: Araçlarla Güçlendirilmiş Etmen

Araçlarla güçlendirilmiş bir etmen dış yetenekler ekler: web araması, veritabanı sorguları, kod çalıştırma ve API çağrıları. Güncel veri gerektiren soruları yanıtlayabilir. Bellek bir oturum içinde kalıcı olabilir. İnsan gözetimi gereksinimi orta düzeydedir; veri okuyabilir, ancak eylemler genellikle salt okunur veya düşük risklidir.

import anthropic

# Level 2: Tool-augmented agent
def tool_augmented_agent(user_message: str, conversation_history: list) -> str:
    client = anthropic.Anthropic(api_key='YOUR_API_KEY')

    tools = [
        {
            'name': 'search_web',
            'description': 'Search the web for current information',
            'input_schema': {'type': 'object',
                             'properties': {'query': {'type': 'string'}},
                             'required': ['query']}
        }
    ]

    conversation_history.append({'role': 'user', 'content': user_message})

    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=1024,
        tools=tools,
        messages=conversation_history
    )

    # Handle tool use...
    return response.content[-1].text if response.stop_reason == 'end_turn' else '[tool called]'

# What changed vs Level 1:
#   + Tools (external data access)
#   + Session memory (conversation history)
# Still lacking:
#   - Persistent cross-session memory
#   - Goals (still reactive)
#   - Proactivity

3. Düzey: Hedef Odaklı Etmen

Hedef odaklı bir etmen, araç çağrıları arasında durumu koruyarak tanımlanmış bir amacı birden çok adım boyunca izler. Hedefi alt görevlere ayıran bir planlayıcısı vardır. İnsan gözetimi gereksinimi önemlidir; gerçek dünyada birikimli etkiler oluşturabilecek çok adımlı eylemler gerçekleştirir.

# Level 3: Goal-directed agent
class GoalDirectedAgent:
    def __init__(self, goal: str, tools: list, client):
        self.goal = goal
        self.tools = tools
        self.client = client
        self.memory = []  # persistent across steps
        self.plan = self._make_plan()

    def _make_plan(self) -> list:
        response = self.client.messages.create(
            model='claude-opus-4-5', max_tokens=512,
            messages=[{'role': 'user', 'content':
                f'Goal: {self.goal}\n'
                'Create a numbered list of steps to achieve this goal. '
                'Each step should be a single tool call or reasoning step.'
            }]
        )
        return response.content[0].text

    def step(self) -> str:
        # Execute next planned step
        return 'step executed'

# What changed vs Level 2:
#   + Goal: has an objective to pursue
#   + Planning: decomposes goal into sub-tasks
#   + Persistent memory across steps
# Still lacking:
#   - Self-directed (still initiated by human)
#   - Self-improvement

if __name__ == '__main__':
    class FakeContent:
        def __init__(self, text):
            self.text = text

    class FakeResponse:
        def __init__(self, text):
            self.content = [FakeContent(text)]

    class FakeMessages:
        def create(self, **kwargs):
            return FakeResponse('1. Search web for topic\n2. Summarize findings\n3. Draft report')

    class FakeClient:
        def __init__(self):
            self.messages = FakeMessages()

    agent = GoalDirectedAgent(goal='Write a market report', tools=[], client=FakeClient())
    print('Goal:', agent.goal)
    print('Plan:')
    print(agent.plan)

4. Düzey: Kendine Yön Veren Etmen

Kendine yön veren bir etmen kendi alt hedeflerini belirler, ortamını ilgili olaylar açısından izler ve insan yönlendirmesi olmadan eylemler başlatır. Uzun süreli belleğe ve bir dünya modeline sahiptir; koşullar değiştiğinde planını yeniden yapabilir. İnsan gözetimi gereksinimi yüksektir; eylemleri otonom olarak başlatır.

import time

# Level 4: Self-directed agent (simplified sketch)
class SelfDirectedAgent:
    def __init__(self, mission: str, client):
        self.mission = mission
        self.client = client
        self.goals_queue = []
        self.long_term_memory = []
        self.running = False

    def start(self):
        self.running = True
        self._generate_initial_goals()
        while self.running:
            self._observe_environment()
            self._prioritise_goals()
            if self.goals_queue:
                goal = self.goals_queue.pop(0)
                self._pursue_goal(goal)
            time.sleep(60)  # autonomous monitoring loop

    def _observe_environment(self):
        # Agent monitors for events without being asked
        print('Observing environment...')

    def _generate_initial_goals(self):
        # Agent decomposes its mission into actionable goals
        self.goals_queue = ['Monitor inbox', 'Check project status']

    def _prioritise_goals(self):
        # Agent re-orders goals based on new observations
        pass

    def _pursue_goal(self, goal: str):
        print(f'Pursuing: {goal}')

if __name__ == '__main__':
    agent = SelfDirectedAgent(mission='Manage my inbox proactively', client=None)
    agent._generate_initial_goals()
    print('Initial goals:', agent.goals_queue)
    agent._observe_environment()
    goal = agent.goals_queue.pop(0)
    agent._pursue_goal(goal)

Her Düzeydeki Değişiklik: Bellek

Bellek gereksinimleri özerklik düzeyiyle birlikte artar. 1. Düzey yalnızca bağlam penceresini kullanır (oturum belleği). 2. Düzey kalıcı oturum geçmişi ekler. 3. Düzey yapılandırılmış görev durumu ekler. 4. Düzey olaysal bellek (ne oldu), anlamsal bellek (etmenin bildikleri) ve işlemsel bellek (işlerin nasıl yapılacağı) gerektirir.

MEMORY_BY_LEVEL = {
    'L1_chatbot': {
        'scope': 'context_window_only',
        'persistence': 'none',
        'implementation': 'messages list in current API call'
    },
    'L2_tool_augmented': {
        'scope': 'session',
        'persistence': 'in-memory (lost on restart)',
        'implementation': 'conversation_history list'
    },
    'L3_goal_directed': {
        'scope': 'task',
        'persistence': 'persists for task duration',
        'implementation': 'SQLite or Redis with task state'
    },
    'L4_self_directed': {
        'scope': 'long_term',
        'persistence': 'indefinite',
        'implementation': 'vector DB (episodic) + structured DB (semantic) + prompt cache (procedural)'
    }
}

for level, info in MEMORY_BY_LEVEL.items():
    print(f'{level}: {info["implementation"]}')

Her Düzeydeki Değişiklik: Planlama

Planlama gereksinimleri de özerklikle birlikte artar. 1. Düzeyde planlama yoktur. 2. Düzey tek adımlı akıl yürütme yapabilir. 3. Düzey çok adımlı planlama (Chain of Thought, ReAct) kullanır. 4. Düzey, başarısızlık durumunda yeniden planlamayla birlikte hiyerarşik planlama gerektirir.

PLANNING_BY_LEVEL = {
    'L1': 'None — single response',
    'L2': 'Single-step tool selection (which tool to call now)',
    'L3': 'Multi-step plan (goal -> ordered sub-tasks -> tool calls)',
    'L4': 'Hierarchical plan (mission -> goals -> tasks -> actions) + replan on failure'
}

# L3 multi-step planning example:
def plan_goal(goal: str, client) -> list:
    import anthropic
    response = client.messages.create(
        model='claude-opus-4-5', max_tokens=512,
        messages=[{'role': 'user', 'content':
            f'Break this goal into 3-5 concrete steps:\nGoal: {goal}\n'
            'Return JSON: {"steps": [{"step": int, "action": str, "tool": str}]}'
        }]
    )
    import json
    return json.loads(response.content[0].text)

for lvl, desc in PLANNING_BY_LEVEL.items():
    print(f'{lvl}: {desc}')

Düzeye Göre İnsan Gözetimi Gereksinimleri

Özerklik arttıkça insan gözetimi mekanizmalarına duyulan ihtiyaç da artar. 1. Düzeyde neredeyse hiç ihtiyaç yoktur. 4. Düzey açık bir gözetim mimarisi gerektirir: onay kapıları, eylem günlükleri, kesme mekanizmaları ve anormallik algılama.

OVERSIGHT_BY_LEVEL = {
    'L1_chatbot': [
        'None required (output only)'
    ],
    'L2_tool_augmented': [
        'Review tool permissions (read-only vs write)',
        'Audit logs of tool calls'
    ],
    'L3_goal_directed': [
        'Human approval before irreversible actions',
        'Plan review before execution starts',
        'Progress checkpoints',
        'Full audit trail'
    ],
    'L4_self_directed': [
        'Human approval before high-impact actions',
        'Real-time action streaming to oversight dashboard',
        'Emergency stop mechanism',
        'Anomaly detection on goal drift',
        'Regular review of long-term memory state',
        'Corrigibility: agent must accept shutdown'
    ]
}

for level, requirements in OVERSIGHT_BY_LEVEL.items():
    print(f'{level}:')
    for req in requirements:
        print(f'  - {req}')

Proaktiflik: Temel Değişim

Yardımcıdan otonom etmene geçişteki en temel değişim proaktifliktir. Yardımcı bekler. Etmen eylemi başlatır. Bu, etmenin ortamını izlemesi, ilgili olayları fark etmesi ve yönlendirme olmadan ne zaman eyleme geçeceğine karar vermesi gerektiği anlamına gelir.

# Proactive monitoring pattern
import asyncio
from datetime import datetime

class ProactiveMonitor:
    def __init__(self, agent_fn, check_fn, interval_seconds: int = 60):
        self.agent_fn = agent_fn
        self.check_fn = check_fn
        self.interval = interval_seconds

    async def run(self):
        print(f'Proactive monitor started, checking every {self.interval}s')
        while True:
            try:
                events = await self.check_fn()
                for event in events:
                    print(f'[{datetime.utcnow().isoformat()}] Event: {event}')
                    await self.agent_fn(event)
            except Exception as e:
                print(f'Monitor error: {e}')
            await asyncio.sleep(self.interval)

# Example: agent monitors for new emails every 5 minutes
# and proactively drafts replies or flags urgent ones
async def example_setup():
    monitor = ProactiveMonitor(
        agent_fn=lambda e: print(f'Agent handling: {e}'),
        check_fn=lambda: [],  # replace with real inbox check
        interval_seconds=300
    )
    # await monitor.run()

if __name__ == '__main__':
    import asyncio

    async def demo():
        async def check_fn():
            return ['New email from boss@example.com']

        async def agent_fn(event):
            print(f'Agent drafting reply for: {event}')

        monitor = ProactiveMonitor(agent_fn=agent_fn, check_fn=check_fn, interval_seconds=1)
        try:
            await asyncio.wait_for(monitor.run(), timeout=0.3)
        except asyncio.TimeoutError:
            pass

    asyncio.run(demo())

Düzeye Göre Hata Kurtarma

Hata kurtarma gereksinimleri de düzeyle birlikte artar. Bir sohbet robotu yalnızca özür diler. Bir araç etmeni araç çağrısını yeniden dener. Bir hedef etmeni başarısız adımın çevresinde planını yeniden yapar. Kendine yön veren bir etmen hataları otonom olarak algılar, sınıflandırır ve üst makama bildirir; gelecekte aynı başarısızlıktan kaçınmak için dünya modelini günceller.

# Error recovery strategies by autonomy level

def chatbot_error_recovery(error: Exception) -> str:
    return 'I\'m sorry, I encountered an error. Please try again.'

def tool_agent_error_recovery(tool_name: str, error: Exception, retries: int) -> str:
    if retries < 3:
        return f'Retrying {tool_name} ({retries+1}/3)'
    return f'Tool {tool_name} unavailable after 3 retries, skipping'

def goal_agent_error_recovery(failed_step: dict, plan: list, client) -> list:
    import anthropic, json
    client_obj = anthropic.Anthropic(api_key='YOUR_API_KEY')
    response = client_obj.messages.create(
        model='claude-opus-4-5', max_tokens=256,
        messages=[{'role': 'user', 'content':
            f'Step failed: {failed_step}\nRemaining plan: {plan}\n'
            'Revise the remaining plan to work around the failure. Return JSON plan.'
        }]
    )
    return json.loads(response.content[0].text)

print('Error recovery patterns defined for each autonomy level')

Doğru Düzeyi Seçme

Her kullanım alanının 4. Düzeye ihtiyacı yoktur. Gereksinimlerinizi karşılayan en düşük düzeyden başlayın ve karmaşıklığı yalnızca gerektiğinde artırın. Daha fazla özerklik; daha fazla karmaşıklık, daha ağır bir gözetim yükü ve beklenmedik davranış olasılığının artması anlamına gelir.

def recommend_autonomy_level(requirements: dict) -> str:
    needs_realtime = requirements.get('realtime_data', False)
    needs_multistep = requirements.get('multi_step_tasks', False)
    needs_unsupervised = requirements.get('runs_unsupervised', False)
    needs_initiative = requirements.get('initiates_actions', False)

    if needs_initiative and needs_unsupervised:
        return 'L4_self_directed (high oversight required)'
    if needs_multistep:
        return 'L3_goal_directed (plan review recommended)'
    if needs_realtime:
        return 'L2_tool_augmented (audit logs required)'
    return 'L1_chatbot (minimal oversight)'

# Examples:
print(recommend_autonomy_level({
    'realtime_data': True, 'multi_step_tasks': False,
    'runs_unsupervised': False, 'initiates_actions': False
}))
print(recommend_autonomy_level({
    'realtime_data': True, 'multi_step_tasks': True,
    'runs_unsupervised': True, 'initiates_actions': True
}))

Bilgi Kontrolü

Hedef odaklı bir etmenle (3. Düzey) kendine yön veren bir etmen (4. Düzey) arasındaki en temel yetenek farkı nedir?

Özet: Yardımcıdan Otonom Etmene

Harika! İşte öğrendikleriniz:

  • L1 sohbet robotu: tepkisel, yalnızca metin üretir, belleği yoktur, gözetim gerekmez
  • L2 araçlarla güçlendirilmiş: oturum belleği, araç çağrıları, orta düzey gözetim
  • L3 hedef odaklı: çok adımlı planlama, görev kapsamlı bellek, onay kapıları
  • L4 kendine yön veren: proaktif, uzun süreli bellek, hiyerarşik planlama, yüksek düzeyde gözetim
  • Pratik kural: gereksinimleri karşılayan en düşük düzeyden başlayın

Sıradaki konu: dünya modelleri ve öngörücü planlama — etmenlerin eyleme geçmeden önce nasıl benzetim yaptığı.

Sıkça Sorulan Sorular

“Yardımcıdan Özerk Aracıya” dersi ücretsiz mi?

Evet — “Yardımcıdan Özerk Aracıya” 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.

“Yardımcıdan Özerk Aracıya” dersinde ne öğreneceğim?

Sohbet robotundan tamamen özerk aracıya uzanan yelpaze: her adımda ne değişir? 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 1. dersidir.

“Yardımcıdan Özerk Aracıya” 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. Yardımcıdan Özerk Aracıya
  2. Dünya Modelleri ve Öngörücü Planlama
  3. Özerk Aracılarda Hizalama Zorlukları
  4. Araştırmanın Sınırları: AGI ve Ötesi
← AI Agents Sayfasına Dön