---
title: "Агент ережелері"
description: "Notarium-ді агент ережелерінің файлында (CLAUDE.md, AGENTS.md, Cursor rules) қалай бекіту керек — әр сессия start_session-нан басталатындай."
---

# Агент ережелері

MCP-эндпоинтті қосу — істің жартысы ғана. Екінші жартысы — агенттің сіздің «алдымен Notarium-ге кір» дегеніңізден кейін емес, **өз бетімен** білім қорынан бастауы. Бұл бет — соны бір рет бекітіп қою туралы.

## Неге бір қосудың өзі жеткіліксіз

Қай құралды шақыруды модель шешеді. Сервер жағында Notarium қолдан келгеннің бәрін істейді: инициализация кезінде `instructions` береді («алдымен `start_session` шақыр»), ал құралдың өз сипаттамасы оның идемпотентті екенін және қайта шақыруға қауіпсіз екенін тіке айтады. Бұл ықтималдықты айтарлықтай арттырады, бірақ **кепілдік емес** — хаттаманың құрылысы бойынша бола да алмайды.

Кепілдік сіздің жағыңызда — агенттің тұрақты нұсқаулығында. Практикалық әсері қарапайым: не агент сессияны жобаның контекстінен бастайды, не сіз оны әр жолы қолмен еске саласыз, сонда өзара әрекеттесу нативті болудан қалады.

> [!note] Шақырмаса — ештеңе бұзылмайды
> `start_session`-ды өткізіп жіберу жұмысты бұзбайды: қалған құралдар өзіне-өзі жеткілікті, ал қатынау шекараларын агенттің тәртібі емес, токен ұстап тұр. Айырмашылық тек контексте: агент сіздің профиліңізді, өзгерістер дельтасын және қабылданған санаттар сөздігін көрмейді, демек дубль жасау немесе заттарды өзінше атау ықтималдығы артады.

## Мұны қайда жазу керек

Агенттік клиенттердің барлығында дерлік әр сессияға қосылып отыратын тұрақты нұсқаулық файлы бар:

| Клиент | Әдетте қай жерде жатады |
|---|---|
| Claude Code | репозиторий түбіріндегі `CLAUDE.md` (және глобалдысы — үй каталогында) |
| Codex | репозиторий түбіріндегі `AGENTS.md` |
| Cursor | `.cursor/rules` ішіндегі жоба ережелері |
| Өз агентіңіз немесе API-интеграция | жүйелік промпт |

Форматты да, нақты жолдарды да клиент белгілейді әрі оларды бізден тәуелсіз өзгертеді — оның құжаттамасымен салыстырыңыз. Notarium файлдан ештеңе талап етпейді: бұл — агентіңіз оқитын кәдімгі мәтін.

## Минималды блок

Үш ереже негізгі сценарийді жабады: контекстен бастау, дубль көбейтпеу, білімді тиесілі орнына салу:

```markdown
## Notarium — жобаның білім қоры

- Жаңа сессияның басында `notarium` MCP-серверінде
  `start_session(project: "acme/website")` шақыр — профиль, қолжетімді
  жобалар, осы жобаның индексі, өткен визиттен бергі өзгерістер дельтасы
  және санаттар сөздігі.
- **Жазар алдында ізде:** `search("<тақырып>", project: "acme/website")` —
  іздеу сенің өз жадыңды да қамтиды, сондықтан дубльдер ұсталады.
- Жоба туралы тұрақты фактілерді `remember_about_project` арқылы,
  иесі туралы — `remember_about_user`, ортақ көрінетін білімді —
  `create_note` арқылы жаз.
```

Жоба хэндлін өзіңіздікіне ауыстырыңыз. Әдетте ол `кеңістік/жоба` түрінде болады, ал кеңістіктің түбірлік жобасында бір ғана сегментке жиырылады — жай ғана `кеңістік`. Оны өзіңіз үлгі бойынша шығармаңыз: дайын тізімді `get_my_projects` береді, хэндлді сол жерден сөзбе-сөз алыңыз. Ережелер файлында нақты мәнді бекітіп қойған дұрыс — сонда агент оны әр жолы іздемейді.

> [!tip] Бес шақырудың орнына біреу
> `start_session` дәл осыған жасалған: бір сұраныста ол әйтпесе бірнеше барлау шақыруы мен артық контекст талап ететін нәрсені береді. Ол идемпотентті — контекст сығылғаннан кейін қайта шақыру қауіпсіз, жанама әсері жоқ. Қайталанбайтын жалғыз нәрсе — өзгерістер дельтасы: бірінші шақыру әдепкіде «соңғы визит» бетбелгісін жылжытады, сондықтан екіншісі оны бос қайтарады. Бетбелгіні жылжытпай дельтаға көз жүгірткіңіз келсе — `acknowledge: false` қосып шақырыңыз.

## Кеңейтілген блок: канон картасы

Егер жобада белгілі бір рөл не тапсырма үшін оқылуға тиіс жазбалар болса, агентті оларды әр сессияда қайта іздетпеңіз — карта беріңіз. Нүктелі жүктеу «бүкіл жобаны оқы» дегеннен арзан:

```markdown
## Notarium

- Бірінші шақыру — `start_session(project: "acme/website")`.
- Әрі қарай жобаны түгел оқымай, нүктелі түрде жүктел:
  - әзірлеу конвенциялары — `get_note("<id>")`;
  - ревью чек-листі — `get_note("<id>")`;
  - тақырып төңірегіндегі контекст — `recall("<тақырып>", project: "acme/website")`.
- Кез келген жазудың алдында — `search("<тақырып>", project: "acme/website")`.
- Тапсырма бойынша жұмыс журналы мен шешімдерді репозиторий
  файлдарында емес, Notarium-де жүргіз.
```

Жазба идентификаторлары тұрақты: олар атын өзгертуден де, жылжытудан да аман шығады, сондықтан қорды қайта ұйымдастырғаннан карта ескірмейді. `[[тақырып бойынша]]` сілтемені де атын өзгерту бұзбайды — ескі тақырып алиастар тарихына кетеді.

## Ережелердің екі қабаты

Нұсқаулықтарды өмір сүру мерзімі бойынша бөліңіз — сонда оларды әр репозиторийде қайталаудың қажеті болмайды:

- **Глобалдық қабат** (ортақ ережелер файлы немесе жүйелік промпт) — әрқашан дұрыс болатыны: алдымен `start_session` шақыру, жазар алдында іздеу, ие туралы фактілерді қайда жазу. Жоба хэндлі мұнда болмайды.
- **Жобалық қабат** (репозиторийдегі файл) — нақты жобаның хэндлі, канон картасы, жергілікті келісімдер.

Сонда жаңа репозиторийді қорға қосу — бір хэндлі бар бірнеше жол ғана, ал ортақ ережелер бір жерде жатады.

## Ережелерде не болмауға тиіс

> [!warning] Агент ережелері — қауіпсіздік тетігі емес
> Ережелер файлы — шекара емес, кеңес. Агенттің не істей **алатынын** токеннің құқықтары мен құралдар жиынтығы белгілейді: read-токен жазатын құралдарды физикалық түрде көрмейді, бөтен кеңістік принципті түрде қолжетімсіз. Токен ауқымы керек жерде агентті мәтінмен шектеуге тырыспаңыз — [Қауіпсіздік және көріну](/docs/agents/security/) бөлімін қараңыз.

Онда болмауға тиіс тағы екі нәрсе:

- **Токендер.** Ережелер файлы әдетте git-те жатады. Дербес токен нұсқаулықта емес, MCP-клиенттің конфигурациясында беріледі.
- **Құралдар анықтамалығын қайталап жазу.** Атаулар мен сипаттамаларды агент `tools/list`-те онсыз да көреді, олар статикалық әрі әрқашан өзекті. Ережелер файлындағы көшірме шындықтан тез алшақтайды — құжаттаманың көшірмесін емес, ниеттер мен келісімдерді жазыңыз.

## Бұл контексті курациялаумен қалай ұштасады

Бір істің екі жартысы, әрі олар бірін-бірі алмастырмайды:

- **Ережелер файлы** `start_session` шақыруының **болуына** жауап береді.
- **Agents → Context бөлімі** сол шақыру **нақты нені** әкелетініне жауап береді: always-load бекітулері, контекст жиынтықтары және шулы жад санаттарын үнсіздендіру — бәрі ортақ токен-бюджет аясында.

Сондықтан агент контекстен старт алса да, ол қажет контекст болмаса, ережелер файлын емес, [контекст жиынтықтары мен бекітулерді](/docs/agents/context-pins/) түзетіңіз.

## Әрі қарай

- [Агентті қосу](/docs/agents/connect/) — токен, OAuth-коннектор, транспорт.
- [Контекст жиынтықтары мен бекітулер](/docs/agents/context-pins/) — `start_session`-ге не түседі.
- [Ниет құралдары](/docs/agents/intent-tools/) — толық жиынтық және шақырулар тәртібі.
- [Агент жады](/docs/agents/memory/) — `remember_*` пен `create_note` айырмашылығы.
