Ana SayfaAI 101™AI Ajanı Oluşturun
İleri Seviye30 dk okumaAI 101™

AI Ajanı Oluşturun

Bağımsız olarak düşünebilen, planlayabilen, araç kullanabilen ve karmaşık çok adımlı görevleri tamamlayabilen otonom AI ajanları oluşturun.

Giriş

AI ajanları, chatbot ve asistanların ötesindeki bir sonraki evrim aşamasını temsil eder. Bir asistan tek tek isteklere yanıt verirken, bir ajan minimum insan gözetimi ile çok adımlı görevleri otonom olarak planlayabilir ve yürütebilir.

Bu ileri düzey rehberde, sorunlar hakkında düşünebilen, planlar oluşturabilen, araçları kullanabilen ve karmaşık hedefleri kendi başına tamamlayabilen bir AI ajanı sıfırdan oluşturacaksınız.

AI Ajanı Nedir?

Bir AI ajanı, dört temel yeteneğe sahip bir sistemdir:

  • OtonomiHer adımda talimat almadan bağımsız olarak çalışır ve kararlar verir.
  • AlgılamaOrtamını gözlemler ve şeylerin mevcut durumunu anlar.
  • MuhakemeSorunlar üzerinde düşünür, seçenekleri değerlendirir ve planlar oluşturur.
  • EylemAraçları kullanarak somut eylemler gerçekleştirir — arama, yazma, hesaplama, API çağırma.

💡 Ajan vs. Asistan

Asistan talimatlarınızı bekler ve bir seferde bir görevi yürütür. Ajan bir hedef alır ve hedefe ulaşana kadar gerekli adımları bağımsız olarak belirler.

Ajan Döngüsü

Her AI ajanı, dört aşamadan oluşan sürekli bir döngüde çalışır:

1

Gözlemleme

Ajan ortamından bilgi toplar — kullanıcının isteği, araç çıktıları, hata mesajları veya yeni veriler.

2

Düşünme

Ajan, gözlemlediği şeyi değerlendirir. Mevcut hedefi, neyin başarıldığını ve en iyi sonraki adımın ne olacağını düşünür.

3

Harekete Geçme

Ajan seçtiği eylemi yürütür — bir araç çağırma, dosya yazma, kod çalıştırma veya istek gönderme.

4

Yansıtma

Ajan sonucu değerlendirir. Eylem işe yaradı mı? Hedefe daha yakın mı? Farklı bir yaklaşım denemeli mi?

Araçlar ve Ortam

Araçlar, ajanlara güçlerini verir. Araçlar olmadan ajan sadece bir dil modelidir. Araçlarla gerçek dünya ile etkileşim kurabilir:

python
class Tool:
    """Base class for agent tools."""
    def __init__(self, name, description):
        self.name = name
        self.description = description
    
    def execute(self, **kwargs):
        raise NotImplementedError

class WebSearchTool(Tool):
    def __init__(self):
        super().__init__(
            "web_search",
            "Search the internet for current information"
        )
    
    def execute(self, query):
        # In production, use a real search API
        return f"Search results for: {query}"

class FileWriteTool(Tool):
    def __init__(self):
        super().__init__(
            "write_file",
            "Write content to a file on disk"
        )
    
    def execute(self, filename, content):
        with open(filename, 'w') as f:
            f.write(content)
        return f"Written to {filename}"

class CodeExecutionTool(Tool):
    def __init__(self):
        super().__init__(
            "run_code",
            "Execute Python code and return the output"
        )
    
    def execute(self, code):
        # WARNING: In production, use sandboxed execution!
        import subprocess
        result = subprocess.run(
            ["python", "-c", code],
            capture_output=True, text=True, timeout=30
        )
        return result.stdout or result.stderr

Ajan Oluşturma

Gözlemleme-düşünme-harekete geçme döngüsüyle eksiksiz bir AI ajanı oluşturalım:

python
from openai import OpenAI
import json

class AIAgent:
    def __init__(self, name, goal, tools):
        self.name = name
        self.goal = goal
        self.tools = {tool.name: tool for tool in tools}
        self.client = OpenAI()
        self.memory = []
        self.max_iterations = 10
    
    def _get_tool_descriptions(self):
        return [
            {
                "type": "function",
                "function": {
                    "name": t.name,
                    "description": t.description,
                    "parameters": {"type": "object", "properties": {}}
                }
            }
            for t in self.tools.values()
        ]
    
    def think(self, observation):
        """The agent's reasoning step."""
        self.memory.append({"role": "user", "content": observation})
        
        response = self.client.chat.completions.create(
            model="gpt-4",
            messages=[
                {"role": "system", "content": f"""You are {self.name}, 
an autonomous AI agent. Your goal: {self.goal}

Available tools: {list(self.tools.keys())}

Think step by step:
1. What have I learned so far?
2. What should I do next?
3. Which tool should I use?
4. Am I done with my goal?

Respond with JSON:
{{"thought": "your reasoning", 
 "action": "tool_name or DONE",
 "action_input": {{"param": "value"}}}}"""},
                *self.memory
            ],
            response_format={"type": "json_object"}
        )
        
        return json.loads(response.choices[0].message.content)
    
    def run(self, initial_task):
        """Main agent loop."""
        print(f"Agent '{self.name}' starting: {initial_task}")
        observation = initial_task
        
        for i in range(self.max_iterations):
            print(f"\n--- Iteration {i+1} ---")
            
            # Think
            result = self.think(observation)
            print(f"Thought: {result['thought']}")
            
            # Check if done
            if result["action"] == "DONE":
                print(f"\nAgent completed: {result['thought']}")
                return result["thought"]
            
            # Act
            tool = self.tools.get(result["action"])
            if tool:
                try:
                    output = tool.execute(**result.get("action_input", {}))
                    observation = f"Tool '{tool.name}' returned: {output}"
                    print(f"Action: {tool.name} -> {output[:200]}")
                except Exception as e:
                    observation = f"Error: {str(e)}"
            else:
                observation = f"Unknown tool: {result['action']}"
            
            self.memory.append(
                {"role": "assistant", "content": json.dumps(result)}
            )
        
        return "Max iterations reached."

# Create and run the agent
agent = AIAgent(
    name="Research Assistant",
    goal="Research a topic and write a summary report",
    tools=[WebSearchTool(), FileWriteTool(), CodeExecutionTool()]
)

agent.run("Research the latest trends in AI agents for 2025")

Çok Adımlı Planlama

Karmaşık hedefler için ajanlar, yürütmeden önce açık bir plan oluşturmaktan fayda görür:

python
class PlanningAgent(AIAgent):
    """Agent that creates a plan before executing."""
    
    def create_plan(self, task):
        response = self.client.chat.completions.create(
            model="gpt-4",
            messages=[
                {"role": "system", "content": f"""Create a step-by-step 
plan to accomplish this task. Available tools: {list(self.tools.keys())}
Return JSON: {{"steps": ["step 1", "step 2", ...]}}"""},
                {"role": "user", "content": task}
            ],
            response_format={"type": "json_object"}
        )
        return json.loads(response.choices[0].message.content)
    
    def run(self, task):
        # First, create a plan
        plan = self.create_plan(task)
        print(f"Plan: {plan['steps']}")
        
        # Then execute each step
        results = []
        for step in plan["steps"]:
            result = super().run(step)
            results.append(result)
        
        return results

Planlama Stratejisi

Ajanın önce bir plan oluşturmasını sağlayın, ardından adım adım yürütün. Bir adım başarısız olursa, baştan başlamak yerine mevcut durumdan yeniden planlamasını sağlayın. Bu daha verimlidir ve insanların karmaşık görevleri nasıl ele aldığını yansıtır.

Güvenlik ve Koruma Rayları

Otonom ajanların güvenlik önlemlerine ihtiyacı var. İşte kritik koruma rayları:

  • Sandbox OrtamıAjan kodunu izole ortamlarda çalıştırın. Ajanlara dosya sisteminize veya ağınıza sınırsız erişim asla vermeyin.
  • İterasyon LimitleriSonsuz döngüleri önlemek için maksimum iterasyon sayıları belirleyin. Çoğu görev 10 adımın altında tamamlanmalıdır.
  • İnsan Onay KapılarıYüksek riskli eylemler (dosya silme, e-posta gönderme, satın alma yapma) için insan onayı gerekli kılın.
  • Kapsamlı GünlüklemeHer düşünceyi, eylemi ve sonucu kaydedin. Bu, ajan davranışının hata ayıklama ve denetimi için esastır.

⚠️ Kritik Güvenlik Uyarısı

Bir AI ajanına insan gözetimi olmadan kod yürütme, dosya yönetme veya finansal işlem yapma konusunda asla sınırsız erişim vermeyin. Salt okunur araçlarla başlayın ve güven oluşturdukça yetenekleri kademeli olarak genişletin.

Özet

Otonom bir AI ajanı oluşturdunuz. Önemli çıkarımlar:

  • AI ajanları sürekli bir gözlemleme-düşünme-harekete geçme-yansıtma döngüsünde çalışır.
  • Araçlar, ajanlara gerçek dünya ile etkileşim kurma yeteneği verir.
  • Yürütmeden önce planlama, karmaşık görevlerde başarı oranlarını artırır.
  • Güvenlik koruma rayları (sandbox, limitler, insan onayı) isteğe bağlı değildir — esastır.
Vionis Labs - Intelligent AI Solutions for Every Industry | Vionis Labs