Агент ережелері
MCP-эндпоинтті қосу — істің жартысы ғана. Екінші жартысы — агенттің сіздің «алдымен Notarium-ге кір» дегеніңізден кейін емес, өз бетімен білім қорынан бастауы. Бұл бет — соны бір рет бекітіп қою туралы.
Неге бір қосудың өзі жеткіліксіз
Қай құралды шақыруды модель шешеді. Сервер жағында Notarium қолдан келгеннің бәрін істейді: инициализация кезінде instructions береді («алдымен start_session шақыр»), ал құралдың өз сипаттамасы оның идемпотентті екенін және қайта шақыруға қауіпсіз екенін тіке айтады. Бұл ықтималдықты айтарлықтай арттырады, бірақ кепілдік емес — хаттаманың құрылысы бойынша бола да алмайды.
Кепілдік сіздің жағыңызда — агенттің тұрақты нұсқаулығында. Практикалық әсері қарапайым: не агент сессияны жобаның контекстінен бастайды, не сіз оны әр жолы қолмен еске саласыз, сонда өзара әрекеттесу нативті болудан қалады.
start_session-ды өткізіп жіберу жұмысты бұзбайды: қалған құралдар өзіне-өзі жеткілікті, ал қатынау шекараларын агенттің тәртібі емес, токен ұстап тұр. Айырмашылық тек контексте: агент сіздің профиліңізді, өзгерістер дельтасын және қабылданған санаттар сөздігін көрмейді, демек дубль жасау немесе заттарды өзінше атау ықтималдығы артады.
Мұны қайда жазу керек
Агенттік клиенттердің барлығында дерлік әр сессияға қосылып отыратын тұрақты нұсқаулық файлы бар:
| Клиент | Әдетте қай жерде жатады |
|---|---|
| Claude Code | репозиторий түбіріндегі CLAUDE.md (және глобалдысы — үй каталогында) |
| Codex | репозиторий түбіріндегі AGENTS.md |
| Cursor | .cursor/rules ішіндегі жоба ережелері |
| Өз агентіңіз немесе API-интеграция | жүйелік промпт |
Форматты да, нақты жолдарды да клиент белгілейді әрі оларды бізден тәуелсіз өзгертеді — оның құжаттамасымен салыстырыңыз. Notarium файлдан ештеңе талап етпейді: бұл — агентіңіз оқитын кәдімгі мәтін.
Минималды блок
Үш ереже негізгі сценарийді жабады: контекстен бастау, дубль көбейтпеу, білімді тиесілі орнына салу:
## Notarium — жобаның білім қоры
- Жаңа сессияның басында `notarium` MCP-серверінде
`start_session(project: "acme/website")` шақыр — профиль, қолжетімді
жобалар, осы жобаның индексі, өткен визиттен бергі өзгерістер дельтасы
және санаттар сөздігі.
- **Жазар алдында ізде:** `search("<тақырып>", project: "acme/website")` —
іздеу сенің өз жадыңды да қамтиды, сондықтан дубльдер ұсталады.
- Жоба туралы тұрақты фактілерді `remember_about_project` арқылы,
иесі туралы — `remember_about_user`, ортақ көрінетін білімді —
`create_note` арқылы жаз.
Жоба хэндлін өзіңіздікіне ауыстырыңыз. Әдетте ол кеңістік/жоба түрінде болады, ал кеңістіктің түбірлік жобасында бір ғана сегментке жиырылады — жай ғана кеңістік. Оны өзіңіз үлгі бойынша шығармаңыз: дайын тізімді get_my_projects береді, хэндлді сол жерден сөзбе-сөз алыңыз. Ережелер файлында нақты мәнді бекітіп қойған дұрыс — сонда агент оны әр жолы іздемейді.
start_session дәл осыған жасалған: бір сұраныста ол әйтпесе бірнеше барлау шақыруы мен артық контекст талап ететін нәрсені береді. Ол идемпотентті — контекст сығылғаннан кейін қайта шақыру қауіпсіз, жанама әсері жоқ. Қайталанбайтын жалғыз нәрсе — өзгерістер дельтасы: бірінші шақыру әдепкіде «соңғы визит» бетбелгісін жылжытады, сондықтан екіншісі оны бос қайтарады. Бетбелгіні жылжытпай дельтаға көз жүгірткіңіз келсе — acknowledge: false қосып шақырыңыз.
Кеңейтілген блок: канон картасы
Егер жобада белгілі бір рөл не тапсырма үшін оқылуға тиіс жазбалар болса, агентті оларды әр сессияда қайта іздетпеңіз — карта беріңіз. Нүктелі жүктеу «бүкіл жобаны оқы» дегеннен арзан:
## Notarium
- Бірінші шақыру — `start_session(project: "acme/website")`.
- Әрі қарай жобаны түгел оқымай, нүктелі түрде жүктел:
- әзірлеу конвенциялары — `get_note("<id>")`;
- ревью чек-листі — `get_note("<id>")`;
- тақырып төңірегіндегі контекст — `recall("<тақырып>", project: "acme/website")`.
- Кез келген жазудың алдында — `search("<тақырып>", project: "acme/website")`.
- Тапсырма бойынша жұмыс журналы мен шешімдерді репозиторий
файлдарында емес, Notarium-де жүргіз.
Жазба идентификаторлары тұрақты: олар атын өзгертуден де, жылжытудан да аман шығады, сондықтан қорды қайта ұйымдастырғаннан карта ескірмейді. [[тақырып бойынша]] сілтемені де атын өзгерту бұзбайды — ескі тақырып алиастар тарихына кетеді.
Ережелердің екі қабаты
Нұсқаулықтарды өмір сүру мерзімі бойынша бөліңіз — сонда оларды әр репозиторийде қайталаудың қажеті болмайды:
- Глобалдық қабат (ортақ ережелер файлы немесе жүйелік промпт) — әрқашан дұрыс болатыны: алдымен
start_sessionшақыру, жазар алдында іздеу, ие туралы фактілерді қайда жазу. Жоба хэндлі мұнда болмайды. - Жобалық қабат (репозиторийдегі файл) — нақты жобаның хэндлі, канон картасы, жергілікті келісімдер.
Сонда жаңа репозиторийді қорға қосу — бір хэндлі бар бірнеше жол ғана, ал ортақ ережелер бір жерде жатады.
Ережелерде не болмауға тиіс
Ережелер файлы — шекара емес, кеңес. Агенттің не істей алатынын токеннің құқықтары мен құралдар жиынтығы белгілейді: read-токен жазатын құралдарды физикалық түрде көрмейді, бөтен кеңістік принципті түрде қолжетімсіз. Токен ауқымы керек жерде агентті мәтінмен шектеуге тырыспаңыз — Қауіпсіздік және көріну бөлімін қараңыз.
Онда болмауға тиіс тағы екі нәрсе:
- Токендер. Ережелер файлы әдетте git-те жатады. Дербес токен нұсқаулықта емес, MCP-клиенттің конфигурациясында беріледі.
- Құралдар анықтамалығын қайталап жазу. Атаулар мен сипаттамаларды агент
tools/list-те онсыз да көреді, олар статикалық әрі әрқашан өзекті. Ережелер файлындағы көшірме шындықтан тез алшақтайды — құжаттаманың көшірмесін емес, ниеттер мен келісімдерді жазыңыз.
Бұл контексті курациялаумен қалай ұштасады
Бір істің екі жартысы, әрі олар бірін-бірі алмастырмайды:
- Ережелер файлы
start_sessionшақыруының болуына жауап береді. - Agents → Context бөлімі сол шақыру нақты нені әкелетініне жауап береді: always-load бекітулері, контекст жиынтықтары және шулы жад санаттарын үнсіздендіру — бәрі ортақ токен-бюджет аясында.
Сондықтан агент контекстен старт алса да, ол қажет контекст болмаса, ережелер файлын емес, контекст жиынтықтары мен бекітулерді түзетіңіз.
Әрі қарай
- Агентті қосу — токен, OAuth-коннектор, транспорт.
- Контекст жиынтықтары мен бекітулер —
start_session-ге не түседі. - Ниет құралдары — толық жиынтық және шақырулар тәртібі.
- Агент жады —
remember_*пенcreate_noteайырмашылығы.