Az ügynökök hogyan lépnek kapcsolatba a GitHub API-kkal és munkafolyamatokkal.

Befejeződött

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:

  1. Alapág kiválasztása
  2. Új munkaág létrehozása
  3. Fájlok módosítása vagy létrehozása
  4. Módosítások véglegesítése
  5. 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:

  1. A feladat hozzárendelése probléma, csevegés vagy parancssori felület használatával történik
  2. Az ügynök kiválasztja az adattárat és az alapágat
  3. Az ügynök elemzi a kódbázist és a tervek változásait
  4. Az API-műveletek ágak és véglegesítések létrehozásához használhatók
  5. Megnyílik egy pull request
  6. A munkafolyamatok a módosítások ellenőrzéséhez vagy üzembe helyezéséhez futnak
  7. 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.