CopilotKit: Augstākā SDK, lai izveidotu pilna kaudze AI aģentus, ģeneratīvo UI un tērzēšanas lietotnes
CopilotKit: Augstākā SDK, lai izveidotu pilna kaudze AI aģentus, ģeneratīvo UI un tērzēšanas lietotnes
Fona pārskats
CopilotKit ir atvērtā koda ietvars, kas īpaši izstrādāts AI Copilot un aģentam paredzētu lietotņu izveidei, ar vairāk nekā 28.9k zvaigznēm GitHub, ko izmanto vairāk nekā 100 000 izstrādātāju. Šī ietvara pamatvērtība ir dziļa AI aģentu un lietotāja saskarnes integrācija, ļaujot aģentiem reāllaikā kontrolēt UI, nodot konteksta informāciju un dinamiski renderēt saskarnes komponentus, izmantojot ģeneratīvo UI.
Galvenie atklājumi
1. Arhitektūras dizains un galvenās funkcijas
CopilotKit izmanto trīs līmeņu arhitektūras dizainu, kas ietver priekšējās komponentes slāni, CopilotRuntime izpildes slāni un aģenta savienojuma slāni.
Priekšējās komponentes slānis piedāvā pilnīgu spektru no pilnīgi bezgalvas (Headless) UI līdz iepriekš izstrādātām pielāgojamām komponentēm, ļaujot izstrādātājiem elastīgi izvēlēties atbilstoši vajadzībām. CopilotRuntime darbojas kā aizmugures orķestrācijas dzinējs, kas atbild par pieprasījumu apstrādi no priekšējā klienta, pārvaldot LLM izsaukumus un aģenta mijiedarbību. Aģenta savienojuma slānis savieno jebkuru aģenta ietvaru, izmantojot AG-UI protokolu, tostarp LangGraph, CrewAI, LlamaIndex utt.
CopilotKit galvenās iezīmes ietver ģeneratīvo UI (Generative UI), kas ļauj aģentiem reāllaikā dinamiski renderēt UI komponentus; kopīgo stāvokli (Shared State), kas nodrošina divvirzienu stāvokļa sinhronizāciju starp priekšpusi un aģentu; kā arī Human-in-the-Loop (cilvēka un mašīnas sadarbība), kas atbalsta aģentu, pieprasot cilvēka ievadi vai apstiprinājumu izpildes laikā. Šīs iezīmes padara iespējamu patiesi interaktīvu AI lietotņu izveidi, nevis tikai vienkāršas jautājumu un atbilžu sistēmas.
Darba plūsmas shēma:
2. AG-UI protokols: ekosistēmas pamats
AG-UI (Aģenta-Lietotāja Mijiedarbības Protokols) ir atvērts, viegls, notikumu virzīts protokola standarts, ko izstrādājusi CopilotKit komanda, lai standartizētu AI aģentu un lietotāju orientētu lietotņu starpniecību. Šo protokolu plaši izmanto tādi vadošie uzņēmumi un ietvari kā Google, Microsoft, AWS, LangChain, Mastra, Pydantic AI utt., veidojot arvien pieaugošu ekosistēmu.
AG-UI protokols risina vienu būtisku problēmu: tradicionālais priekšpuses un aizmugures saziņas modelis (pieprasījums-atbilde) nespēj apmierināt aģenta lietotņu sarežģītās prasības. Aģentiem ir nepieciešams reāllaika stāvokļa atjauninājumu straumēšana, pārtraukumu un apstiprinājumu procesu apstrāde, UI un aģenta stāvokļa sinhronizācija, kas prasa elastīgāku saziņas mehānismu. AG-UI, izmantojot notikumu straumēšanu (Event Streaming), nodrošina šīs funkcijas, atbalstot reāllaika teksta straumēšanu, rīku izsaukumus, stāvokļa sinhronizāciju un pielāgotus notikumus.
Pašlaik aģenta protokolu jomā pastāv trīs galvenie balsti: AG-UI koncentrējas uz aģenta un lietotāja mijiedarbības slāni, MCP (Modeļa Konteksta Protokols) atbild par aģenta savienojumu ar rīkiem un datiem, bet A2A (Aģents uz Aģentu) apstrādā aģentu koordinācijas saziņu. Jāatzīmē, ka AG-UI ir īstenojusi A2A protokola roku rokā integrāciju un pilnībā atbalsta Google A2UI specifikāciju ģeneratīvo UI renderēšanai.
3. Integrācija ar vadošajiem ietvariemCopilotKit un LangGraph integrācija ir viens no visattīstītākajiem lietošanas gadījumiem. Ar vienkāršu konfigurāciju izstrādātāji var savienot LangGraph aģentu ar CopilotKit priekšgala, nodrošinot stāvokļa koplietošanu un reāllaika plūsmu. Integrācijas process parasti ietver useCoAgent hook izmantošanu, lai savienotu aģentu, copilotkitemitstate funkcijas izmantošanu, lai no aģenta puses izsūtītu stāvokļa atjauninājumus, un useCopilotAction izmantošanu, lai definētu cilvēka un mašīnas sadarbības pārtraukuma punktus.
Attiecībā uz CrewAI izstrādātājiem, CopilotKit piedāvā arī gatavu integrācijas risinājumu. Ar AG-UI protokolu izstrādātāji var padarīt jebkuru CrewAI aģentu pieejamu kā priekšgala lietojumprogrammu, kas atbalsta reāllaika mijiedarbību. Papildus LangGraph un CrewAI, AG-UI protokols atbalsta arī Microsoft Agent Framework, Google ADK, AWS Strands Agents, Mastra, Pydantic AI, Agno, LlamaIndex un daudzus citus ietvarus, veidojot patiesu daudzsistēmu savietojamību.
4. Salīdzinoša analīze ar līdzīgiem ietvariem
Salīdzinājumā ar Vercel AI SDK, CopilotKit pozicionējums ir ievērojami atšķirīgs. Vercel AI SDK galvenokārt koncentrējas uz čata interfeisa plūstošas teksta pārsūtīšanas vienkāršošanu, piedāvājot izcilu useChat hook un UI komponentus; savukārt CopilotKit vairāk uzsver dziļo aģentu integrāciju, ģeneratīvo UI un cilvēka un mašīnas sadarbības spējas.
Attiecības ar LangChain ir vairāk papildinošas nekā konkurējošas. LangChain koncentrējas uz aģenta "smadzeņu" (loģikas un darba plūsmas) veidošanu, bet CopilotKit nodrošina šīm smadzenēm "seju, balsi un rokas" — proti, saskarsmes interfeisu ar lietojumprogrammu. Izstrādātāji parasti izmanto LangChain/LangGraph, lai definētu aģenta loģiku, un pēc tam izmanto CopilotKit, lai izveidotu lietotāja mijiedarbības slāni.
5. Tipiski lietošanas gadījumi
CopilotKit tipiskie lietošanas gadījumi aptver vairākas jomas. SaaS Copilot ir visizplatītākais lietošanas gadījums, kur inteliģentais asistents var vadīt lietotājus caur sarežģītiem darba plūsmām, sniedzot konteksta apzinātu palīdzību. Kopradīšanas Copilot uzsver cilvēka un mašīnas sadarbību, AI kopā ar lietotāju radot saturu, ievērojami palielinot produktivitāti. Dialogveida veidlapu aizpildīšana pārvērš sarežģītas veidlapas par dabisku dialoga mijiedarbību, ļaujot lietotājiem caur čatu pabeigt sarežģītu datu ievadi. Pētniecības aģentu lietojumi, piemēram, oficiāli demonstrētā pētniecības audekla lietojumprogramma, parāda, kā savienot LangGraph aģentu ar priekšgala dziļu integrāciju, lai īstenotu pētniecības plāna ģenerēšanu, nodaļu rakstīšanu un cilvēku apstiprināšanu.
Ātrā uzsākšana: Koda piemērs
Pamata integrācijas piemērs
Šeit ir minimāls darbināms piemērs, kas izmanto CopilotKit un LangGraph integrāciju:
Priekšgals (Next.js/React):
// app/page.tsx "use client"; import { CopilotKit } from "@copilotkit/react-core"; import { CopilotPopup } from "@copilotkit/react-ui"; import "@copilotkit/react-ui/styles.css";
export default function Home() { return (
Pētniecības asistents
); }Izpildes API maršruts:
// app/api/copilotkit/route.ts import { CopilotRuntime, OpenAIAdapter } from "@copilotkit/runtime"; import { NextRequest } from "next/server";const copilotKit = new CopilotRuntime({ remoteEndpoints: [ { url: process.env.LANGGRAPHURL || "http://localhost:8000" }, ], });
const serviceAdapter = new OpenAIAdapter();
export const POST = async (req: NextRequest) => { const { handleRequest } = copilotKit; return handleRequest(req, { serviceAdapter }); };
Kopīgā stāvokļa piemērs
// Izmantojot useCoAgent, lai īstenotu priekšējā un aizmugurējā stāvokļa sinhronizāciju import { useCoAgent } from "@copilotkit/react-core";
function ResearchCanvas() { const { state, setState } = useCoAgent({ name: "researchagent", initialState: { topic: "", outline: [], currentSection: null, }, });
return (
setState({ ...state, topic: e.target.value })} placeholder="Ievadiet pētījuma tēmu" />
); }
Cilvēka un mašīnas sadarbība (Human-in-the-Loop) piemērs
import { useCopilotAction } from "@copilotkit/react-core";
function DocumentEditor() { useCopilotAction({ name: "publishDocument", description: "Dokumenta publicēšanai nepieciešama lietotāja apstiprināšana", parameters: [ { name: "title", type: "string", description: "Dokumenta nosaukums" }, { name: "content", type: "string", description: "Dokumenta saturs" }, ], handler: async ({ title, content }) => { const confirmed = await new Promise((resolve) => { showConfirmDialog({ title, content, onConfirm: resolve }); });
if (confirmed) { await api.publish({ title, content }); return "Dokuments ir veiksmīgi publicēts"; } return "Publicēšana ir atcelta"; }, });
return ...; }`
Tipiski lietojumu gadījumi
Gadījums 1: SaaS inteliģentais asistents
Scenārijs: uzņēmuma līmeņa projektu vadības rīks, kas integrē AI asistentu, lai palīdzētu lietotājiem ātri izveidot uzdevumus, piešķirt resursus un ģenerēt ziņojumus.
Ieviešanas punkti:
- Izmantojot CopilotKit kopīgā stāvokļa funkcionalitāti, lai AI reāllaikā saprastu pašreizējo projekta skatu
- Dinamiski attēlojot uzdevumu kartes, Gantt diagrammas un citus komponentus, izmantojot ģeneratīvo UI
- Cilvēka un mašīnas sadarbības punkti nodrošina, ka kritiskas darbības (piemēram, projekta dzēšana) prasa lietotāja apstiprinājumuLietotāji var veikt sarežģītas darbības, izmantojot dabisko valodu, piemēram, "palīdzi man piešķirt uz nākamo nedēļu beidzamos uzdevumus priekšējai komandai un izveidot progresu ziņojumu".
### Gadījums 2: AI pētniecības asistents
Scenārijs: Akadēmiskās pētniecības palīgrīks, kas palīdz pētniekiem vākt materiālus, strukturēt rakstu un sadarboties rakstīšanā.
Realizācijas punkti:
- LangGraph aģents atbild par informācijas meklēšanu un loģisko secināšanu
- CopilotKit priekšējā daļa parāda pētījuma plānu, literatūras sarakstu
- Stāvokļa sinhronizācija nodrošina, ka pētījuma progress tiek reāllaikā saglabāts un parādīts
- Apstiprināšanas punkti, kad tiek atsauktas ārējās atsauces, brīdina lietotāju apstiprināt
### Gadījums 3: Viedā veidlapu aizpildīšana
Scenārijs: Sarežģītu apdrošināšanas pieteikumu veidlapu pārvēršana dialogveida mijiedarbībā.
Realizācijas punkti:
- Aģents dinamiski nosaka nākamo jautājumu, pamatojoties uz lietotāja atbildēm
- Izmanto nosacījumu renderēšanu, lai atkarībā no konteksta parādītu dažādus UI komponentus
- Automātiski saglabā daļēji aizpildītas veidlapas, atbalsta pārtraukuma turpināšanu
- Pirms iesniegšanas apkopo visu informāciju lietotāja apstiprināšanai
## Tehniskās atziņas
CopilotKit tehniskā realizācija balstās uz mūsdienu tīmekļa kaudzi. Priekšējā daļa izmanto React (arī atbalsta Angular) kā galveno UI ietvaru, nodrošinot useAgent un useCoAgent u.c. hookus stāvokļa pārvaldībai un aģentu mijiedarbībai. Aizmugures izpildes laikā CopilotRuntime klase darbojas kā centrālais orķestrators, apstrādājot pieprasījumu validāciju, LLM izsaukumus un atbilžu plūsmu. Komunikācijas protokols izmanto Server-Sent Events (SSE), lai īstenotu reāllaika plūsmu no servera uz klientu, vienlaikus apstrādājot klienta pieprasījumus, izmantojot HTTP POST.
v1.50 versija ir ieviesusi būtiskas arhitektūras uzlabojumus, ieviešot skaidrāku vienota gala punkta arhitektūru, labāku novērojamību (telemetrija iebūvēta) un dziļu integrāciju ar CopilotKit Next, tādējādi tālāk vienkāršojot izstrādes pieredzi.
## Nākotnes perspektīvasCopilotKit stratēģiskā pozicionēšana ir kļūt par aģentu lietotņu izstrādes infrastruktūras slāni. Ar AG-UI protokola pieņemšanu no vairākām ražotāju puses (Microsoft, Google, AWS utt. jau ir atbalstījuši), tiek veidota aģentu lietotņu ekosistēma, kas balstās uz atvērtajiem standartiem. CopilotKit, piedāvājot iepriekš izstrādātas komponentes, ģeneratīvos UI modeļus un dziļo ietvaru integrāciju, būtiski samazina ražošanas līmeņa AI Copilot izstrādes slieksni, ļaujot izstrādātājiem koncentrēties uz biznesa loģiku, nevis pamatkomunikācijas detaļām.

