---
title: "Evolusi Workflow Coding Agent: Dari Cody, Amp, ke Pi"
description: "Bukan soal model terbaru, tapi soal gimana kita ngatur konteks, sesi, dan peran agent. Perjalanan dari Cody ke Amp sampai akhirnya 'klik' dengan Pi Coding Agent."
publishedAt: 2026-04-24
locale: id
urlSlug: evolusi-workflow-coding-agent
isDraft: false
defaultLocale: en
---
> Note: EN translation is unavailable, showing ID source.

[TOC]

Kalau aku lihat ke belakang, perubahan terbesar dalam cara kerjaku dengan AI bukan datang dari "model terbaru", tapi dari **cara mengelola konteks, sesi, dan peran agent**.

Tulisan ini ngerangkum perjalanan itu: dari masa pakai [Cody](https://sourcegraph.com/docs/cody), transisi ke [Amp](https://ampcode.com), sampai akhirnya [Pi](https://pi.dev) jadi coding agent utama. Benang merahnya ternyata konsisten: **jangan biarkan sesi terlalu panjang**, **prompt harus eksplisit**, dan **pisahkan pekerjaan ke thread/agent yang tepat**.

## Titik awal: Video Andrej dan kesadaran tentang konteks

Sekitar Februari atau Maret 2025, aku nonton video Andrej Karpathy yang jadi titik balik pertama[^fn:1]. Salah satu hal yang paling nempel: sesi AI yang terlalu panjang gampang banget berubah jadi distraksi. Awalnya kerasa produktif karena "semua ada di satu tempat", tapi makin lama AI makin halu apalagi kalau *context window*-nya sudah terisi 40% ke atas[^fn:10].

Dari situ aku mulai lebih disiplin:

- Gak membiarkan satu chat memuat terlalu banyak *objective*.
- Sering-sering *reset* sesi.
- Memecah kerja jadi fase yang jelas (*planning, execution, exploration*).

Aku juga sempat nonton video tentang *tokenization*[^fn:2]. Buatku, video ini lebih ke fondasi teknis biar paham gimana AI "membaca" input kita, tapi bukan pemicu utama yang ngubah *workflow* harian.

Perubahan *workflow* yang beneran kerasa nyata justru datang belakangan, pas aku mulai menerapkan konsep **back pressure** saat *prompting* untuk *coding task*[^fn:7]. Intinya, agent jangan cuma disuruh "kerjakan", tapi juga dipaksa punya mekanisme verifikasi atas hasil kerjanya sendiri.

Secara praktis, *back pressure* ini aku masukin ke "kontrak" prompt:

- Kalau ada *bug fix*, agent wajib **membuktikan** kalau *bug*-nya beneran hilang (lewat repro sebelum/sesudah, *test*, atau log).
- Buat urusan *frontend*, agent dikasih akses *browser* biar bisa cek UI langsung.
- Buat *backend*, agent dikasih akses CLI (kayak `psql`, `uv`, `node`) biar validasinya gak cuma asumsi.

Pola ini mengubah pandanganku, AI bukan cuma soal implementasi tapi juga jadi agent yang punya akuntabilitas *delivery*.

Pada dasarnya balik lagi ke konsep [inner-loop](https://sourcegraph.com/blog/developer-productivity-thoughts); kita sebagai *dev* melakukan *requirement gathering* (*planning*), *coding*, dan *testing*. Namun, daripada melakukan semuanya "*by hand*", sekarang prosesnya dibantu oleh "agent".

## Dari Cody ke Amp: Momentum transisi yang pas

Dulu aku lumayan lama pakai [Cody](https://sourcegraph.com/docs/cody) dari Sourcegraph. Pas Cody *sunset* dan dilanjutkan dengan [Amp](https://ampcode.com), kebetulan ada kredit 40 USD, ya lumayan lah ya, aku lanjut eksplorasi di sana. Keputusannya awalnya praktis aja, tapi ternyata malah membuka *workflow* yang lebih fundamental.

Tulisan Amp soal *Threads* beneran ngena[^fn:3]. Konsepnya sederhana: **thread sebagai unit kerja, bukan sekadar histori chat**.

Praktiknya jadi kayak gini:
- *Planning session* → bikin *thread* baru.
- *Execution session* → pindah *thread* lagi.
- *Exploration session* → beda *thread* lagi.
- Kalau mau balik ke *planning* → ya bikin *thread* baru lagi.

(Tips: Di Amp, kita bisa tekan *double enter* di kolom chat buat langsung kasih referensi ke *thread* sebelumnya, jadi proses *handoff* konteksnya makin *seamless*).

Ini sejalan dengan catatan Amp lainnya kalau 200k token itu bukan berarti harus dipakai semua sekaligus[^fn:4]. Bisa nampung besar bukan berarti optimal buat AI-nya "halu" lebih akurat.

## Subagent sebagai pembagi peran kognitif

Konsep **subagent** yang aku temui saat menggunakan Amp makin memperjelas pembagian beban kerja ini[^fn:5]. Sebenarnya, kalau dibedah, *subagent* ini hanyalah **sesi yang super terfokus** yang melakukan **handoff notes secara otomatis** di belakang layar. 

Prinsipnya tetap sama: memecah beban kognitif ke unit yang lebih kecil agar kualitasnya terjaga. Pembagian perannya kira-kira begini:

- **Oracle (GPT)**: Buat *planning*, *problem framing*, atau *bug fix* yang ribet banget.
- **Librarian (Sonnet)**: Buat memahami *codebase* di GitHub, bikin rangkuman, atau dokumentasi internal.

Yang penting itu bukan cuma "model mana yang paling pinter", tapi **tugasnya cocok gak sama mode kerjanya**. Kalau peran agent-nya jelas, output-nya lebih konsisten dan beban mikirku juga jadi lebih ringan.

## Pola yang akhirnya kelihatan jelas

Setelah melihat ulang perjalanan dari 2025 sampai sekarang, polanya makin jelas. Ternyata ada tiga **prinsip dasar** yang tanpa sadar selalu aku pegang:

1. **Minim distraksi**, karena satu *thread* cuma ngejar satu tujuan.
2. **Lanjut akurat**, karena catatan operan bikin sesi berikutnya langsung tahu posisi terakhir.
3. **Pikiran enteng**, karena satu sesi gak dipaksa nampung everything — bukan cuma agent, tapi kita driver-nya juga jadi lebih enteng.

Performa itu bukan cuma soal model AI-nya, tapi soal komposisi: 
> **right task × right agent × right thread length × right prompt contract**

## Klik dengan Pi Coding Agent

Pas proyek OpenClaw lagi rame (akhir 2025 - awal 2026), aku jadi kenal sama [Pi Coding Agent](https://pi.dev) karena OpenClaw sendiri pakai fondasi itu.

Waktu baca tulisan Mario Zechner tentang Pi, banyak hal yang kerasa "klik" banget sama prinsip yang aku pelajari dari Andrej dan Amp[^fn:6]. Filosofinya sejalur: *tooling* harus bikin kita lebih sadar konteks, modular, dan *intentional*.

Makanya sekarang Pi bukan cuma alternatif, tapi sudah jadi **coding agent utama** buatku.

## Kenapa akhirnya Pi?

Ada beberapa alasan kenapa Pi sekarang jadi patokan *workflow*-ku:

1. **Workflow thread-based yang natural**: Gak maksa kita buat bikin satu sesi super panjang. Aku jadi lebih paham cara ngatur konteks lewat fitur `/tree`[^fn:8]. **Subagent yang aku sebut sebelumnya sebenarnya hanyalah bentuk otomatisasi dari pola thread-based ini.**
2. **Workflow multi-session**: Misahin *planning* dan *execution* jadi gampang banget tanpa takut kehilangan arah.
3. **Selaras dengan prompt eksplisit**: Gampang banget ngejaga "kontrak" output dan *scope* per sesi.

## Default Workflow-ku sekarang

Sekarang, ini jadi kebiasaan *default*-ku kalau lagi ngoding:

- **Satu thread, satu objective**.
- Kalau *objective* berubah, **langsung bikin thread baru**.
Setiap pindah *thread*, tulis **handoff note pendek**: konteks minimal, keputusan penting, dan langkah selanjutnya.
- Prompt harus eksplisit soal: peran, batasan, bentuk output, dan kapan tugas dianggap selesai.

Biar gak cuma berhenti di chat, aku biasakan merapikan artefaknya ke folder `./memory` di repo. Contohnya bisa dilihat di repo StitchDB[^fn:9], di sana ada file *planning*, *bug fixing*, sampai *handoff notes*. Biasanya agent yang tulis draf awalnya, terus aku *review* dan koreksi. Anggap folder ini jadi ruang kolaborasi.

Selain itu, folder `./memory` ini memudahkan banget buat ganti-ganti *coding agent*. Kalau aku lagi butuh sudut pandang lain, tinggal *passing* catatan itu ke agent lain kayak Amp atau Gemini—yang masih sering aku pakai juga di samping Pi.

Tool dan model pasti bakal terus ganti. Tapi peganganku tetap sama: **kerja dalam sesi yang fokus, konteks yang rapi, dan hasil yang bisa diverifikasi.**

Sejauh ini sangat menarik ngikutin perkembangan *coding AI agent*. Rasanya belajar ini mirip banget kayak dulu pas pertama kali belajar bikin game waktu kelas 3 SMP pas baru-baru punya komputer, bikin rasa penasaran dan semangat belajar nyala terus wqwq.

[^fn:1]: [Andrej Karpathy video (YouTube)](https://youtu.be/EWvNQjAaOHw)
[^fn:2]: [Video tentang tokenization (YouTube)](https://youtu.be/zduSFxRajkE)
[^fn:3]: [Amp blog — Read Threads](https://ampcode.com/news/read-threads)
[^fn:4]: [Amp notes — 200k tokens is plenty](https://ampcode.com/notes/200k-tokens-is-plenty)
[^fn:5]: [Amp video tambahan (YouTube)](https://youtu.be/gvIAkmZUEZY)
[^fn:6]: [Mario Zechner — pi-coding-agent](https://mariozechner.at/posts/2025-11-30-pi-coding-agent/)
[^fn:7]: [Video tentang praktik prompting dan verifikasi/back pressure (YouTube)](https://youtu.be/4Nna09dG_c0)
[^fn:8]: [Stack to Heap — Pi /tree & Context Window Management](https://stacktoheap.com/blog/2026/02/26/pi-tree-context-window-management/)
[^fn:9]: [Contoh folder memori workflow (StitchDB)](https://github.com/wayanjimmy/stitchdb/tree/main/memory)
[^fn:10]: [Video tentang degradasi performa AI saat context window mulai penuh (YouTube)](https://youtu.be/rmvDxxNubIg)
