Context window ng LLM agent: ano ang pumapasok dito at bakit nakakalimutan ng agent ang mga panuntunan
Ang context window ng LLM ay ang buong teksto na nakikita ng modelo sa bawat sagot: system prompt, mga file ng tagubilin, kasaysayan ng usapan, mga nabasang file, at output ng mga tool. May matigas na limitasyon ito sa token, pero bumababa ang kalidad ng atensyon nang matagal bago maabot ang limitasyong iyon, kaya nakakalimutan ng agent ang mga panuntunan sa mahabang session; nakakatulong ang maiikling tagubilin, compaction, bagong session na may file ng plano, at paglipat ng maingay na gawain sa mga subagent.
Ano ang context window ng LLM
Ang context window ng LLM ay ang buong teksto na natatanggap ng modelo bilang input sa bawat pagbuo ng sagot. Walang memorya ang modelo sa karaniwang kahulugan ng tao: ang lahat ng "alam" niya tungkol sa inyong gawain sa sandaling ito ay nasa window na ito. Ang wala sa window, para sa modelo ay hindi umiiral.
Sinusukat ang laki ng window sa token, mga piraso ng salita. Mas mahaba sa token ang karaniwang teksto sa Tagalog kaysa sa Ingles, kaya madalas na mas mahal sa token ang parehong tagubilin kapag isinulat sa Tagalog. Ang mga kasalukuyang modelo ay may window na daan-daang libong token, kaya parang sapat na ang espasyo para sa lahat. Sa praktika, mas mabilis maubos ang espasyong ito kaysa inaasahan, at mas maaga pang bumababa ang kalidad ng gawa ng agent.
Ano ang pumapasok sa context window ng agent
Para sa programming agent, tatlo lang ang pinagmumulan ng impormasyon: ang system prompt na naglalarawan ng gawain, ang nilalaman ng mga file na nabasa niya, at ang output ng mga tool na tinawag niya. Nasa iisang window ang lahat ng tatlo at nag-aagawan sila ng espasyo.
| Ano | Kailan pumapasok | Karaniwang laki |
|---|---|---|
| System prompt ng agent at deskripsyon ng mga tool | sa simula ng bawat session | Nakapirming bayad, halos hindi nakadepende sa inyo |
| CLAUDE.md, AGENTS.md, at iba pang file ng tagubilin | sa simula ng session, buo | Mula ilang daang hanggang sampung libong token — nakadepende sa inyo |
| Inyong mga mensahe at sagot ng agent | naiipon sa buong usapan | Lumalaki sa bawat palitan |
| Mga nabasang file | kapag binuksan ito ng agent | Malaking file — libo-libong token sa isang tingin |
| Output ng mga command: test, log, build, grep | pagkatapos ng bawat tawag | Madalas ang pinakamalaki at pinakawalang-silbing bahagi |
Ang mahalaga: wala sa mga ito ang kusang nawawala. Ang log ng mga pumalyang test na kailangan dalawampung hakbang na ang nakalipas ay nasa window pa rin at umaagaw ng atensyon sa kasalukuyang hakbang. Ang mahabang session ay isang tambak na patuloy na lumalaki, kung saan lalong mahirap hanapin ang karayom.
Bakit nakakalimutan ng agent ang mga panuntunan sa mahabang session
Karaniwang reklamo: sa simula ng session, maingat na sinusunod ng agent ang mga panuntunan sa CLAUDE.md, pero makalipas ang isang oras ay nagsisimula na niya itong labagin. Hindi niya ito "nakalimutan" sa literal na kahulugan: nasa window pa rin ang teksto ng mga panuntunan. Ang problema ay kung paano hinahati ng modelo ang atensyon sa mahabang teksto.
Lost in the middle
Ipinakita ng pag-aaral nina Liu at mga kasamahan noong 2023 na mas mahusay gamitin ng mga language model ang impormasyon sa simula at dulo ng mahabang context kaysa sa gitna. Nilo-load ang file ng tagubilin sa simula ng session, pero habang lumalawak ang usapan, mas maraming teksto ang naiipon sa itaas at ibaba nito. Ang panuntunang dating nasa harapan ay unti-unting napupunta sa bahaging pinakamahina ang "pagtingin" ng modelo.
Lumiliit ang bahagi ng mga panuntunan sa window
Sa bagong session, malaking bahagi ng context ang mga tagubilin. Pagkatapos ng sandaang tawag ng tool, nagiging maliit na piraso na lamang ito sa gitna ng mga log, diff, at nabasang code. Pareho ang senyales, pero sampung beses o higit pa ang ingay sa paligid.
Nangingibabaw ang mga bagong halimbawa sa lumang panuntunan
Malakas na nakasandal ang modelo sa kung ano ang nangyari kamakailan sa usapan. Kung ilang beses nang nilabag ng agent ang panuntunan at nakalusot ito, ang pattern na iyon sa kasaysayan ay mas bibigat kaysa sa isang linya ng tagubilin na nasa simula pa.
Context rot: pagkasira ng kalidad bago pa maabot ang limitasyon
Ang context rot ("pagkabulok ng context") ang tawag sa epektong bumababa ang kalidad ng sagot ng modelo habang napupuno ang window, kahit malayo pa sa teknikal na limitasyon. Pormal na tumatanggap ang modelo ng 200 libong token, pero sa 150 libo ay mas mahina ito kaysa sa 20 libo: mas madalas na nagkakamali sa detalye, inuulit ang mga desisyong tinanggihan na, at nawawala ang mga tagubilin.
Mga palatandaan na "nabulok" na ang session:
- iminumungkahi ng agent ang paraang tinanggihan na ninyo nang magkasama kalahating oras na ang nakalipas;
- napagkakamalian ang mga pangalan ng file at function na napag-usapan na;
- hindi na pinapatakbo ang mga pagsusuri na siya mismo ang nagpapatakbo sa simula;
- nagiging mas mahaba at malabo ang mga sagot, at lumilitaw ang mga dagdag na "ayos ko na rin ang ito."
Walang saysay na lunasan ito sa pagdaragdag ng isa pang panuntunan: mawawala rin ang bagong panuntunan sa parehong ingay. Ang kailangan ay bawasan ang ingay.
Compaction ng context
Ang compaction ay pagpapaikli ng kasaysayan ng session: isinusulat ng modelo ang maikling buod ng nangyari, at magpapatuloy ang usapan gamit ang buod na iyon sa halip na buong kasaysayan. Lumalaya ang window, at tila napapanatili naman ang diwa ng trabaho.
Sa Claude Code, may command na /compact kung saan maaari kayong magbigay ng hint kung ano ang dapat bigyang-diin sa pagpapaikli. Kapag malapit nang umabot sa limitasyon ang window, awtomatikong nagsasagawa rin ng compaction ang Claude Code. Binubura ng /clear ang buong kasaysayan at nagsisimula sa malinis na pahina, at ipinapakita ng /context kung ano ang sumasakop sa window.
/context
/compact i-save: layunin ng gawain, mga desisyon at dahilan, listahan ng nabagong file, ano pa ang dapat suriin
/clear
Ano ang panganib ng compaction
Laging nawawala ang detalye sa pagbubuod. Maaaring hindi maisama sa buod ang tinanggihang opsyon at ang dahilan ng pagtanggi, ang eksaktong pagkakasabi ng kinakailangan, o ang nuance na napagkasunduan ninyo nang pabiro lang. Pagkatapos ng compaction, nagtatrabaho ang agent batay sa buod ng sarili niyang session na isinulat ng iba. Kaya ang mahahalagang bagay ay mas mainam itago hindi sa kasaysayan ng usapan kundi sa mga file na mabubuhay sa anumang compaction.
Compaction o bagong session
| Sitwasyon | Ano ang gagawin |
|---|---|
| Halos tapos na ang gawain, kailangan lang ng kaunting espasyo | Compaction na may hint kung ano ang isasave |
| Natapos ang isang gawain at nagsisimula ng iba | Bagong session; ang lumang kasaysayan ay pabigat lang |
| Nabulok na ang session at umiikot ang agent | Isulat ang estado sa file ng plano at magsimula ng bagong session |
| Kailangan ng mahabang pagsisiyasat sa code o log | Ipasa ang pagsisiyasat sa subagent |
Paano makatipid ng context window
Ang pagtitipid ng context ay hindi tungkol sa presyo ng token, kundi sa kalidad ng trabaho. Kung mas kaunti ang ingay sa window, mas maraming atensyon ang nakukuha ng gawain at ng mga panuntunan.
1. Maikling file ng tagubilin bilang router
Binabasa nang buo ang CLAUDE.md o AGENTS.md sa bawat session. Ang file na 600 linya ay humigit-kumulang 10 hanggang 20 libong token na palaging bayad. Ilagay dito ang mga command sa pagsusuri, ang mahigpit na limitasyon, at ang mapa ng proyekto, at ang mga detalye ayon sa paksa ay ilagay sa hiwalay na dokumento na bubuksan lamang ng agent kung kinakailangan.
2. Kaalamang kinukuha ayon sa pangangailangan
Sa Claude Code skills, unang pumapasok sa context ang maikling paglalarawan lamang, at ang buong teksto ng tagubilin ay kinukuha kapag kailangan ito ng gawain. Maginhawang paraan ito para mapanatiling nasa kamay ang bihirang proseso, gaya ng deploy, migration, at release, nang hindi nagbabayad para sa mga ito sa bawat session.
3. Mga subagent para sa maingay na gawain
Gumagana ang subagent sa sarili nitong context window at ibinabalik sa pangunahing session ang resulta lamang. Ang paghahanap sa malaking code, pagbasa ng mahabang log, at pag-aaral ng hindi pamilyar na module ay maaaring ipasa sa subagent, at ang kapalit ay ilang talata ng konklusyon sa halip na libo-libong linya ng hilaw na output.
4. Tahimik na output ng mga tool
Ang output ng mga command ang pinakamalaking kumakain ng window. I-configure ang mga command sa pagsusuri para kapag nagtagumpay ay isang linya lang ang ilabas, at kapag pumalya ay ang esensya lamang: ang pumalyang test at ang mensahe nito, hindi ang buong log ng build.
# maingay: libo-libong linya sa window sa bawat takbo
pytest -v
# tahimik: kapag tagumpay, isang linya; kapag pumalya, ang mga pumalyang test lang
pytest -q --tb=short
# log — hindi buo, kundi ang dulo at mga error lamang
tail -n 50 app.log | grep -i error
5. Isang gawain, isang session
Huwag hilahin ang isang session sa tatlong magkakaibang gawain. Walang silbi ang kasaysayan ng unang gawain sa pangatlo, pero umuukupa ito ng espasyo at nalilito ang agent. Natapos na ang isa, itala ang resulta, at magbukas ng bagong session.
6. Estado sa mga file, hindi sa kasaysayan
Ang lahat ng dapat mabuhay sa compaction at sa bagong session ay isulat sa repositoryo: layunin, mga desisyon at dahilan, mga tinanggihan, ano ang nagawa at paano ito nasuri, at ang susunod na hakbang. Halimbawa, sa PLAN.md at PROGRESS.md. Sa ganitong paraan, hindi nagsisimula ang bagong session sa pagbabalik-tanaw kundi sa eksaktong dokumento, at maaari na ninyong ligtas na linisin ang kasaysayan.
# PROGRESS.md
## Layunin
Ilipat ang kalkulasyon ng diskwento sa buong sentimo
## Nagawa (nasuri)
- app/payments/discount.py: float → int, berde ang make test
- Idinagdag ang migration 041, nailapat nang lokal
## Mga desisyon
- Pag-round — banker's rounding, gaya ng payment provider
## Tinanggihan
- Decimal sa model: sinisira ang serialization ng webhook
## Susunod na hakbang
I-update ang e2e scenario ng checkout at patakbuhin ang make e2e
Mga kritikal na panuntunan — hindi lang nasa window
Kahit perpektong nakaayos ang context, hindi nito ginagarantiya na susundin ang mga panuntunan: ang teksto sa window ay impluwensya sa modelo, hindi isang executable na pagbabawal. Kapag hindi katanggap-tanggap ang paglabag, dapat itong suriin nang mekanikal. Sa Claude Code, para dito ang hooks — mga command na tumatakbo sa mga event ng agent at maaaring humarang ng aksyon — at ang mga setting ng karapatan na nagbabawal sa ilang tool o command. Ang mga linter, test, at CI ay gumagana nang hiwalay sa kung ano ang nangyayari sa window ng agent.
Mabuting panuntunan ng harness: ang lahat ng kayang suriin nang awtomatiko ay sinusuri nang awtomatiko, at sa context ay nananatili lamang ang mga bagay na nangangailangan ng paghuhusga.
Buod
Ang context window ng LLM ang tanging lugar kung saan nakikita ng agent ang inyong gawain, at mas mabilis itong mapuno kaysa inaasahan: naiipon ang mga tagubilin, kasaysayan, nabasang file, at output ng command hanggang matapos ang session. Bumababa ang kalidad nang matagal bago ang teknikal na limitasyon, nawawala ang mga panuntunan sa gitna ng mahabang context, at nakakatipid ng espasyo ang compaction kapalit ng detalye. Panatilihing maikli ang mga tagubilin, kunin ang bihirang kaalaman ayon sa pangangailangan, ipasa ang maiingay na gawain sa subagent, itago ang estado sa mga file, at suportahan ng hooks at pagsusuri ang mga kritikal na panuntunan. Tinatalakay nang praktikal ang pamamahala ng context ng agent sa kursong harness engineering.
Mga madalas itanong
Ilang token ang context window ng Claude?
Nakadepende sa modelo at plano; karaniwang gabay ang humigit-kumulang 200 libong token, at may ilang modelo at configuration na mas malaki. Tingnan ang eksaktong halaga sa dokumentasyon ng Anthropic para sa partikular na modelo.
Nalulutas ba ng modelong may mas malaking window ang problema ng nakalimutang panuntunan?
Bahagya lamang: mas maluwag, pero nananatili ang epekto ng lost in the middle at context rot. Hindi pinapalitan ng malaking window ang maiikling tagubilin at malinis na session.
Kailangan bang ulitin ang mahalagang panuntunan sa mensahe kapag nilalabag ito ng agent?
Nakakatulong ang isahang paalala, dahil nakikita ng modelo nang mas mabuti ang bagong teksto sa dulo ng context. Pero kung palagi na itong kailangang paalalahanan, mas mabuting i-lock ito sa pamamagitan ng pagsusuri o hook.
Paano malalaman kung ano ang sumasakop sa context window sa Claude Code?
Ipinapakita ng command na /context kung gaano kalaki ang nasasakop ng system prompt, mga tool, file ng memorya, at kasaysayan ng mensahe. Mabilis itong paraan para makita kung ang malaking CLAUDE.md o mahabang kasaysayan ang kumakain ng window.
Ano ang unang nawawala sa compaction?
Mga kasunduang umiral lamang sa usapan: mga tinanggihang opsyon, mga paglilinaw sa kinakailangan, at maliliit na nuance. Ang lahat ng nakasulat sa file ng repositoryo ay mababasa ulit ng agent.
Detalyadong tinatalakay ang paksang ito, may praktis, sa kursong “Harness Engineering: инженерия надёжности AI-агентов”.
- Карта репозитория для AI-агента: структура проекта и состояние без памяти между сессиями
- AGENTS.md: почему большой файл инструкций не работает и как устроить роутер
- Память AI-агента между сессиями: session handoff, PROGRESS.md и bootstrap-контракт