Kisah Membangun Wiki LLM

218.250.***.***
7

Selama hampir seminggu, saya terus bekerja pada sistem wiki LLM, dan tampaknya telah melampaui titik kritis.

Saya pertama kali mengenal hal ini melalui secall dari @지나가던행인이님, dan meskipun mengalami banyak coba-coba dan kesulitan, sekarang saya telah mencapai tahap di mana dengan sedikit lebih banyak penyesuaian, saya dapat mencapai otomasi penuh.

Konten di bawah ini adalah ringkasan wiki LLM kami yang dibangun oleh saya dan Claude.

🏗️ Ringkasan Sistem Pengetahuan Vault

Dimulai dari pola LLM Wiki Karpathy, tetapi dikembangkan dengan sumber dan filosofi yang secara fundamental berbeda. Pola LLM Wiki Karpathy dirujuk sebagai latar belakang konseptual, dan dokumen ini mencatat pemikiran unik sistem kami dan keadaan saat ini.


📋 Daftar Isi


Pemikiran Inti — Pekerjaan adalah Pengetahuan Itu Sendiri

Sumber original Karpathy adalah dokumen eksternal (artikel, URL, buku).
Sumber sistem ini adalah log sesi AI saya sendiri — proses kerja itu sendiri menjadi data mentah.

Karpathy: Pengetahuan dunia eksternal → Disusun untuk saya
Sistem ini: Proses saya bekerja → Itu sendiri adalah pengetahuan

Sistem pengetahuan yang merujuk diri sendiri

Vault bukan wadah untuk informasi eksternal, melainkan ruang di mana proses berpikir saya menumpuk. Setiap kali sesi berakhir, pengetahuan terakumulasi secara otomatis, dan saya dapat berbicara dengan diri saya sendiri di masa lalu.


Perbedaan dari Original Karpathy

Item

Original Karpathy

Sistem Ini

Sumber Utama

Dokumen eksternal (URL, artikel)

Log sesi AI + clipping

Metode Pengumpulan

Ingest manual

Pengumpulan otomatis saat sesi berakhir

Komposisi LLM

LLM tunggal

Pembagian peran LLM multi

Jaminan Kualitas

Tidak ada (dihasilkan langsung oleh LLM)

Validasi 2 tingkat (pipeline PR)

Pencarian

Pencarian file utama

Hybrid FTS5(BM25) + BGE-M3 vektor

Akumulasi Pengetahuan

Eksternal → Internal satu arah

Pekerjaan saya ↔ wiki dua arah

Self-Improvement

Tidak ada

Loop feedback riwayat PR


Pipeline — Pengguna → Sesi → Pengetahuan

Aliran data lengkap sistem ini terdiri dari tiga tingkat.

┌─────────────────────────────────────────────────────────┐
│  Pengguna (User)                                         │
│  Bekerja dengan Claude Code / Claude AI                 │
└────────────────────┬────────────────────────────────────┘
                     │ Menangkap otomatis saat bekerja
                     ▼
┌─────────────────────────────────────────────────────────┐
│  Sesi (Session)                                          │
│  raw/sessions/YYYY-MM-DD/{agent}_{project}_{id8}.md     │
│  secall: BGE-M3 embedding vektor → SQLite + indeks ANN  │
└────────────────────┬────────────────────────────────────┘
                     │ Cron Gemma4 (09/15/21 jam)
                     │ Tinjauan PR Claude
                     ▼
┌─────────────────────────────────────────────────────────┐
│  Pengetahuan (Wiki)                                      │
│  wiki/projects/ · wiki/topics/ · wiki/decisions/        │
│  → Aliran balik sebagai konteks pada sesi berikutnya    │
└─────────────────────────────────────────────────────────┘

Tingkat 1 — Pengguna

Pengguna bekerja melalui dua saluran: Claude Code (pengodean·operasi) dan Claude AI (eksplorasi·dialog). Meskipun salurannya berbeda, keduanya dikumpulkan sama-sama sebagai file sesi dan dibedakan dengan bidang agent.

Saluran

Nilai agent

Kegunaan Utama

Claude Code

claude-code

Pengodean, operasi Vault, eksekusi tugas

Claude AI (web)

claude-ai

Penelitian, diskusi, eksplorasi konsep

Konteks proyek: Sesi secara otomatis mengekstrak nama proyek dari cwd (direktori kerja). Dengan 614 sesi dan 114 proyek, direktori kerja menjadi kategori pengetahuan itu sendiri.

Tingkat 2 — Sesi

Siklus hidup sesi dikelola secara otomatis oleh secall.

Acara

Tindakan

Perintah

Awal Sesi (Initialize)

ingest saja

secall sync --local-only --no-wiki

Akhir Sesi (SessionEnd)

ingest + push

secall sync --no-wiki

Cron 30 menit

ingest saja

secall sync --local-only --no-wiki

Struktur Indeksasi:

File Sesi (Markdown)
    ↓ Pemisahan chunk
BGE-M3 (vektor 1024 dimensi)
    ↓
┌──────────────────┬────────────────────────────┐
│  Tabel SQLite turn_vectors  │  Indeks ANN (USearch)  │
│  + indeks pencarian teks FTS5  │  pencarian tetangga terdekat aproks  │
└──────────────────┴────────────────────────────┘

Tipe Kueri Pencarian:

Tipe

Mesin

Kapan

keyword

FTS5 (BM25)

Nama fungsi·nama file·tanggal dan kata-kata eksak lainnya

semantic

Kesamaan cosine BGE-M3

Pencarian makna seperti "mengapa saya melakukan ini"

Tingkat 3 — Pengetahuan (Wiki)

Sesi menjadi wiki melalui dua jalur.

[Otomatis] Cron Gemma4 (09/15/21 jam)
    Sesi → wiki/pr/{id8}.md (draf tingkat 1)
        ↓ A: Injeksi konteks wiki yang ada
        ↓ C: Deteksi duplikat (80%+ → LEWATI 3 detik)
    Tinjauan PR Claude
        ↓ keputusan merge / create / discard
    wiki/topics/ · wiki/projects/ · wiki/decisions/

[Manual] Claude /wiki · /wiki-batch · /wiki-query
    Ingest langsung atau sintesis pada titik yang diperlukan

Aliran balik pengetahuan: wiki bukanlah repositori statis.

Pertanyaan pengguna
    ↓ wiki_search (ringan) atau /wiki-query (eksplorasi penuh)
Halaman wiki terkait + recall sesi
    ↓ Tercermin dalam respons Claude
Hasil kerja yang lebih baik → sesi baru → wiki yang lebih baik

Isolasi pengetahuan tingkat proyek

wiki/projects/ mempertahankan status saat ini setiap proyek secara independen. Dengan melacak melalui frontmatter sources:, keputusan proyek A tidak bercampur dengan proyek B.


Poin-Poin Berkembang

1. Pembagian Peran LLM Multi

Memisahkan kecepatan dan akurasi.

Agen

Peran

Karakteristik

Gemma4

Sesi → wiki/pr/ draf tingkat 1 (cron 3x sehari)

Cepat, pemrosesan massal

Claude

Tinjauan tingkat 2, keputusan, operasi wiki

Akurat, pemahaman konteks

Original Karpathy memproses semuanya dengan satu LLM → tidak dapat memenuhi kualitas dan kecepatan secara bersamaan.

2. Pipeline Validasi 2 Tingkat

Draf yang dibuat Gemma4 dibandingkan Claude dengan wiki yang ada dan memberikan keputusan (merge/create/discard). Claude melengkapi keterbatasan struktural model kecil (kesalahan klasifikasi, pembuatan duplikat).

→ Sistem Validasi 2 Tingkat Tinjauan PR Wiki

3. Loop Feedback Riwayat PR (2026-04-15)

PR yang telah diselesaikan tidak dihapus tetapi disimpan sebagai wiki/pr/history/YYYY-MM-DD-{id8}.md. Alasan keputusan terstruktur melalui bidang verdict di frontmatter dan blok ^review.

Tujuan: Akumulasi riwayat keputusan
   → Statistik: akurasi Gemma4, frekuensi alasan discard
   → Penilaian masa depan: "bagaimana tipe ini diputuskan sebelumnya?" dapat diingat kembali
   → Tuning Gemma4: pola kesalahan berulang → dasar untuk perbaikan prompt

Ini melampaui pencatatan sederhana untuk membuat loop di mana sistem meningkatkan dirinya sendiri.

4. Loop Penyempurnaan Tertunda (Lazy Refinement Loop)

Sesi yang terlewatkan wiki-execute tidak hilang. Disimpan di raw/sessions/ → Ditemukan sesuai permintaan melalui fallback recall /wiki-query → Dipromosikan ke wiki.

Pemrosesan otomatis (prioritas kecepatan, konteks kurang)
    ↓ sesi yang terlewat tetap tersisa di raw
Penemuan berbasis permintaan (pertanyaan memicu, konteks jelas)
    ↓
Pembuatan halaman wiki yang lebih akurat

"Wiki harus dibuat ketika jelas mengapa diperlukan" — rasio sinyal terhadap noise lebih baik daripada rekomendasi otomatis.

5. Peningkatan Kualitas A+C

Tahap

Nama

Tindakan

Sebelum Generasi

A (Augment)

Injeksi konteks wiki yang ada ke prompt Gemma4

Setelah Generasi

C (Check)

Pencarian wiki serupa berdasarkan nama file yang dihasilkan → sisipkan merge_candidate

Sesi dengan duplikat 80%+ dari wiki yang ada dilewati dalam 3 detik alih-alih ~70 menit generasi. Persyaratan: secall serve (port 8765) berjalan.

6. Kontinuitas Sesi — Handoff (2026-04-15)

Keterbatasan fundamental LLM: ketika sesi berakhir, konteks hilang. Sistem ini mengatasi hal ini dengan membuat file handoff saat sesi berakhir untuk diteruskan ke sesi berikutnya.

Akhir Sesi (/session-close)
    ↓
Pembuat file share/project/obsidian-vault/handoff/YYYY-MMDDThhmm.md
    ↓
Saat sesi berikutnya dimulai, Claude membaca secara otomatis
    ↓
Memahami pekerjaan sebelumnya yang diselesaikan + rencana pekerjaan + status saat ini

Struktur File Handoff:

Bagian

Konten

✅ Pekerjaan Selesai

Item yang benar-benar diproses dalam sesi (keputusan PR, pembuatan wiki, dll.)

🎯 Rencana Pekerjaan Sesi Berikutnya

Pekerjaan yang tidak selesai, saran tindak lanjut

📋 Status Referensi

Status staging PR, catatan khusus

Mengapa Menggunakan Obsidian CLI:

# Beroperasi dengan jalur relatif vault → jalur identik meski PC berbeda
obsidian files folder="share/project/obsidian-vault/handoff"
obsidian read path="share/project/obsidian-vault/handoff/"

Berbeda dengan alat ls + Read (jalur absolut), CLI obsidian menggunakan jalur relatif berdasarkan akar vault. Perintah yang sama berfungsi meskipun berpindah antara MacBook ↔ NAS ↔ PC lain.

Handoff adalah eksternalisasi memori LLM

Ini bukan mengisi celah antar sesi, melainkan vault itu sendiri menjadi memori berkelanjutan. Ini adalah ringkasan status yang dikirim dari "diri saya di masa lalu" ke "diri saya di masa depan".

7. Kesadaran Siklus Hidup Sesi

Sesi yang masuk kembali dengan --resume diproses sebagian dengan kondisi turns_seen < total_turns. Melacak pertumbuhan sesi yang sama, dan tanggal nama file riwayat PR berbeda secara otomatis membedakan.


Kekurangan / Tantangan

❶ Pelacakan Sumber Tingkat Paragraf (Belum Diimplementasikan)

Saat ini hanya ada frontmatter sources: tingkat halaman. Tidak ada pelacakan sumber tingkat klaim seperti ^[session_id] penanda paragraf dalam llm-wiki-compiler.

# Contoh Target Masa Depan
Gemma4 mendukung timestamp level kata. ^[9c979986]

Tidak perlu ketika jumlah halaman kecil. Pertimbangkan pengenalan saat ratusan halaman+ dan pencampuran multiple sumber.

❷ Otomasi Sesi Besar (100+ giliran) Belum Lengkap

Sesi dengan 100+ giliran dijalankan secara manual dengan wiki-execute-large.sh. RTX 5080(NAS) direkomendasikan. Dikecualikan dari target otomasi cron.

❸ Bias Pengelola (Perbaikan Sedang Berlangsung)

Claude cenderung mendiscard secara berlebihan berdasarkan kriteria klasifikasi project/topic. Perbaikan direncanakan setelah pengumpulan riwayat PR memungkinkan analisis pola berbasis data.

❹ Fleksibilitas exportignore Kurang

Pengaturan untuk mengecualikan sesi/proyek tertentu dari pengindeksan dikodekan keras dalam kueri SQLite. Metode file .exportignore dari llm-wiki-template lebih fleksibel, tetapi memerlukan modifikasi kode Rust secall.

❺ Tidak Ada Penanganan Sesi Confidential

Tidak ada mekanisme penyimpanan terenkripsi untuk sesi yang berkaitan dengan data kesehatan atau keuangan pribadi. Metode sessions/confidential/ + GPG dari llm-wiki-template dapat dirujuk.

❻ Dashboard Statistik Dataview (Fase 4)

Tidak ada dashboard Dataview untuk memvisualisasikan bidang verdict dalam wiki/pr/history, jumlah halaman wiki, distribusi sumber, dll. Data dasar (frontmatter) sudah dalam proses dikumpulkan.


Prinsip Struktur

Ketidakberubahan Lapisan Sumber

File di bawah raw/ tidak pernah dimodifikasi. Target pengamatan tidak boleh berubah.

Wiki Berpusat pada Status Saat Ini

Wiki berisi status saat ini, bukan riwayat. Riwayat dan pengambilan keputusan dipisahkan ke decisions/.

Pemisahan Kepemilikan Agen

Kepemilikan

Tanggung Jawab

raw/articles/, raw/inbox/

Gemini/pengguna (Claude tidak boleh memodifikasi)

wiki/pr/ staging

Dibuat Gemma4

wiki/pr/history/

Tinjauan Claude

wiki/topics/, wiki/projects/, wiki/decisions/

Claude (manajemen final)

log.md, overview.md (akar)

Dihasilkan otomatis secall (jangan dimodifikasi)

Obsidian CLI Prioritas

Akses file vault melalui CLI obsidian. Beroperasi dengan jalur relatif vault, sehingga jalur tetap identik bahkan jika PC berbeda.


Kontinuitas Sesi — Handoff

→ Lihat bagian Poin-Poin Berkembang "6. Kontinuitas Sesi — Handoff".

Ringkasan Inti:

  • Skill /session-close membuat file di share/project/obsidian-vault/handoff/

  • Sebelum respons pertama sesi berikutnya, secara otomatis memeriksa file terbaru dengan CLI obsidian

  • Menyimpan pekerjaan yang diselesaikan / rencana pekerjaan / status sistem secara terstruktur

  • Berbasis CLI obsidian → jalur relatif vault → portabilitas PC terjamin

로그인한 회원만 댓글 등록이 가능합니다.

개발한당

KR | ID | EN
  • IDR
  • KOR
8.35 -0.01

2026.07.10 KEB 하나은행 고시회차 1056회

다가오는 한인 행사일정

  • 등록 된 일정이 없어요!