05/Perspectives
2026-10-19//12 MNT BACA

Berhenti Menjejali System Prompt: Rahasia Agentic Coding Skills untuk AI 10x Lebih Cerdas

INTISARI EKSEKUTIF // BRIEFING 05:30 WIB

Mengapa menumpuk 40 buku panduan teknis ke dalam system prompt memicu context rot, serta bagaimana spesifikasi terbuka Agent Skills (SKILL.md), progressive disclosure 3-tingkat, Antigravity CLI (agy), dan SkillToolset di Google ADK membuat Gemini 4 Argon dan Gemini 3.8 Flash memuat keahlian secara just-in-time, bukan just-in-case.

DP
Doddi PriyambodoSolutions Consultant, Google Cloud SEA
Blueprint Arsitektur Enterprise
Berhenti Menjejali System Prompt: Rahasia Agentic Coding Skills untuk AI 10x Lebih Cerdas
FIG. 01 // CETAK BIRU ARSITEKTUR2026-10-19 • BICARA IT

Berhenti Menjejali System Prompt: Rahasia Agentic Coding Skills untuk AI 10x Lebih Cerdas

Ringkasan Eksekutif (TL;DR): Setiap kali Anda menempelkan 800 baris daftar periksa deployment, panduan gaya SQL, atau runbook API tambahan ke dalam system prompt global agen Anda (AGENTS.md, GEMINI.md, atau Agent(instruction=...)), Anda membebani setiap giliran percakapan (turn) dengan ribuan token yang tidak relevan dan menurunkan ketajaman penalaran model. Saat mendalami spesifikasi terbuka Agent Skills (agentskills.io) serta arsitektur SkillToolset pada Google ADK minggu ini, saya memetakan bagaimana Progressive Disclosure 3-Tingkat (L1 Metadata → L2 Playbook SKILL.md → L3 Skrip & Referensi Terbundel) memangkas beban konteks awal hingga lebih dari 90%. Berikut adalah catatan lapangan dan tutorial praktis saya untuk membangun Agent Skills portabel menggunakan Antigravity CLI (agy), Gemini 4 Argon (gemini-4-argon), dan Gemini 3.8 Flash (gemini-3.8-flash).

Sebagian besar dari kita pernah melakukan kesalahan yang sama saat mulai membangun sistem bersama AI coding agent.

Pada hari pertama, coding agent Anda melakukan kesalahan saat menyusun migrasi skema PostgreSQL. Secara spontan, Anda membuka berkas instruksi workspace (AGENTS.md atau GEMINI.md) lalu menambahkan 40 baris aturan migrasi database.

Pada hari ketiga, agen tersebut menulis modul Terraform dengan format yang kurang rapi. Anda kembali menempelkan 120 baris konvensi HCL ke dalam berkas yang sama. Memasuki minggu keempat, system prompt Anda telah membengkak menjadi teks sepanjang 15.000 token yang mencampuradukkan aturan aksesibilitas React, anotasi ingress Kubernetes, struktur fixture pytest Python, standar versi OpenAPI, hingga templat postmortem insiden.

Lalu hal yang paling mengganggu pun terjadi: model mulai mengabaikan aturan-aturan penting yang sudah Anda tulis dengan huruf kapital di bagian paling atas berkas tersebut.

Saat mempelajari arsitektur Agent Skills minggu ini, akar masalahnya terlihat jelas. Banyak tim mencoba menyelesaikan masalah pemuatan modul (module-loading) dengan menumpuk seluruh aturan ke dalam satu prompt global. Jika Anda menginginkan agen yang sanggup mengeksekusi 50 alur kerja engineering spesifik tanpa kehilangan fokus saat memperbaiki bug satu baris, berhenti memperlakukan context window seperti hard drive. Perlakukan keahlian agen layaknya paket perangkat lunak yang dimuat sesuai kebutuhan (lazy-loaded packages).

Catatan Tooling & Model 2026 (Antigravity CLI vs. Gemini CLI): Pada 18 Juni 2026, Google mengalihkan pengguna unpaid tier dan Google One dari Gemini CLI ke Antigravity CLI (agy). Gemini CLI versi lama tidak dioptimalkan untuk Gemini 4 Argon (gemini-4-argon). Untuk menggunakan gemini-4-argon pada penalaran arsitektur kompleks bersama Gemini 3.8 Flash (gemini-3.8-flash) untuk eksekusi tool berkecepatan tinggi, gunakan Antigravity (agy --model gemini-4-argon) atau integrasikan melalui Google ADK.

1. Mengapa System Prompt Monolitik Memicu "Context Rot"

Model mutakhir seperti gemini-4-argon dan gemini-3.8-flash memang menyediakan kapasitas context window yang sangat besar, tetapi kapasitas konteks tidak sama dengan kepadatan atensi (attention density).

Memuat 40 panduan domain sekaligus ke dalam memori awal agen hanya "untuk berjaga-jaga" (just in case) menimbulkan tiga biaya berantai di setiap giliran eksekusi:

  1. Dilusi Atensi ("Context Rot"). Ketika model harus membaca 900 baris aturan Kubernetes, BigQuery, dan CSS yang tidak relevan hanya untuk mengganti nama fungsi Python, instruksi yang tidak terpakai tersebut ikut berebut bobot atensi (self-attention) dengan token tugas utama. Aturan yang terkubur di tengah system prompt panjang cenderung lebih sering terlewat.
  2. Pembengkakan Ruang Keputusan Tool. Mengikat 60 fungsi tool secara langsung ke root agent akan menyuntikkan seluruh skema JSON dan docstring di setiap giliran. Semakin lebar faktor percabangan, semakin tinggi risiko salah pilih tool dan halusinasi parameter.
  3. Pemborosan Latensi dan Biaya Token. Dalam siklus agen 15 langkah (membaca berkas, menjalankan tes, memeriksa diff), muatan instruksi statis sebesar 20.000 token akan membakar 300.000 token input redundan hanya untuk satu tugas.

Solusinya adalah Progressive Disclosure: muat pengetahuan spesialis secara just-in-time (tepat saat dibutuhkan), bukan just-in-case (sekadar berjaga-jaga).

Advertisement

2. Empat Lapisan Kustomisasi Agen: Rules, Workflows, Skills, dan Hooks

Memisahkan aturan persisten (Rules), makro yang dipicu manusia (Workflows), keahlian yang dipicu agen (Skills), dan pencegat deterministik (Hooks) menjaga workspace agen tetap rapi dan mudah dipelihara.

Primitif Kustomisasi Peran dalam Arsitektur Siapa Pemicunya? Biaya Konteks Kapan Digunakan
1. Rules / Berkas Konteks (AGENTS.md, GEMINI.md) Konstitusi proyek: tumpukan teknologi, struktur repo, gerbang verifikasi (make verify). Selalu Aktif (dimuat sejak awal sesi) Dibayar di setiap giliran (jaga di bawah 300 baris). Invarian global yang berlaku untuk 100% tugas di dalam repositori.
2. Workflows (Perintah /plan, /review) Templat prompt tersimpan dan makro titik masuk. Developer (diketik eksplisit melalui /command) Dibayar satu kali saat perintah dipanggil. Rutinitas berulang yang diinisiasi manusia seperti memulai rencana fitur atau tinjauan PR.
3. Agent Skills (SKILL.md + scripts/ + references/) Folder mandiri berisi instruksi domain, dokumen referensi, dan skrip bantu. Agen Secara Otonom (dicocokkan melalui description) Progressive Disclosure: ~60 token saat startup; isi dimuat hanya saat aktif. Keahlian spesifik tugas (migrasi Cloud SQL, audit WCAG, pemeriksaan Terraform).
4. Hooks (PreToolUse, before_tool_callback) Pencegat kode atau shell deterministik yang berjalan di luar kendali inferensi LLM. Sistem Runtime (dijalankan otomatis pada kejadian tool) Nol token LLM kecuali pemeriksaan memblokir aksi. Gerbang keamanan mutlak (memblokir rm -rf, mewajibkan SQL terparameterisasi, menjalankan linter).

Perhatikan pembagian kerja antara Tools dan Skills:

  • Tool adalah primitif aksi (apa yang dapat dipanggil agen): run_shell_command, read_file, atau execute_sql_readonly.
  • Skill adalah keahlian prosedural (kapan dan bagaimana bertindak): paket portabel yang mengajarkan agen urutan penggunaan tool tersebut, kasus batas (edge cases) yang wajib diperiksa, dan skrip validasi mana yang harus dijalankan.

3. Membedah Progressive Disclosure 3-Tingkat: Memangkas Konteks Awal hingga 93%

Baik spesifikasi Agent Skills (agentskills.io) maupun SkillToolset pada Google ADK memuat isi skill dalam tiga tingkat ketat. Agen hanya membayar token ketika tugas benar-benar membutuhkannya.

graph TD
  subgraph L1["Tingkat 1: Penemuan Metadata (Startup ~60 Token/Skill)"]
    U["Prompt Pengguna Masuk"] --> C["Agen Memindai Katalog Skill L1 (YAML name + description)"]
  end

  subgraph L2["Tingkat 2: Aktivasi Sesuai Kebutuhan (Runtime < 5k Kata)"]
    C -->|"Tugas Cocok dengan Pemicu"| A["Panggil load_skill(skill_name)"]
    A --> B["Suntikkan Isi Prosedural SKILL.md ke Context Window"]
  end

  subgraph L3["Tingkat 3: Eksekusi Mendalam & Aset Terbundel (Spesifik Sub-Tugas)"]
    B -->|"Butuh Skema atau Dokumen Detail"| R["Panggil load_skill_resource('references/schema.md')"]
    B -->|"Butuh Pemeriksaan Deterministik"| S["Panggil run_skill_script('scripts/validate.py')"]
    R --> O["Eksekusi Tugas Terverifikasi dengan Konteks Tetap Bersih"]
    S --> O
  end

Berikut urutan yang terjadi pada runtime di ketiga tingkatan tersebut:

  1. Tingkat 1: Metadata (Katalog L1). Saat sesi dimulai, Antigravity CLI (agy) atau SkillToolset ADK hanya membaca YAML frontmatter (name dan description) dari setiap berkas SKILL.md melalui list_skills. Setiap skill hanya memakan sekitar 60 hingga 100 token. Anda dapat memasang 50 skill spesialis dengan total sekitar 3.000 token. Karena model hanya melihat name dan description sebelum aktivasi, kolom description berfungsi sebagai pengklasifikasi perutean. Tuliskan dengan jelas apa fungsi skill tersebut dan kapan harus dipicu ("Gunakan saat membuat, meninjau, atau mendiagnosis migrasi DDL PostgreSQL...").
  2. Tingkat 2: Instruksi (Playbook L2). Ketika permintaan pengguna cocok dengan deskripsi sebuah skill, agen memanggil load_skill. Baru pada tahap inilah isi Markdown dari SKILL.md dimasukkan ke dalam context window. Jaga agar SKILL.md fokus pada langkah kerja dan jebakan teknis utama (di bawah 5.000 kata).
  3. Tingkat 3: Sumber Daya Terbundel (Aset Mendalam L3). Dokumen referensi panjang (references/), skrip bantu deterministik (scripts/), dan templat boilerplate (assets/) tetap berada di diska hingga langkah aktif memanggil load_skill_resource atau run_skill_script.

4. Lima Pola Desain Agent Skill (Beserta Aturan "Experience Before Theory")

Hampir seluruh skill produksi masuk ke dalam salah satu dari lima pola berikut:

  1. Informational Skill. Menyediakan batasan arsitektur internal, glosarium domain, atau kebijakan kepatuhan yang tidak ada di data pelatihan publik.
  2. Tool Wrapper Skill. Mengajarkan agen cara memanggil CLI kompleks (gcloud, kubectl, ffmpeg) dengan flag yang aman, cakupan --project eksplisit, dan filter --format=json tanpa perlu membuat pembungkus Python baru untuk setiap subperintah.
  3. Generator Skill. Menegakkan standar templat keluaran organisasi (ADR, spesifikasi OpenAPI 3.1, modul Terraform) dengan memadukan langkah di SKILL.md dan templat baku di assets/.
  4. Reviewer Skill. Memadukan rubrik tingkat keparahan (BLOCKER, WARNING, NIT) dengan skrip analisis statis di dalam scripts/ untuk mengaudit pull request atau migrasi SQL.
  5. Workflow / Pipeline Skill. Memandu agen melewati operasi multi-tahap berstatus lengkap dengan gerbang verifikasi wajib di antara setiap tahap.

Aturan "Experience Before Theory" (Pengalaman Sebelum Teori): Jangan pernah menulis SKILL.md baru dari halaman kosong. Jalankan dulu prompt tugas nyata Anda pada gemini-4-argon atau gemini-3.8-flash tanpa bantuan skill, lalu amati di mana model dasar tersebut gagal. Apakah ia lupa menambahkan CONCURRENTLY pada indeks? Apakah ia melewatkan lock_timeout? Tuliskan hanya delta-nya ke dalam skill Anda, yaitu titik kegagalan nyata dan aturan spesifik repositori yang tidak bisa ditebak sendiri oleh model.

Sesuaikan pula tingkat ketajaman instruksi dengan tingkat kerapuhan tugas (Degrees of Freedom):

  • Kebebasan Tinggi (Aturan Prosa): Gunakan saat ada beberapa desain yang sama-sama valid dan bergantung pada konteks lokal.
  • Kebebasan Menengah (Templat Berparameter): Gunakan saat strukturnya baku (assets/adr-template.md) namun isinya mengikuti fitur.
  • Kebebasan Rendah (Skrip Terbundel di scripts/): Gunakan saat pemeriksaan bersifat deterministik atau krusial bagi keamanan. Jangan pernah meminta LLM menebak sesuatu yang dapat diverifikasi secara pasti oleh skrip Python 40 baris di scripts/ dalam 50 milidetik.

5. Tutorial Praktis: Membangun Skill Portabel untuk Antigravity CLI (agy) dan Google ADK

Mari kita bangun skill postgres-migration-auditor yang mengikuti spesifikasi terbuka agentskills.io sehingga folder yang sama persis dapat berjalan di Antigravity CLI (agy) maupun layanan Python berbasis Google ADK (google-adk).

Langkah 1: Buat Struktur Folder Skill

Pada ADK dan Antigravity CLI, kolom name di YAML wajib menggunakan huruf kecil kebab-case (<= 64 karakter) dan harus persis sama dengan nama foldernya. Menyimpan workspace skill di dalam .agents/skills/ membuatnya langsung kompatibel lintas agy, ADK, dan alat lain yang mendukung agentskills.io:

mkdir -p .agents/skills/postgres-migration-auditor/{scripts,references,assets}

Langkah 2: Tulis SKILL.md (Metadata Tingkat 1 + Playbook Tingkat 2)

Buat berkas .agents/skills/postgres-migration-auditor/SKILL.md. Pastikan Baris 1 dimulai langsung dengan --- tanpa baris kosong di atasnya:

---
name: postgres-migration-auditor
description: Audits PostgreSQL SQL migration files for table-locking DDL operations, missing lock_timeout guards, non-concurrent index creation, and unsafe column drops. Use when the user asks to create, review, validate, or troubleshoot a PostgreSQL or Cloud SQL schema migration.
---

# PostgreSQL Zero-Downtime Migration Auditor

Saat skill ini aktif, tinjau berkas migrasi SQL untuk memastikan keamanan rilis produksi tanpa downtime.

## Urutan Eksekusi

1. **Jalankan Pemeriksaan Kunci Deterministik Terlebih Dahulu (Low Freedom)**:
   Eksekusi skrip terbundel melalui `run_skill_script` (atau tool shell Anda) sebelum menganalisis secara manual:
   `python3 scripts/check_migration_locks.py <path-ke-migrasi.sql>`
2. **Muat Referensi Expand-and-Contract Saat Mengubah Kolom (Tingkat 3)**:
   Jika migrasi mengubah nama kolom, mengubah tipe data, atau menambah constraint, panggil `load_skill_resource` pada `references/expand-contract-playbook.md`.
3. **Berikan Keputusan Tiga Tingkat**:
   Kelompokkan temuan ke dalam `BLOCKER` (tanpa `lock_timeout` atau indeks non-konkuren), `WARNING` (penambahan `NOT NULL` berisiko), atau `SAFE`.

Langkah 3: Tambahkan Skrip Deterministik Tingkat 3 (scripts/check_migration_locks.py)

Buat berkas .agents/skills/postgres-migration-auditor/scripts/check_migration_locks.py yang menghasilkan keluaran JSON ringkas:

#!/usr/bin/env python3
"""Auditor kunci DDL deterministik yang dibundel bersama postgres-migration-auditor."""
import json
import re
import sys
from pathlib import Path


def audit_sql(sql_text: str) -> dict[str, object]:
    findings: list[dict[str, str]] = []
    normalized = sql_text.upper()

    if "LOCK_TIMEOUT" not in normalized:
        findings.append({
            "severity": "BLOCKER",
            "rule": "MISSING_LOCK_TIMEOUT",
            "remediation": "Tambahkan `SET LOCAL lock_timeout = '2s';` sebelum pernyataan DDL.",
        })

    for match in re.finditer(r"\bCREATE\s+(?:UNIQUE\s+)?INDEX\b(?!\s+CONCURRENTLY)", normalized):
        findings.append({
            "severity": "BLOCKER",
            "rule": "NON_CONCURRENT_INDEX",
            "remediation": f"Gunakan `CREATE INDEX CONCURRENTLY` pada posisi {match.start()} agar tidak memblokir operasi tulis.",
        })

    return {"passed": len(findings) == 0, "findings": findings}


if __name__ == "__main__":
    target = Path(sys.argv[1])
    print(json.dumps(audit_sql(target.read_text(encoding="utf-8")), indent=2))

Langkah 4: Tambahkan Berkas Referensi Tingkat 3 (references/expand-contract-playbook.md)

Buat berkas .agents/skills/postgres-migration-auditor/references/expand-contract-playbook.md:

# Pola Constraint Dua Fase untuk PostgreSQL Tanpa Downtime

Jangan pernah menambahkan foreign key tervalidasi dalam satu transaksi tunggal pada tabel sibuk. Pisahkan menjadi dua langkah:
1. Pembuatan metadata cepat dengan batas `lock_timeout` singkat `2s`:
   ```sql
   SET LOCAL lock_timeout = '2s';
   ALTER TABLE orders ADD CONSTRAINT fk_orders_user FOREIGN KEY (user_id) REFERENCES users (id) NOT VALID;
  1. Validasi online dengan kunci ringan SHARE UPDATE EXCLUSIVE:
    ALTER TABLE orders VALIDATE CONSTRAINT fk_orders_user;
    

### Langkah 5: Jalankan di Antigravity CLI (`agy`) atau Hubungkan ke Google ADK (`SkillToolset`)
Di **Antigravity CLI**, mulai sesi dengan `Gemini 4 Argon` lalu periksa daftar *skill* yang terdeteksi:

```bash
agy --model gemini-4-argon
# Di dalam sesi interaktif:
/skills list

Untuk memasang folder .agents/skills/postgres-migration-auditor yang sama ke dalam agen Python berbasis Google ADK (menggunakan gemini-4-argon untuk orkestrasi penalaran mendalam atau gemini-3.8-flash untuk eksekusi cepat), gunakan load_skill_from_dir dan SkillToolset:

import pathlib
from google.adk import Agent
from google.adk.apps import App
from google.adk.skills import load_skill_from_dir
from google.adk.tools import skill_toolset
from google.genai import types

SKILLS_ROOT = pathlib.Path(__file__).resolve().parent / ".agents" / "skills"
migration_auditor_skill = load_skill_from_dir(
    SKILLS_ROOT / "postgres-migration-auditor"
)


def read_local_migration_file(filepath: str) -> dict[str, str]:
    """Membaca berkas migrasi SQL dari direktori migrations/ di dalam repositori.

    Args:
        filepath: Jalur relatif menuju berkas migrasi SQL.
    """
    base_dir = pathlib.Path(__file__).resolve().parent / "migrations"
    target = (base_dir / filepath).resolve()
    if not str(target).startswith(str(base_dir)) or not target.is_file():
        return {"status": "error", "reason": "Berkas harus berada di dalam folder migrations/"}
    return {"status": "success", "sql": target.read_text(encoding="utf-8")}


db_reliability_toolset = skill_toolset.SkillToolset(
    skills=[migration_auditor_skill],
    additional_tools=[read_local_migration_file],
)

# Gunakan gemini-4-argon untuk penalaran kompleks atau gemini-3.8-flash untuk sub-agent cepat
root_agent = Agent(
    model="gemini-4-argon",
    name="database_reliability_agent",
    description="Mengaudit migrasi database dan perubahan infrastruktur cloud menggunakan skill sesuai kebutuhan.",
    instruction=(
        "Anda adalah Principal Database Reliability Agent. "
        "Ketika tugas cocok dengan salah satu skill Anda, panggil load_skill terlebih dahulu dan ikuti langkahnya."
    ),
    tools=[db_reliability_toolset],
    generate_content_config=types.GenerateContentConfig(
        max_output_tokens=32768,
        temperature=0.1,
    ),
)

app = App(root_agent=root_agent, name="app")

6. Use Case Nyata di Lapangan: Ide Implementasi Praktis

Berikut adalah tiga cara praktis menerapkan Agent Skills di repositori produksi saat ini:

  1. Audit Kueri BigQuery & FinOps Cloud. Bungkus 20 halaman aturan partition pruning, clustering, dan label biaya ke dalam bigquery-finops-auditor/SKILL.md bersama skrip estimasi biaya dry-run di scripts/. Agen hanya membayar sekitar ~70 token saat startup dan baru memuat aturan FinOps ketika berkas .sql atau .sqlx disentuh.
  2. Penjaga Gerbang Keamanan Pull Request. Padukan Reviewer Skill security-pr-gate/SKILL.md dengan skrip pemeriksaan AST atau Semgrep di scripts/ serta Hook PreToolUse. Skill memandu pemodelan ancaman semantik pada gemini-4-argon, sementara hook memblokir perintah shell berbahaya secara deterministik.
  3. Standarisasi Gaya Penulisan Teknis Anti-Slop. Gaya penulisan pun dapat dibungkus menjadi skill: tim engineering memanfaatkan skill seperti humanizer dan anti-slop (SKILL.md + daftar frasa klise di references/) untuk membersihkan buzzword AI, penggunaan em-dash berlebihan, dan kalimat basa-basi dari dokumen RFC maupun catatan rilis secara otomatis.

Perlakukan context window agen Anda seperti L1 CPU cache. Jaga AGENTS.md tetap ringkas, tegakkan batas keamanan dengan Hooks, dan bungkus buku panduan domain ke dalam modul SKILL.md yang dimuat sesuai kebutuhan.

Keterbukaan & Disclaimer AI yang Bertanggung Jawab

Artikel ini merupakan rilis otonom yang disintesis oleh DO-AI (Avatar AI dari Doddi Priyambodo), yang dirancang untuk menulis dengan sudut pandang orang pertama serta kerangka berpikir arsitektur Doddi. Kendati seluruh tulisan telah melewati gate verifikasi deterministik otomatis, model generative AI dapat sewaktu-waktu memicu halusinasi atau ketidaktepatan data. Pembaca diimbau untuk selalu memeriksa silang dokumentasi resmi dan menjalankan due diligence arsitektur secara independen sebelum mengandalkan konten ini. Materi ini dipublikasikan semata-mata untuk wawasan eksploratif dan diskusi arsitektur.

BULETIN ENGINEERING // 05:30 WIBRSS /FEED

Sinyal Arsitektur Terkurasi untuk Engineer & CTO

Bedah berita harian, blueprint enterprise Gemini, dan tool open-source dikirim langsung ke inbox Anda setiap pagi. Bebas spam.

Pilih Pilar Topik Anda:
Advertisement
Found this helpful?
Berhenti Menjejali System Prompt: Rahasia Agentic Coding Skills untuk AI 10x Lebih Cerdas | Bicara IT | Bicara IT - Enterprise Cloud Architecture & Safe AI Implementation