Az ügynökök hogyan lépnek kapcsolatba a GitHub API-kkal és munkafolyamatokkal.
Az AI-ügynökök megváltoztatják a fejlesztési munka elvégzését. Az adattárak manuális navigálása, a kód írása és a parancsok futtatása helyett az ügynökök közvetlenül a GitHub belül is képesek a feladatok elvégzésére az elejétől a végéig.
GitHub támogatja az ügynökalapú munkát több rétegen keresztül. Az ügynökök az GitHub API-k segítségével beolvashatják az adattár állapotát és műveleteket hajthatnak végre, GitHub Actions munkafolyamatokat az automatizálás szabályozott futókban való végrehajtásához, és GitHub ügynöki munkafolyamatokat a Markdown magasabb szintű adattárfeladatainak leírására, és azokat kódoló ügynökökkel futtathatják erős védőkorlátok mellett. Ahelyett, hogy megkerülik a GitHubot, az ügynökök ugyanazokon a rendszereken dolgoznak, mint a fejlesztők, például az ágakon, a pull requesteken, a problémák kezelésén és az automatizáláson.
Ebben a leckében a következőt fogja elsajátítani:
- Az ügynökök GitHub api-kon keresztüli interakciója
- Hogyan használják az ügynökök a munkafolyamatokat végrehajtási környezetként?
- Az adattár módosításainak létrehozása és kezelése
- Így néz ki egy teljes ügynökvégrehajtási folyamat a GitHub
Hogyan lépnek kölcsönhatásba az ágensek a GitHubbal
GitHub ügynökök, például Copilot felhőügynök, egy meghatározott adattárban és ágkörnyezetben működnek. Amikor feladatokat rendel hozzá, például egy problémán vagy kérdésen keresztül, az ügynök megkezdi a munkát az adattárban.
Az ügynökök:
- Az adattár kutatása és megértése
- A tevékenység elvégzéséhez szükséges módosítások tervezése
- Kódmódosítások végrehajtása új ágon
- Lekéréses kérelem megnyitása felülvizsgálatra
Az ügynökök ezeket a műveleteket GitHub platformfunkciók, például API-k és munkafolyamatok használatával hajtják végre.
Ezek a műveletek aktiválhatók adattáreseményekkel (például leküldéses vagy lekéréses kérelem), ütemezés szerint futtathatók, vagy olyan ügynöki munkafolyamatokkal vezényelhetők, amelyek folyamatosan automatizálják az adattárfeladatokat.
Műveletek végrehajtása GitHub API-k használatával
GitHub olyan API-kat biztosít, amelyek lehetővé teszik a rendszerek számára, hogy programozott módon kommunikáljanak az adattárakkal.
Az API-k olyan műveleteket engedélyeznek, mint például:
- Ágak és elkötelezések létrehozása
- Az adattár adatainak olvasása
- Lekéréses kérelmek megnyitása és frissítése
- Munkafolyamatok aktiválása
Minden API-kérést olyan jogkivonatokkal kell hitelesíteni, mint a személyes hozzáférési jogkivonatok, GitHub alkalmazásjogkivonatok vagy a munkafolyamatokban megadott GITHUB_TOKEN.
Ez biztosítja, hogy az ügynök által végrehajtott minden művelet engedély által vezérelhető és naplózható legyen.
Hogyan hozhatnak létre módosításokat az ügynökök egy adattárban?
Amikor egy ügynök módosításokat végez, ugyanazt a munkafolyamatot követi, mint egy fejlesztő. Egy tipikus sorozat a következőképpen néz ki:
- Alapág kiválasztása
- Új munkaág létrehozása
- Fájlok módosítása vagy létrehozása
- Módosítások véglegesítése
- Lekéréses kérelem megnyitása
Mindegyik lépéshez külön API-műveletek tartoznak, például a Git-hivatkozások, az adattár tartalma és a lekéréses kérelmek használata.
Ez azt jelenti, hogy az ügynökműveletek teljes mértékben igazodnak GitHub szabványos fejlesztési modelljéhez.
A GitHub Actions használata végrehajtási rétegként
Az ügynökök nem hajtanak végre feladatokat közvetlenül a gépen. Ehelyett GitHub végrehajtási környezeteket biztosít a GitHub Actions által működtetett munkafolyamatokon keresztül.
A munkafolyamat egy YAML által definiált folyamat, amely eseményekre válaszul futtat feladatokat.
Az ügynökök a következő munkafolyamatokra támaszkodnak:
- Tesztek futtatása
- Módosítások ellenőrzése
- Automatizálási feladatok végrehajtása
- Alkalmazások üzembe helyezése
Copilot felhőügynök GitHub Actions-alapú környezetben működik, ami azt jelenti, hogy a munkafolyamatok képezik az ügynök végrehajtásának alapjait.
Hagyományos munkafolyamatok és ügynöki munkafolyamatok
A hagyományos GitHub Actions munkafolyamatok általában determinisztikusak és YAML-definiáltak: az egyes lépések, eseményindítók és feltételek explicit megadásával. GitHub ügynöki munkafolyamatok egy másik modellt adnak hozzá az adattár automatizálásához. Lehetővé teszik a kívánt eredmény leírását Markdownban, a védőkorlátok definiálását a frontmatterben, és ezt a szándékot végrehajtani egy kódolási ügynök használatával a GitHub Actions-ben. Leginkább a nyílt végű, de korlátozott adattárbeli feladatokhoz, például a triage, a jelentéskészítés, a dokumentáció karbantartásához, a CI-hibák elemzéséhez és a kódfejlesztéshez alkalmasak. Nem cserélik le a CI/CD-folyamatokat; a GitHub által "Folyamatos AI"-nak nevezett megoldással bővítik őket.
Mitől különbözik az ügynöki munkafolyamat?
A GitHub ügynöki munkafolyamat két fő részből áll:
- Előtér konfigurációhoz, például triggerekhez, engedélyekhez, eszközökhöz és biztonságos kimenetekhez
- A feladatot természetes nyelven leíró Markdown-utasítások
A Markdown kifejezi a szándékot, míg az előtartalom határozza meg a határokat. A munkafolyamat ezután egy olyan zárolási fájlba lesz lefordítva, amelyet GitHub Actions végrehajt.
on: schedule: daily
permissions: contents: read issues: read pull-requests: read
safe-outputs: create-issue: title-prefix: "[repo-status] " labels: [report]
tools: github:
Daily Repository Status Report
Create a daily report for maintainers.
Include:
Recent activity (issues, PRs, commits)
Key highlights and risks
Recommended next steps
Keep the report concise and link to relevant issues and pull requests.
Ebben a példában a bevezető (--- között) határozza meg, hogyan és mikor fut a munkafolyamat, mit érhet el, és mely műveletek engedélyezettek.
Az alábbi Markdown a munkafolyamat szándékát természetes nyelven határozza meg. Az ügynök értelmezi ezt a szándékot, és strukturált kimeneteket hoz létre, amelyek ezután szabályozott, áttekinthető lépéseken keresztül lesznek alkalmazva.
A hagyományos GitHub Actions munkafolyamatoktól eltérően, amelyek kifejezetten meghatározzák az egyes lépéseket, az ügynöki munkafolyamatok az eredmények leírására összpontosítanak. Az ügynök meghatározza, hogyan érheti el a célt az előszóban meghatározott korlátozásokon belül.
Munkafolyamatok aktiválása és interakciója
A munkafolyamatok többféleképpen is aktiválhatók:
- Automatikusan az olyan eseményeken keresztül, mint a leküldéses vagy lekéréses kérelem
- Az workflow_dispatch esemény manuális használata
- Programozott módon a GitHub API-val
Az ügynökök ezekre az eseményindítókra támaszkodva hajthatnak végre feladatokat, vagy ellenőrizhetik a módosításokat az adattár frissítései után.
Minden munkafolyamat-futtatás elkülönített környezetekben hajt végre feladatokat, biztosítva a konzisztens és biztonságos végrehajtást.
Mi történik egy ügynök munkamenete során?
Az ügynöki munkamenetek megfigyelhetőek és interaktívak.
Egy munkamenet során a következőt végezheti el:
- Folyamat figyelése munkamenetnaplón keresztül
- Az ügynök által végrehajtott műveletek megtekintése
- Visszajelzés küldése vagy a feladat módosítása
- Az utolsó lekéréses kérelem áttekintése
Az ügynök a visszajelzések alapján alkalmazkodik, és a feladat befejezéséig folytatja a munkát.
Végtől végig tartó ügynöki végrehajtási folyamat
Ha mindent egybevetünk, a GitHub egy tipikus ügynöki interakció a következőképpen néz ki:
- A feladat hozzárendelése probléma, csevegés vagy parancssori felület használatával történik
- Az ügynök kiválasztja az adattárat és az alapágat
- Az ügynök elemzi a kódbázist és a tervek változásait
- Az API-műveletek ágak és véglegesítések létrehozásához használhatók
- Megnyílik egy pull request
- A munkafolyamatok a módosítások ellenőrzéséhez vagy üzembe helyezéséhez futnak
- A felhasználó felülvizsgálja, jóváhagyja vagy frissítéseket kér
Ez a folyamat biztosítja, hogy az ügynök minden tevékenysége a következő legyen:
- Egy tárházra korlátozva
- Jogosultságok által vezérelve
- Munkafolyamatokon keresztül hajtva végre
- Látható és áttekinthető
A legfontosabb tanulság
A GitHub ügynökei nem működnek a platformon kívül. Olyan API-kon, munkafolyamatokon és adattárstruktúrákon keresztül kommunikálnak, amelyek engedélyeket kényszerítenek ki, végrehajtási környezetet biztosítanak, és lekéréses kérelmeken keresztül teszik lehetővé az együttműködést.
Ezután megtudhatja, hogyan bővíti a Model Context Protocol (MCP) ezeket a képességeket azáltal, hogy lehetővé teszi az ügynökök számára, hogy GitHub kívül további eszközökhöz és szolgáltatásokhoz csatlakozzanak.