AGENTIKA
  • Blog
  • Learn
  • FAQ
Menu
Blog→Learn→FAQ→
AGENTIKA

Platform AI untuk UMKM Indonesia. Tools AI, tutorial otomatisasi, dan strategi side hustle.

Platform

  • Blog
  • Learn
  • FAQ

Community

  • Twitter / X
  • GitHub

© 2026 AGENTIKA. All rights reserved.

HomeBlogLearnFAQ

Ai Basics

  • Pengantar AI Modern
  • Prompt Engineering Fundamentals
  • LLM API Primer
  • Machine Learning Overview
  • AI Tools untuk Produktivitas
  • AI Agents dan Autonomous Systems
  • Data & Pipeline ML
  • RAG & Vector Search
  • Evaluasi Model AI
  • Etika & Responsible AI
  • Dasar API LLM: Menghubungkan Aplikasi dengan AI
  • Prompt Design Patterns untuk Aplikasi
  • Streaming Response dari LLM
  • Error Handling untuk LLM Applications
  • Optimasi Biaya LLM API
  • Multi-Provider LLM Architecture
  • Kapan Harus Fine-tuning Model AI?
  • Menyiapkan Dataset untuk Fine-tuning
  • Proses Training Fine-tuning LLM
  • Evaluasi Model Fine-tuned
  • Deploy Model Fine-tuned ke Produksi
  • Arsitektur RAG: Retrieval-Augmented Generation
  • Embeddings untuk RAG
  • Vector Database untuk RAG
  • Retrieval Strategies untuk RAG
  • RAG di Produksi: Monitoring dan Optimasi
  • Arsitektur AI Agent
  • Tool Use untuk AI Agent
  • Memory Systems untuk AI Agent
  • Multi-Agent Systems
  • Evaluasi AI Agent
  • Safety untuk AI Agent
Learn / Ai Basics / Lessons / Evaluasi AI Agent

Evaluasi AI Agent

Evaluasi agent lebih kompleks dari evaluasi model biasa. Agent melakukan multi-step actions — perlu metrik yang menangkap keseluruhan performa.

Metrik Evaluasi Agent

1. Task Completion Rate

interface TaskResult {
  goal: string;
  completed: boolean;
  steps: number;
  timeMs: number;
  cost: number;
}

function evaluateTaskCompletion(results: TaskResult[]) {
  const completed = results.filter((r) => r.completed).length;
  return {
    completionRate: completed / results.length,
    avgSteps: mean(results.map((r) => r.steps)),
    avgTime: mean(results.map((r) => r.timeMs)),
    avgCost: mean(results.map((r) => r.cost)),
  };
}

2. Efficiency Metrics

interface EfficiencyMetrics {
  stepsPerTask: number;      // Lebih sedikit = lebih efisien
  tokensPerTask: number;     // Cost proxy
  toolCallsPerTask: number;  // Lebih sedikit = lebih efisien
  errorRate: number;         // Tool call failures
  retryRate: number;         // Berapa banyak retry
}

3. Quality Metrics

interface QualityMetrics {
  accuracy: number;     // Apakah hasilnya benar?
  completeness: number; // Apakah semua requirement terpenuhi?
  relevance: number;    // Apakah sesuai goal?
  safety: number;       // Apakah aman?
}

Agent Benchmark

SWE-bench (Software Engineering)

// Benchmark: Agent harus fix GitHub issues
const sweBenchTasks = [
  {
    repo: "django/django",
    issue: "#12345",
    description: "Fix queryset bug with nested prefetch",
    testPatch: "tests/prefetch/test_nested.py",
  },
  // ... 300 tasks
];

async function runSWEBench(agent: Agent) {
  const results = [];

  for (const task of sweBenchTasks) {
    const start = Date.now();
    const result = await agent.fixIssue(task);
    const time = Date.now() - start;

    // Verify fix
    const testsPass = await runTests(task.repo, task.testPatch);

    results.push({
      task: task.issue,
      fixed: testsPass,
      time,
      steps: result.steps,
    });
  }

  return summarizeResults(results);
}

WebArena (Web Browsing)

// Benchmark: Agent harus menyelesaikan tugas di website
const webArenaTasks = [
  {
    goal: "Find the cheapest flight from Jakarta to Tokyo on Dec 15",
    website: "flight-booking.example.com",
    evaluation: "Check if selected flight is indeed cheapest",
  },
];

Custom Evaluation Set

const customEval = [
  {
    goal: "Buat ringkasan 3 artikel terbaru tentang blockchain",
    expected: {
      hasSummary: true,
      summaryLength: "200-500 words",
      coversRecentArticles: true,
    },
    evaluation: async (result: string) => {
      const scores = {
        hasSummary: result.length > 200,
        correctLength: result.split(" ").length >= 200 && result.split(" ").length <= 500,
      };
      return Object.values(scores).filter(Boolean).length / Object.values(scores).length;
    },
  },
];

Automated Evaluation Pipeline

class AgentEvaluator {
  async evaluate(agent: Agent, testSet: TestCase[]): Promise<EvalReport> {
    const results = [];

    for (const test of testSet) {
      const start = Date.now();
      const output = await agent.run(test.goal);
      const time = Date.now() - start;

      const quality = await this.evaluateQuality(output, test.expected);
      const efficiency = this.evaluateEfficiency(output, time);

      results.push({ test: test.goal, quality, efficiency, output });
    }

    return {
      avgQuality: mean(results.map((r) => r.quality.score)),
      avgEfficiency: mean(results.map((r) => r.efficiency.score)),
      passRate: results.filter((r) => r.quality.score > 0.7).length / results.length,
      details: results,
    };
  }
}

Continuous Monitoring

// Log setiap agent run
interface AgentRunLog {
  runId: string;
  goal: string;
  steps: Step[];
  totalTokens: number;
  totalTime: number;
  toolsUsed: string[];
  errors: string[];
  result: "success" | "failure" | "partial";
  userFeedback?: "positive" | "negative";
}

// Dashboard metrics
const dashboard = {
  successRate: "85%",
  avgSteps: "4.2",
  avgCost: "$0.12",
  avgTime: "15s",
  topFailureReasons: ["Tool timeout", "Invalid JSON", "Rate limit"],
};

Latihan

Buat evaluasi untuk research agent: 10 test cases, automated scoring, dan dashboard yang menampilkan completion rate dan avg cost.

← Previous Lesson

Multi-Agent Systems

Next Lesson →

Safety untuk AI Agent

Eksplorasi Modul Lain

Belajar Terstruktur

Ikuti kurikulum AI step-by-step di modul Learn.

AI Tools Directory

Bandingkan tools AI untuk kebutuhan konten dan produktivitas.