Apakah Kejuruteraan Gelung? Definisi Ejen AI
Kejuruteraan gelung mereka bentuk pencetus, sempadan, pengesahan dan belanjawan untuk kitaran ejen AI, bukan sekadar menulis satu gesaan pintar.
Maksud kejuruteraan gelung
Kejuruteraan gelung ialah amalan mereka bentuk kitaran berulang yang dijalankan oleh ejen AI: perkara yang mengaktifkannya, perkara yang boleh dicapainya, cara outputnya disemak dan perkara yang menghentikannya. Kejuruteraan gesaan membentuk satu mesej untuk model. Kejuruteraan gelung membentuk proses yang menghantar beribu-ribu mesej semasa anda tidur. Unit kerja beralih daripada gesaan kepada gelung.
Ringkasnya: anda berhenti menulis arahan dan mula menulis sistem kawalan. Ejen itu masih memerlukan arahan yang baik, tetapi arahan tersebut menjadi satu komponen dalam kitaran yang berjalan mengikut jadual, berfungsi dalam salinan kod anda yang diasingkan, membuktikan hasilnya sendiri dengan ujian dan berhenti apabila belanjawan habis.
Mengapa istilah ini muncul pada 2026
Nama ini sedang ditetapkan secara terbuka pada masa ini. Repositori GitHub cobusgreyling/loop-engineering memperoleh 9,600 bintang dalam tempoh dua bulan selepas kemunculan pertama (setakat Julai 2026), dengan slogan "Stop prompting. Design the loop. Get a score." Repositori ini menghimpunkan perubahan tersebut kepada enam blok binaan: penjadualan, worktree, kemahiran, pemalam dan penyambung, sub-ejen, serta memori tahan lama yang disimpan di luar perbualan.
Ia memetik Boris Cherny, yang mengetuai Claude Code di Anthropic:
I don't prompt Claude anymore. I have loops running that prompt Claude.
Repositori kedua, AI-Builder-Club/skills, mempunyai hampir 1,100 bintang (setakat Julai 2026) dan menamakan kedua-dua peranan itu secara langsung: "codebase harness" yang menjadikan repositori selamat untuk ejen menjalankan ujian dan deploy, serta "loop engineer" yang membina aliran kerja yang diaktifkan oleh pencetus, melaksanakan tugas, dan menulis perkara yang dipelajarinya ke dalam fail dikongsi supaya loop seterusnya boleh membacanya.
Tiada satu pun repositori tersebut mencipta amalan ini. Sesiapa yang pernah menjalankan binaan setiap malam, linter dalam integrasi berterusan, atau cron job yang membuka tiket sudah mengetahui bentuknya. Perkara baharu ialah pekerja di dalam loop kini tidak bersifat deterministik. Keadaan ini mengubah tugas yang perlu dilakukan oleh mekanisme sokongan di sekelilingnya.
Empat bahagian gelung
Setiap gelung yang berfungsi mempunyai empat bahagian ini. Gelung yang mengabaikan salah satu daripadanya boleh membangunkan anda pada pukul 3 pagi.
- Pencetus. Peristiwa yang memulakan pelaksanaan: pemasa, webhook, pull request baharu atau amaran.
- Sempadan. Fail, kelayakan dan rangkaian yang boleh dicapai oleh ejen semasa pelaksanaan itu.
- Pengesahan. Pemeriksaan dengan kod keluar yang menentukan sama ada output pelaksanaan disimpan atau dibuang.
- Belanjawan. Had token, masa dan kos yang menamatkan pelaksanaan, sama ada berjaya atau tidak.
Baca semula empat perkara itu sebagai soalan, dan anda mempunyai semakan reka bentuk untuk mana-mana ejen yang akan anda biarkan terus berjalan.
Pencetus: perkara yang mengaktifkan ejen
Pemasa ialah pencetus yang paling mudah. Pada pelayan Linux, pemasa systemd lebih baik daripada cron kerana pemasa ini merekodkan log, membuat percubaan semula mengikut tetapan anda dan tidak memulakan salinan kedua bagi unit yang masih berjalan. Sifat terakhir ini menghapuskan pepijat pertindihan yang paling biasa dalam gelung ejen: dua pelaksanaan mengedit cawangan yang sama.
Tulis unit itu di /etc/systemd/system/agent-loop.service:
[Unit]
Description=Agent loop: triage open issues
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
User=agent
WorkingDirectory=/srv/agent/repo
ExecStart=/srv/agent/bin/loop.sh
TimeoutStartSec=1800Kemudian tulis pemasa di /etc/systemd/system/agent-loop.timer:
[Unit]
Description=Run the triage loop every 30 minutes
[Timer]
OnBootSec=5min
OnUnitActiveSec=30min
Unit=agent-loop.service
[Install]
WantedBy=timers.targetsudo systemctl daemon-reload
sudo systemctl enable --now agent-loop.timer
systemctl list-timers agent-loop.timersystemctl list-timers sepatutnya memaparkan lajur NEXT dengan masa pada masa akan datang dan lajur LEFT yang mengira detik yang tinggal. Hasil yang kosong bermakna pemasa itu tidak didayakan kerana enable tanpa --now hanya menjadualkannya untuk but seterusnya. TimeoutStartSec=1800 lebih penting daripada yang kelihatan: ejen yang tergantung kerana menunggu input akan terus mengekalkan unit dalam keadaan aktif selama-lamanya. Pemasa itu tidak akan dicetuskan lagi. Baca satu pelaksanaan dengan journalctl -u agent-loop.service -n 50.
Jika anda memacu gelung itu daripada cron, tambah pengawal pertindihan anda sendiri kerana cron akan memulakan salinan kedua tanpa masalah:
*/30 * * * * /usr/bin/flock -n /tmp/agent-loop.lock /srv/agent/bin/loop.shflock -n keluar serta-merta dengan status 1 apabila kunci sedang digunakan. Oleh itu, pelaksanaan kedua terhenti secara senyap dan tidak berlumba dengan pelaksanaan pertama. Persediaan perkhidmatan dan pemasa systemd yang sama boleh digunakan untuk apa-apa kerja yang berjalan lama pada pelayan itu, sama ada ejen atau bukan.
Sempadan: berikan salinan sendiri untuk setiap pelaksanaan
Ejen yang mengedit working tree anda boleh menyebabkan kerja yang belum di-commit hilang. Git worktree menyelesaikan masalah ini dengan mudah: setiap pelaksanaan mendapat direktori dan branch sendiri, sambil berkongsi satu stor objek.
cd /srv/agent/repo
git worktree add -b loop/triage-01 /srv/agent/work/triage-01 origin/main
git worktree listgit worktree list mencetak satu baris bagi setiap tree, termasuk laluannya, commit dan branch. Apabila pelaksanaan tamat, git worktree remove /srv/agent/work/triage-01 memadamkan direktori tersebut, manakala git worktree prune mengosongkan entri yang direktorinya telah hilang. Gelung selari menjadi selamat pada tahap ini kerana dua ejen pada dua branch dalam dua direktori tidak boleh menimpa perubahan satu sama lain.
Sempadan ini juga melibatkan kelayakan. Gelung yang berjalan tanpa pengawasan menyimpan token jangka panjang, dan setiap pelaksanaan boleh menyebabkan token terbocor ke dalam log, commit atau konteks model. Hadkan skop token kepada satu repositori yang disentuh oleh gelung tersebut. Jika boleh, jangan letakkan token dalam persekitaran yang dapat dilihat oleh shell ejen sendiri. Baca cara mengelakkan rahsia daripada terdedah kepada ejen AI sebelum memberikan gelung akses produksi. Untuk pengasingan yang lebih ketat, jalankan seluruh gelung pada VM sementara yang boleh anda musnahkan selepas setiap pelaksanaan.
Pengesahan: pintu kawalan yang menjadikan gelung selamat
Inilah bahagian yang membezakan gelung daripada tugas cron yang hanya menaip. Output ejen ialah cadangan. Pintu kawalan membuat keputusan.
#!/usr/bin/env bash
set -euo pipefail
repo=/srv/agent/repo
branch="loop/$(date -u +%Y%m%dT%H%M%SZ)"
tree="/srv/agent/work/$(basename "$branch")"
cd "$repo"
git fetch --quiet origin
git worktree add -b "$branch" "$tree" origin/main
cd "$tree"
# the agent's own command runs here, in non-interactive mode
if ! npm test; then
echo "gate failed: discarding $branch" >&2
cd "$repo"
git worktree remove --force "$tree"
exit 1
fi
git push origin "$branch"
cd "$repo"
git worktree remove "$tree"set -euo pipefail menjalankan fungsi sebenar dalam skrip itu. Tanpa -e, git fetch yang gagal akan diabaikan dan pelaksanaan diteruskan menggunakan origin/main yang sudah lapuk. Tanpa -u, kesilapan taip pada nama pemboleh ubah akan dikembangkan menjadi rentetan kosong. Selepas itu, proses pembersihan berjalan pada laluan yang salah dan bukannya gagal dengan jelas.
Blok if ! npm test ialah keseluruhan konsep ini. Kod keluar daripada semakan yang sudah anda percayai, sama ada suit ujian atau penyemak jenis, menentukan sama ada branch dihantar atau dimusnahkan. Gelung tanpa pintu kawalan menghasilkan kerja yang tiada siapa mempunyai masa untuk menyemak. Keadaan ini lebih buruk daripada tiada kerja langsung. Gelung dengan pintu kawalan menghasilkan branch yang telah melepasi piawaian yang sama seperti branch penyumbang manusia.
Pilih pintu kawalan yang gagal dengan tepat. Suit ujian yang lulus apabila diff kosong mengajar gelung bahawa tidak melakukan apa-apa ialah kejayaan. Repositori dengan ujian yang lemah menghasilkan gelung yang lemah. Oleh itu, repositori yang sedang sohor kini meletakkan "jadikan codebase sedia untuk ejen" sebelum "tulis gelung".
Bajet: perkara yang menghentikan sesuatu proses
Ejen yang mencuba semula tanpa henti akan menghasilkan bil tanpa had. Tetapkan had masa dinding untuk setiap gelung, yang dikuatkuasakan oleh TimeoutStartSec di atas; tetapkan bilangan percubaan semula dalam skrip anda; dan tetapkan had perbelanjaan yang dikuatkuasakan oleh akaun pembekal. Kemudian catat kos setiap pelaksanaan, supaya anda dapat mengesan gelung yang mula menyimpang sebelum invois menunjukkannya. Kawalan kos untuk VPS ejen yang sentiasa aktif menerangkan aspek perakaunan, manakala mengurus konteks yang dibawa oleh ejen antara giliran menerangkan tuil tunggal terbesar bagi kos setiap pelaksanaan, kerana gelung yang membaca semula repositori yang sama setiap 30 minit akan membayarnya setiap 30 minit.
Kos ialah sebab gelung biasanya lebih baik daripada satu sesi yang panjang. Pelaksanaan yang bermula dengan konteks baharu, menjalankan satu tugas khusus dan keluar akan mengekalkan konteksnya kecil. Sesi yang dibiarkan terbuka selama lapan jam membawa setiap kesilapan terdahulu dalam sejarahnya dan membayar keseluruhan transkrip pada setiap giliran.
Corak yang didokumenkan oleh repositori sohor kini
Repositori loop-engineering menyenaraikan tujuh corak pengeluaran, dan corak tersebut wajar dibaca sebagai menu, bukan manifesto. Triage harian. Penjaga pull request yang memantau ulasan dan menjawabnya. Penyapu continuous integration yang mengambil binaan berstatus gagal. Penyapu kebergantungan. Penyedia draf changelog. Pembersihan selepas gabungan. Triage isu.
Kesemuanya mempunyai tugas yang khusus dengan get yang jelas. "Baiki binaan yang gagal" mempunyai syarat lulus yang boleh dibaca oleh mesin. "Tingkatkan pangkalan kod" tidak mempunyai syarat sedemikian, jadi ia tidak pernah menjadi gelung. Sebaliknya, ia menjadi tugasan bercelaru yang mempunyai jadual.
Kesemuanya juga mempunyai rekod bertulis. Kedua-dua repositori mengalihkan keadaan daripada perbualan ke fail dalam repositori: perkara yang dijalankan, perkara yang ditemui dan keputusan yang dibuat. Fail itu ialah memori gelung. Fail itu membolehkan gelung kedua meneruskan kerja gelung pertama tanpa menemui semula maklumat tersebut. Fail itu juga membolehkan anda mengaudit ejen selepas pelaksanaan selesai, kerana konteks model hilang sebaik sahaja pelaksanaan berakhir.
Tempat gelung gagal
Kegagalan ini membosankan dan berulang merentas pasukan.
- Tiada pintu kawalan. Output terkumpul, tiada sesiapa menyemaknya, kepercayaan merosot, dan gelung dimatikan.
- Pertindihan. Dua pelaksanaan berjalan pada satu branch, atau dua ejen bekerja dalam satu working tree, lalu menghasilkan konflik yang cuba diselesaikan oleh ejen.
- Penyimpangan senyap. Gelung terus lulus kerana pemeriksaan terlalu lemah untuk menyebabkan kegagalan.
- Skop tidak terhad. Trigger yang dicetuskan pada setiap commit dalam repositori yang sibuk akan menjadi masalah perbelanjaan dalam masa sehari.
Setiap masalah mempunyai pembaikan yang sama: kecilkan tugas, perketat pemeriksaan dan logkan pelaksanaan. Jika anda tidak dapat menerangkan syarat lulus dalam satu ayat, tugas itu belum bersedia untuk diautomatikkan.
Bermula tanpa istilah khusus
Anda tidak memerlukan rangka kerja. Satu pelayan Linux yang sentiasa aktif, satu repositori git yang suite ujiannya gagal apabila sepatutnya, satu pemasa systemd dan satu skrip shell yang mengandungi if sudah mencukupi untuk membentuk gelung lengkap. Itulah titik permulaan yang wajar bagi kebanyakan orang, kerana persoalan reka bentuk dijawab dengan menjalankan sistem tersebut, bukan dengan memilih alat. Setelah satu gelung stabil, menjalankan gelung kedua kebanyakannya hanya memerlukan satu pemasa tambahan dan satu worktree tambahan. Lihat cara menjalankan ejen AI pengekodan pada VPS untuk persediaan asas, dan pilihan ejen AI yang dihoskan sendiri pada masa ini jika anda mahu ejen itu sendiri berjalan pada perkakasan yang anda kawal.
FAQ
Adakah kejuruteraan gelung berbeza daripada kejuruteraan gesaan?
Kejuruteraan gesaan mengoptimumkan satu mesej: pemilihan kata, contoh dan format output. Kejuruteraan gelung mengoptimumkan kitaran di sekeliling mesej: pencetus yang memulakan sesuatu pelaksanaan, kotak pasir tempat pelaksanaan itu berjalan, pemeriksaan yang menerima atau menolak outputnya, dan belanjawan yang menghentikannya. Anda masih memerlukan gesaan yang baik dalam gelung. Namun, gesaan bukan lagi perkara utama yang dilaraskan setiap hari, kerana pengawal dan pencetus lebih mempengaruhi hasil.
Adakah saya memerlukan rangka kerja untuk membina gelung ejen?
Tidak. Pemasa systemd, satu git worktree bagi setiap pelaksanaan, skrip shell yang berakhir dengan arahan ujian, dan had perbelanjaan pada akaun penyedia sudah merangkumi setiap bahagian takrifan tersebut. Rangka kerja menambah antara muka penjadualan, format memori dikongsi dan penghalaan berbilang ejen. Ciri ini berguna apabila anda menjalankan beberapa gelung. Namun, rangka kerja bukan syarat permulaan untuk gelung pertama.
Apakah harness pangkalan kod?
Harness pangkalan kod ialah set perkara yang membolehkan ejen bekerja dalam repositori tanpa kehadiran manusia: persediaan dengan satu arahan, ujian yang berjalan secara bukan interaktif dan gagal dengan jelas, linter, serta cara untuk melancarkan atau mempratonton perubahan. Istilah ini muncul dalam gelombang repositori yang sama pada 2026 seperti kejuruteraan gelung. Ujian praktikalnya mudah: jika penyumbang manusia baharu tidak dapat beralih daripada clone kepada ujian yang berjaya dengan satu arahan, ejen juga tidak dapat berbuat demikian.
Bagaimanakah saya menghentikan gelung ejen daripada menghasilkan bil yang besar?
Hadkan gelung itu di tiga tempat. Tetapkan TimeoutStartSec pada unit systemd supaya pelaksanaan yang tersekat dihentikan. Hadkan percubaan semula dalam skrip, bukannya menggelung sehingga berjaya. Tetapkan had perbelanjaan yang tegas pada akaun API, kerana itu satu-satunya had yang tidak boleh dipujuk oleh ejen untuk dilangkaui. Kemudian log kos bagi setiap pelaksanaan, kerana gelung yang kosnya berganda biasanya ialah gelung yang skopnya berkembang secara senyap.
Kerja manakah yang wajar dijadikan gelung terlebih dahulu?
Pilih kerja yang mempunyai syarat lulus dalam format yang boleh dibaca mesin dan kesan kegagalan yang kecil. Membetulkan binaan yang gagal, mengemas kini kebergantungan dan menjana semula changelog semuanya sesuai, kerana suite ujian atau diff dapat membuktikan hasilnya. Kerja terbuka seperti pemfaktoran semula atau reka bentuk belum sesuai, kerana tiada perkara untuk diperiksa oleh pengawal. Gelung tanpa pengawal ialah cara yang mahal untuk menghasilkan hutang semakan.