Interakce agentů s rozhraními API a pracovními postupy GitHub

Dokončeno

Agenti umělé inteligence mění způsob, jakým se provádí vývojová práce. Místo ruční navigace v úložištích, psaní kódu a spouštění příkazů můžou agenti pracovat přímo v rámci GitHub a provádět úkoly od začátku do konce.

GitHub podporuje práci řízenou agenty prostřednictvím více vrstev. Agenti můžou používat rozhraní API GitHub ke čtení stavu úložiště a provádění akcí, pracovních postupů GitHub Actions ke spouštění automatizace v kontrolovaných spouštěčích a agentických pracovních postupů GitHub k popisu úloh úložiště na vyšší úrovni v Markdownu a jejich vykonávání s programovacími agenty v rámci přísných omezení. Namísto toho, aby agenti obcházeli GitHub, pracují se stejnými systémy, které používají vývojáři, včetně větví, žádostí o přijetí změn, problémů a automatizace.

V této lekci se naučíte:

  • Interakce agentů s GitHub prostřednictvím rozhraní API
  • Jak agenti používají pracovní postupy jako spouštěcí prostředí
  • Jak se vytvářejí a spravují změny úložiště
  • Jak vypadá tok provádění celého agenta na GitHub

Interakce agentů s GitHub

GitHub agenti, jako je cloudový agent Copilot, pracují v definovaném kontextu úložiště a větve. Když přiřadíte úlohu, například prostřednictvím problému nebo výzvy, agent začne pracovat v tomto úložišti.

Agenti můžou:

  • Prozkoumat a pochopit úložiště
  • Plánování změn potřebných k dokončení úkolu
  • Provádění změn kódu v nové větvi
  • Otevřít pull request ke kontrole

Agenti provádějí tyto akce pomocí funkcí platformy GitHub, jako jsou rozhraní API a pracovní postupy.

Tyto akce můžou být aktivované událostmi úložiště (jako jsou odesílání nebo žádost o začlenění), spouštěny podle plánu nebo orchestrovány prostřednictvím agentových pracovních postupů, které průběžně automatizují úlohy v úložišti.

Použití GitHub rozhraní API k provádění akcí

GitHub poskytuje rozhraní API, která umožňují systémům pracovat s úložišti prostřednictvím kódu programu.

Rozhraní API umožňují akce, jako jsou:

  • Vytváření větví a commitů
  • Čtení dat úložiště
  • Otevírání a aktualizace pull requestů
  • Aktivace pracovních postupů

Všechny požadavky rozhraní API musí být ověřeny pomocí tokenů, jako jsou osobní přístupové tokeny, tokeny aplikace GitHub nebo GITHUB_TOKEN poskytované v pracovních postupech.

Tím se zajistí, že každá akce, kterou agent provede, je řízená oprávněním a auditovatelná.

Jak agenti vytvářejí změny v úložišti

Když agent provede změny, řídí se stejným pracovním postupem jako vývojář. Typická sekvence vypadá takto:

  1. Výběr základní větve
  2. Vytvoření nové pracovní větve
  3. Úprava nebo vytvoření souborů
  4. Potvrzení změn
  5. Otevřete žádost o přijetí změn

Pro každý z těchto kroků existují samostatné operace rozhraní API, včetně práce s odkazy na Git, obsahem úložiště a žádostmi o přijetí změn.

To znamená, že akce agenta jsou plně v souladu se standardním vývojovým modelem GitHub.

Použití GitHub Actions jako spouštěcí vrstvy

Agenti nespouštějí úlohy přímo na vašem počítači. Místo toho GitHub poskytuje prováděcí prostředí prostřednictvím pracovních postupů využívajících GitHub Actions.

Pracovní postup je proces definovaný YAML, který spouští úlohy v reakci na události.

Agenti spoléhají na tyto pracovní postupy:

  • Spouštění testů
  • Ověření změn
  • Provádění úloh automatizace
  • Nasazení aplikací

Copilot cloudový agent pracuje v GitHub Actions prostředí, což znamená, že pracovní postupy tvoří základ provádění agenta.

Tradiční pracovní postupy vs. agentické pracovní postupy

Tradiční pracovní postupy GitHub Actions jsou obvykle deterministické a definované YAML: explicitně zadáte každý krok, trigger a podmínku. GitHub Agentic Workflows přidávají jiný model pro automatizaci úložiště. Umožňují popsat požadovaný výsledek v Markdownu, definovat mantinely ve frontmatteru a tento záměr provést pomocí agenta kódování v GitHub Actions. Nejlépe se hodí pro úlohy otevřeného, ale vázaného úložiště, jako jsou třídění, generování sestav, údržba dokumentace, analýza selhání CI a vylepšení kódu. Nenahrazují CI/CD potrubí; rozšiřují je o to, co GitHub popisuje jako "průběžná umělá inteligence".

Co dělá pracovní postup agenta jinak

Pracovní postup agenta GitHub má dvě hlavní části:

  • Frontmatter pro konfiguraci, jako jsou spouštěče, oprávnění, nástroje a zabezpečené výstupy
  • Markdownové pokyny, které popisují úlohu v přirozeném jazyce.

Markdown vyjadřuje záměr, zatímco frontmatter (úvodní metadata) definuje hranice. Pracovní postup se pak zkompiluje do souboru zámku, který GitHub Actions spustí.

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.

V tomto příkladu frontmatter (mezi ---) definuje, jak a kdy se pracovní postup spustí, k čemu má přístup a jaké akce jsou povolené.

Markdown níže definuje záměr pracovního postupu v přirozeném jazyce. Agent interpretuje tento záměr a vytváří strukturované výstupy, které se pak použijí prostřednictvím kontrolovaných kontrolovatelných kroků.

Na rozdíl od tradičních pracovních postupů GitHub Actions, které explicitně definují jednotlivé kroky, se pracovní postupy agentů zaměřují na popis výsledků. Agent určuje, jak dosáhnout cíle v rámci omezení definovaných v frontmatteru.

Aktivace a interakce s pracovními postupy

Pracovní postupy je možné aktivovat několika způsoby:

  • Automaticky prostřednictvím událostí, jako je odeslání nebo požadavek na stažení
  • Ruční použití události workflow_dispatch
  • Programově prostřednictvím rozhraní API GitHub

Agenti můžou na těchto triggerech spoléhat při provádění úloh nebo ověřování změn po provedení aktualizací úložiště.

Každý pracovní postup spouští úlohy v izolovaných prostředích a zajišťuje konzistentní a zabezpečené spouštění.

Co se stane během sezení agenta

Sezení agenta jsou pozorovatelná a interaktivní.

Během relace můžete:

  • Monitorování průběhu prostřednictvím protokolu relace
  • Podívejte se, jaké akce agent provádí
  • Poskytnutí zpětné vazby nebo úprava úkolu
  • Kontrola finálního pull requestu

Agent se přizpůsobí na základě zpětné vazby a pokračuje v práci, dokud se úkol dokončí.

Tok provádění agenta od začátku do konce

Když ho umístíte dohromady, typická interakce agenta s GitHub vypadá takto:

  1. Úkol se přiřadí prostřednictvím problému, chatu nebo rozhraní příkazového řádku.
  2. Agent vybere úložiště a základní větev.
  3. Agent analyzuje kód a plánuje změny.
  4. Operace rozhraní API se používají k vytváření větví a commitů.
  5. Žádost o přijetí změn je otevřena.
  6. Pracovní postupy se spouští za účelem ověření nebo nasazení změn.
  7. Uživatel kontroluje, schvaluje nebo žádá o aktualizace

Tento tok zajišťuje, že všechny aktivity agenta jsou:

  • Určeno pro úložiště
  • Řízeno oprávněními
  • Spuštěno prostřednictvím pracovních postupů
  • Viditelné a zkontrolovatelné

Klíčové ponaučení

Agenti na GitHub nefungují mimo platformu. Pracují prostřednictvím rozhraní API, pracovních postupů a struktur úložišť, které vynucují oprávnění, poskytují spouštěcí prostředí a umožňují spolupráci prostřednictvím žádostí o přijetí změn.

Dále se dozvíte, jak modelový kontextový protokol (MCP) rozšiřuje tyto funkce tím, že agentům umožníte připojit se k dalším nástrojům a službám nad rámec GitHub.