Даніла (Dayfing)
Назад да публікацый
1866 слоў8 хв

Agentic coding на практыцы: Codex, Claude Code і Copilot CLI з PR і тэстамі

Agentic coding — гэта не толькі просьба да мадэлі напісаць функцыю. Агент чытае рэпазіторый, выбірае інструменты, змяняе некалькі файлаў, запускае каманды і рыхтуе змену, якой павінны давяраць чалавек або CI-сістэма. Таму варта параўноўваць увесь цыкл кантролю: як інструмент запускаецца, даведваецца правілы рэпазіторыя, атрымлівае доступ, правярае паводзіны, паказвае diff і даходзіць да pull request.

У артыкуле параўноўваюцца тэрмінальныя сцэнары, апісаныя ў дакументацыі OpenAI Codex CLI, Anthropic Claude Code і GitHub Copilot CLI. Зрэз дакументацыі зроблены 28 жніўня 2026 года. Гэта не асабісты benchmark, не тэст хуткасці і не справаздача пра ручныя запускі. Прыклады каманд узяты з дакументацыі прадуктаў і патрабуюць адаптацыі да скрыптоў і палітык канкрэтнага рэпазіторыя. «Праверана» азначае, што магчымасць апісана пастаўшчыком. «Практычная выснова» — рэкамендацыя, выведзеная з гэтых дакументаваных абмежаванняў.

Адна задача і тры плоскасці кіравання

Возьмем абмежаваную задачу: «Дадай праверку пратэрмінаванай сесіі, абнаві модульныя тэсты, запусці патрэбныя праверкі, пакажы diff і падрыхтуй pull request, не адпраўляючы змены ў галіну па змаўчанні». У задачы ёсць выразныя межы, назіраемая тэставая каманда і артэфакт для review. Яна таксама паказвае, дзе кожны прадукт чакае рашэння чалавека.

Плоскасць Codex CLI Claude Code GitHub Copilot CLI
Лакальны запуск codex або codex exec claude copilot або copilot -p
Інструкцыі рэпазіторыя Іерархія AGENTS.md CLAUDE.md, імпартуе AGENTS.md Інструкцыі Copilot, правілы шляхоў, AGENTS.md
Мадэль дазволаў Sandbox і approval policy Правілы allow, ask, deny і рэжымы Вобласці tool, path, URL і sandbox
Цыкл тэстаў Каманда рэпазіторыя Знайсці, напісаць, запусціць, выправіць Каманды агента або hook пасля змен
Review /review, без змены дрэва Git review і Actions /review і review-агент
Pull request Review Action, Git для лакальнага PR Git PR і @claude у Actions /pr, выпраўленне CI і cloud delegation
Неінтэрактыўная праца codex exec з sandbox-флагамі claude -p і Actions -p, autopilot, Actions

Гэта карта магчымасцяў, а не табліца пераможцаў. Адпаведнасць залежыць ад месца размяшчэння рэпазіторыя, даступных уліковых даных і патрэбнага ўзроўню пацверджання.

Усталяванне і першы бяспечны запуск

Дакументацыя Codex апісвае ўсталяванне асобнага CLI, пераход у каталог праекта і ўваход падчас першага запуску. Пачніце ў Git-рэпазіторыі, папрасіце кароткае апісанне і праверце дазволы камандамі /status і /permissions. Для аўтаматызацыі выкарыстоўвайце codex exec.

Claude Code дакументуе натыўнае ўсталяванне для macOS, Linux, WSL і Windows PowerShell, затым запуск claude у каталогу праекта і першую аўтэнтыфікацыю. Таксама апісаны каналы Homebrew і WinGet. Першы запуск трэба лічыць рашэннем пра давер, бо CLI пасля дазволу можа чытаць файлы, выконваць каманды і змяняць іх.

Copilot CLI усталёўваецца падтрымліваемым пакетным або платформенным спосабам, пасля чаго запускаецца камандай copilot. Першая сесія пытаецца, ці давяраеце вы бягучай папцы. GitHub папярэджвае, што CLI можа чытаць, змяняць і выконваць файлы ў ёй і ніжэй па дрэве. Выканайце /login і не захоўвайце папку як давераную, пакуль не зразумелыя яе скрыпты.

Для ўсіх трох інструментаў бяспечная паслядоўнасць аднолькавая: асобная галіна або worktree, зафіксаваны пачатковы вынік тэстаў, правераныя загружаныя інструкцыі, толькі патрэбныя каманды і абароненая галіна па змаўчанні. Гэта рэкамендацыя працэсу, а не гарантыя аўтаматычнага enforcement прадуктам.

Інструкцыі рэпазіторыя — частка інтэрфейсу

Codex чытае AGENTS.md перад працай. Задокументаваны ланцужок змяшчае глабальны файл і па адным файле ў кожным каталогу ад кораня праекта да бягучага каталога. У сваім каталогу AGENTS.override.md мае прыярытэт, а больш канкрэтныя файлы ідуць пасля агульных правіл. Каманды тэстаў і бяспекі зручна захоўваць у корані, а правілы сэрвісу — у яго падкаталогу.

Claude Code чытае CLAUDE.md і CLAUDE.local.md у іерархіі каталогаў. Ён не чытае AGENTS.md непасрэдна, але CLAUDE.md можа імпартаваць яго запісам @AGENTS.md. Агульныя правілы build, тэстаў і архітэктуры захоўвайце ў CLAUDE.md, асабістыя перавагі — у ігнараваным лакальным файле, а правілы шляхоў — у .claude/rules/.

Copilot CLI падтрымлівае .github/copilot-instructions.md, path-specific файлы .instructions.md і AGENTS.md. Каманда copilot init дапамагае стварыць пачатковыя правілы. Гэтыя файлы фарміруюць prompt, але не зʼяўляюцца мяжой дазволаў. Фразу «не чапаць production credentials» трэба падмацаваць забароненымі шляхамі, кантролем асяроддзя і палітыкай CI.

Пакіньце кароткі агульны AGENTS.md, дадайце імпарт для Claude і асобныя правілы Copilot. Пакажыце каманды package manager, мінімальны тэст, правілы generated files, забароненыя шляхі, палітыку міграцый і доказы, патрэбныя ў PR. Доўгі кантэкст расходуе бюджэт мадэлі.

Sandbox і approvals — розныя кантролі

Codex выразна раздзяляе гэтыя паняцці. Sandbox вызначае, да якіх файлаў і сеткавых рэсурсаў маюць доступ каманды, а approvals — калі Codex спыняецца перад дзеяннем. Для лакальнай рэалізацыі тыповы профіль — workspace-write з approval on-request. read-only падыходзіць для даследавання або CI-review без запісу. danger-full-access і псеўданім --yolo здымаюць мяжу бяспекі, таму прызначаныя толькі для ізаляванага асяроддзя.

Зрабіце кантракт лакальнай сесіі відавочным:

codex --sandbox workspace-write --ask-for-approval on-request

У CI codex exec паводле дакументацыі працуе толькі для чытання. Дадавайце --sandbox workspace-write, толькі калі job сапраўды мусіць стварыць patch. --ask-for-approval never выкарыстоўвайце толькі з кантраляванымі runner, checkout, спісам каманд і шляхам выніку. Не капіруйце састарэлы --full-auto у новыя скрыпты.

Claude Code выкарыстоўвае шматузроўневую сістэму дазволаў. Чытанне файлаў і ўбудаваныя read-only shell-каманды ў Manual-рэжыме не патрабуюць пацверджання. Рэдагаванне, агульны Bash, web fetch і пошук могуць патрабаваць approval. Правілы allow, ask і deny прымяняе кліент, а не мадэль. Існуюць рэжымы Manual, Plan, Auto і bypass для ізаляванага кантэйнера або віртуальнай машыны. Sandboxed Bash дадае ізаляцыю файлавай сістэмы і сеткі праз /sandbox.

Copilot CLI пытаецца перад інструментамі, якія змяняюць або выконваюць файлы, а read-only пошук і чытанне дазваляе аўтаматычна. Дазволы можна абмежаваць інструментамі, шляхамі і URL. Лакальны sandbox — асобны эксперыментальны кантроль, а GitHub таксама апісвае эфемерны cloud sandbox. Перад аўтаномным запускам праверце /sandbox policy і фактычныя дазволы.

Для ўсіх прадуктаў давайце магчымасці пластамі: чытанне рэпазіторыя, дакладныя formatter і test-каманды, затым запіс у галіну або worktree. Сетку, усталяванне пакетаў, credentials, push і deploy пацвярджайце асобна. Sandbox абмяжоўвае радыус дзеяння, але не правярае сэнс змены.

Інструменты, MCP і hooks аўтаматызацыі

Усе тры прадукты выкарыстоўваюць shell, файлавыя аперацыі і пошук у рэпазіторыі. Codex дакументуе skills, plugins, MCP і GitHub Action. Claude Code дакументуе MCP-серверы, skills, hooks і subagents. Copilot CLI дакументуе MCP, skills, plugins, custom agents, hooks і ўбудаваны GitHub MCP-сервер.

Разглядайце кожнае пашырэнне як код, які працуе ўнутры працэсу. Праверце яго крыніцу, абмяжуйце credentials і вырашыце, ці патрэбны сервер выканаўцу або асобнаму reviewer. MCP-сервер, які стварае тікеты або мерджыць PR, мае іншы рызыкавы профіль, чым read-only сервер дакументацыі. Само падключэнне не робіць яго бяспечным.

Hooks могуць фарматаваць файл пасля рэдагавання або запускаць хуткі тэст пасля завяршэння задачы. Рабіце іх дэтэрмінаванымі і кароткімі. Не хавайце deploy або разбуральную міграцыю ў hook, які агент не можа растлумачыць.

Тэсты — гэта цыкл доказаў

Добры prompt называе паводзіны, fixtures, каманды і ўмовы спынення. Папрасіце агента праверыць тэсты, дадаць сцэнар пратэрмінаванай сесіі, унесці мінімальнае выпраўленне, запусціць focused test і абавязковыя праверкі. У справаздачы павінны быць каманда і exit status. Калі focused test ужо праходзіць, папрасіце тлумачэнне, а не другую рэалізацыю.

Дакументацыя common workflows Claude Code непасрэдна апісвае пошук непакрытага кода, scaffolding, edge cases, запуск тэстаў і выпраўленне памылак. Codex і Copilot CLI таксама могуць запускаць каманды рэпазіторыя, калі дазволы і інструменты гэта дазваляюць. Згенераваныя тэсты не даказваюць поўнага пакрыцця. Чалавек правярае contract, fixtures, integration paths і security cases.

Па магчымасці выкарыстоўвайце тры ўзроўні: хуткі focused test, suite пакета або сэрвісу для інтэграцыйных эфектаў і абавязковыя PR checks як merge gate. Абмяжуйце колькасць спроб выпраўлення і захавайце першапачатковы вывад памылкі. Паўторны запуск flaky-каманды не стварае новых доказаў.

Diff, review і pull requests

Review пачынаецца да PR. Папрасіце спіс змененых файлаў, інварыянты, выкананыя тэсты і прабелы. Параўнайце з задачай, а потым самі прачытайце Git diff. Рэзюмэ агента — тлумачэнне, а не крыніца ісціны.

Codex дакументуе /review для незакомічаных змен, commit або параўнання галін. Reviewer паведамляе прыярытэтныя знаходкі, не змяняючы дрэва. У дакументацыі Codex GitHub Action ёсць workflow, які рэвʼюіць pull requests і публікуе вынік. Для лакальнага стварэння PR усё роўна патрэбныя звычайныя Git або GitHub-інструменты і іх дазволы.

Claude Code дакументуе staging, commits, branches і PR. Яго GitHub Actions падтрымліваюць @claude у issue або каментары PR, задачы issue-to-PR і review workflow. Трымайце token і дазволы рэпазіторыя вузкімі і захоўвайце стандартныя CI-gates.

Copilot CLI дакументуе /review, /pr create і /pr fix feedback, а таксама выпраўленне канфліктаў і CI. /delegate адпраўляе задачу cloud agent, які адкрывае draft PR і працягвае працу аддалена. Гэтыя каманды не гарантуюць, што PR гатовы да merge.

Для любога інструмента падзяляйце «падрыхтаваць» і «апублікаваць». Няхай агент створыць галіну, patch, тэсты і чарнавік апісання. Push, labels, approval і merge пакіньце чалавеку або абароненай identity. У PR пакажыце задачу, файлы, каманды, вынікі, рызыкі і непратэставаныя вобласці.

CI і паўтаральнасць

Неінтэрактыўны рэжым Codex прызначаны для pipelines. Ён аддзяляе фінальны вывад ад progress, выдае JSON Lines, запісвае апошняе паведамленне і прымае output schema. Workflow усё роўна павінен бяспечна апрацоўваць authentication, logs і failures.

Claude Code запускаецца з -p і ў GitHub Actions. Для недавераных PR выкарыстоўвайце read-only review job, а для дазволеных maintenance-задач — асобны job з правам запісу. Правілы trigger і token застаюцца часткай мяжы бяспекі.

Copilot CLI прапануе -p, фарматы вываду, autopilot і Actions. --max-autopilot-continues абмяжоўвае працяг. У Actions загадзя вызначце identity, якая аплачвае мадэль, і token, якому дазволены запіс. Адказ мадэлі не зʼяўляецца паспяховым CI, пакуль сапраўдны test job не завершыцца паспяхова.

Бяспека і межы выдаткаў

Prompt injection можа прыйсці з issue, fixture, README, generated file або вэб-старонкі. Не давайце шырокі доступ да сеткі ці production credentials толькі для чытання кода. Забараняйце шляхі сакрэтаў, не друкуйце environment variables, аддзяляйце ўсталяванне пакетаў ад тэстаў і правярайце MCP-серверы ды hooks як залежнасці ланцужка паставак.

Ліміты Codex і варыянты credit залежаць ад плана і памеру задачы. Claude Code адрознівае API-білінг і падпіску, паказвае /usage, а extended thinking і доўгі кантэкст могуць павялічваць спажыванне. Copilot CLI выкарыстоўвае GitHub AI Credits і дакументуе --max-ai-credits. Гэтыя сістэмы ўліку нельга непасрэдна параўноўваць.

Задайце бюджэт працэсу. Для mapping выкарыстоўвайце меншы effort, а для рызыкоўнага рашэння — мацнейшую мадэль. Абмяжуйце retries, паралельных агентаў, autopilot і час cloud runtime. Паміж незвязанымі задачамі ачышчайце або сціскайце сесію. Лічыце не толькі tokens, але і інжынерныя выдаткі ды час чалавечага review.

Рабочыя схемы паводле кантэксту

Для лакальнай змены пачніце любы з трох інструментаў у plan або read-only рэжыме. Няхай агент вывучыць рэпазіторый, працытуе важныя інструкцыі і прапануе файлы ды тэсты. Дазвольце мінімальны набор, запусціце focused і абавязковыя праверкі, потым прачытайце diff да каманды PR.

Камандзе, арыентаванай на GitHub і выпраўленне PR або CI з тэрмінала, дакументаваны цыкл /pr Copilot CLI дае прамы шлях. Для працы з каментарамі ёсць Actions Claude Code і review Action Codex. Для структураванага лакальнага вываду ў Codex exec апісаны JSONL і schemas. Гэта выснова пра адпаведнасць інтэрфейсаў, а не рэйтынг.

Для адчувальнага кода выбірайце рэжым, які арганізацыя можа прымусова кантраляваць. Read-only reviewer у закрытым runner можа быць бяспечнейшым за аўтаномную лакальную сесію. Размяшчайце палітыку ў CI і наладах пастаўшчыка, а не толькі ў prose. Глядзіце AGENTS.md і coding agents, ацэнку AI-агентаў і production AI-agent architecture.

Невялікі operating contract

Да запуску вызначце рэпазіторый, галіну, дазволеныя шляхі, test-каманду, сеткавыя патрэбы, мяжу выпраўленняў і ўладальніка PR. Патрабуйце бачных выклікаў інструментаў, абмежаваных approval і адрознення паміж фактамі рэпазіторыя і здагадкамі. У канцы запытайце diff, тэставыя доказы, рызыкі і сігнал usage. Гатоўнасць вызначаюць звычайныя reviewer і CI.

Выкарыстаная афіцыйная дакументацыя

Іншыя публікацыі