스크립트
00:00:00Alex Hancock: Hallo zusammen. Mein Name ist Alex Hancock. Heute werde ich über eine universelle
00:00:17Fernbedienung für KI sprechen. Und bevor ich beginne, möchte ich nur sagen, dass der vorherige Redner erwähnte,
00:00:21dass MCP-Client-Betreuer keine Unterstützung für Aufgaben implementiert haben, weil sie klug sind. Ich bin
00:00:26ein MCP-Client-Betreuer. Ich kann Ihnen sagen, nur weil ich faul bin. Ich habe es noch nicht getan. Also,
00:00:33ein wenig über mich, bevor wir anfangen. Ich bin Softwareingenieur bei Block, dem
00:00:37Mutterunternehmen von Cash App, Square und Tidal. Wir haben derzeit einige verschiedene Dinge am Laufen.
00:00:43Und ich arbeite dort schon lange. Ich habe an Square-Produkten und Cash-App-Sachen gearbeitet.
00:00:47Aber ich beschäftige mich seit einigen Jahren mit Open-Source-KI. Speziell arbeite ich an diesem
00:00:51Open-Source-Harness-Projekt namens Goose, das als internes Projekt bei Block begann.
00:00:56Ja, es gibt einige Goose-Fans da draußen. Und dann, ja, haben wir es als Open Source veröffentlicht und der
00:01:02Linux Foundation gespendet. Das geistige Eigentum liegt also dort. Aber viele von uns bei Block arbeiten immer noch daran.
00:01:07Ich bin auch Betreuer von MCP, dem Model Context Protocol. Ich arbeite an dem Rust-SDK für dieses Projekt.
00:01:14Und in jüngerer Zeit habe ich auch mit der Arbeit an ACP begonnen, dem Agent Client Protocol, worüber ich
00:01:20heute sprechen werde. Ich denke also, wir haben ein Problem mit Harnesses, das ich heute ansprechen möchte,
00:01:27Ihnen allen heute als Problem vorschlagen und dann eine Lösung empfehlen möchte. Was mir in letzter Zeit aufgefallen ist,
00:01:35ist, dass wir viele großartige Harnesses da draußen haben, oder? Es gibt welche von den
00:01:40Labors. Es gibt welche von verschiedenen Unternehmen. Es gibt viele auf offenen Standards basierende.
00:01:46Aber mir ist aufgefallen, dass die Schnittstelle zu ihnen oft maßgeschneidert oder individuell ist. Im schlimmsten Fall ist es so,
00:01:52dass Sie einige Harnesses haben, bei denen es buchstäblich nur eine Client-Anwendung gibt, mit der Sie dieses Harness steuern können,
00:01:57oder? Und ich denke, das bringt einige Probleme mit sich. Die Analogie, die ich zum Web ziehen werde,
00:02:03ist, dass es wäre, als müssten Sie einen einzigen Browser oder ein bestimmtes Protokoll verwenden, um eine Verbindung zu jeder
00:02:11Website herzustellen, oder? Das würde einfach nicht funktionieren. Sie hätten nichts wie das offene Web, wenn das die
00:02:16Realität bei Browsern wäre. Und deshalb denke ich, dass wir das besser machen können. Und das Besondere an Standards, durch das Finden eines
00:02:22Standards ist, dass sie Ökosysteme und Märkte schaffen. Und ich würde argumentieren,
00:02:28dass wir im Bereich der agentischen KI einen guten Standard dafür haben, dass der Agent hinausgeht und Dinge tut,
00:02:35oder? Tools aufruft, Aktionen in anderen Systemen ausführt, Ressourcen liest, Daten liest. Wir haben alle
00:02:41als Gemeinschaft davon profitiert, MCP zu haben, oder? Und das Mächtigste an MCP
00:02:47ist nicht irgendetwas an MCP selbst, sondern die Tatsache, dass jeder MCP nutzt. Und deshalb haben wir Tausende
00:02:53oder Zehntausende von Servern auf der ganzen Welt, und alle Agenten können sich mit ihnen verbinden
00:02:58und in diesen anderen Systemen aktiv werden. Ich würde sagen, wir haben noch keine gute Lösung
00:03:05oder einen Standard dafür, dass Client-Software Agenten sagt, was sie tun sollen, ihnen Aufgaben zuweist, ihnen vorgibt, woran sie arbeiten sollen,
00:03:13und Updates erhält. Und deshalb werde ich heute eine Option vorstellen, die meiner Meinung nach eine gute Option ist,
00:03:20an der wir in unserem Team gearbeitet haben und die wir für eine gute Lösung im Bereich der offenen Standards halten.
00:03:26Und das ist ACP. Agent Client Protocol ist der Name dieses Projekts. Und es stammt von den
00:03:32Editor-Unternehmen. Es kam daher, dass – wenn Sie den Zed-Texteditor oder eines der JetBrains-
00:03:39Produkte verwendet haben – die Zed-Leute und die JetBrains-Leute sich zusammengetan und einen Standard vorgeschlagen haben,
00:03:45damit Clients Harnesses steuern können. Das macht Sinn, wenn man sich in ihre Lage versetzt,
00:03:49oder? Was sie tun können wollten, war, eine einzige hochwertige Client-Implementierung
00:03:54in einem Editor zu schreiben, vielleicht in Zed oder in IntelliJ oder so etwas, und in der Lage zu sein, jedes Harness
00:04:00mit dieser einzigen Client-Implementierung zu steuern, Aufgaben zu senden, Ergebnisse zurückzubekommen,
00:04:06zu sehen, welche Dateien bearbeitet werden usw. Das macht absolut Sinn, wenn man sich in ihre Lage versetzt,
00:04:10oder? Aber wir haben das beim Goose-Team gesehen. Und wir glauben, dass es einen viel breiteren Nutzen hat als nur
00:04:17für Editoren, oder? Es ist also relativ neutral und hat nicht viele editorspezifische Funktionen. Und deshalb
00:04:22denken wir, dass dies auf eine breitere Palette von Client-Software ausgedehnt werden kann. Um etwas näher auf
00:04:30das Design von ACP und das, was man damit tun kann, einzugehen: Es ermöglicht Ihnen, Verbindungen herzustellen zwischen Clients und
00:04:37Agent-Harnesses, die über einen bestimmten Satz von Funktionen verfügen, die mit der Verbindung verknüpft sind. Und dann können Sie
00:04:45Sitzungen erstellen. Innerhalb von Sitzungen können Sie Benutzernachrichten senden – Dinge, die ein Benutzer vielleicht in die App tippt oder
00:04:51die die Client-Software senden möchte. Der Agent kann daraufhin mit Text, weiteren Bildern oder Audio,
00:04:59Text usw. oder Updates darüber antworten, was vor sich geht. Wenn also ein Tool aufgerufen wird, kann er eine Tool-Aufruf-
00:05:04Benachrichtigung senden und erklären, welches Tool aufgerufen wurde und wie die Metadaten aussahen. Und er kann auch Dinge wie
00:05:10Berechtigungsanfragen senden, so dass die Client-Software dem Benutzer zeigen kann, ob sie diesen
00:05:16Tool-Aufruf ausführen soll (ja oder nein), was über dieses Protokoll laufen kann. Und das Design ist recht einfach. Es verwendet JSON-RPC-
00:05:24Nachrichten. Und das Beste daran, was uns am meisten gefällt, ist, dass es auch erweiterbar ist. Sie sind also nicht nur auf das
00:05:29beschränkt, was im Standardprotokoll enthalten ist. Sie können benutzerdefinierte Methoden hinzufügen. Die Konvention ist, dass Sie einen Unterstrich
00:05:37setzen und dann Ihre eigenen benutzerdefinierten Methoden einfügen. Und das Schöne daran ist, dass, wenn genügend
00:05:41Harness-Projekte oder Client-Projekte dies übernehmen, wir sehen können, was wir alle gemeinsam haben, oder?
00:05:46Wenn das Codex-Team einige benutzerdefinierte Methoden hat, das Goose-Team einige benutzerdefinierte Methoden hat,
00:05:52das Client-Team einige benutzerdefinierte Methoden hat oder wer auch immer, können wir sehen, was im Ökosystem entsteht und
00:05:58was es sinnvoll macht, auf einen Standardisierungspfad zu bringen und in das Protokoll selbst zu integrieren, sodass dies sozusagen
00:06:03durch die Nutzung und durch die Community geprägt wird. Ich werde eine Demo einer Standard-I/O-Version davon vorführen.
00:06:12Ich öffne also Zed und habe hier einfach ein ganz einfaches Projekt, bei dem ich sage: Erzähl mir etwas über
00:06:18dieses Projekt. Das ist also eine einzelne HTML-Datei. Sie können also sehen, dass ich meine Anfrage in Zed eingeben konnte,
00:06:25und der hier agierende Agent ist Goose. Es verwendet also die ACP-Schnittstelle von Goose. Und Sie können sehen,
00:06:31dass Text zurückgesendet wird. Es sendet Tool-Aufruf-Informationen darüber zurück, was es gelesen hat und was es
00:06:36getan hat. Und dann hat es herausgefunden, dass es sich um eine einzelne HTML-Datei handelt, und hat sie erklärt. Und ich mache noch eine,
00:06:42ich mache noch eine. Diese stammt von einem Unternehmen namens Poolside AI. Ich sage: Erzähl mir im selben Projekt
00:06:50etwas über dieses Projekt. Und das ist ein terminalbasierter Client, der genau dieselbe Erfahrung vom
00:06:55selben Agenten erhält – eine Implementierung auf der Harness-Seite, und man kann jetzt jeden beliebigen Client verwenden, oder? Sie sehen also,
00:07:01es hat dasselbe getan. Es hat mir einige Textergebnisse zurückgegeben, es hat einen Tool-Aufruf gezeigt und dann
00:07:06hat es eine Zusammenfassung gestreamt. Das ist eine grundlegende Demo, die zwei Clients zeigt, die mit demselben
00:07:13Agenten über Standard-I/O lokal in diesem Fall kommunizieren. Aber lokal ist offensichtlich nicht genug, oder? Wenn Sie möchten, dass sich das
00:07:21durchsetzt, müssen Sie auch Remote-Unterstützung bieten können. Agenten werden in der Cloud laufen. Und als wir
00:07:25zu diesem Projekt kamen, sahen wir, dass es noch keine Remote-Unterstützung gab. Also haben wir ein HTTP-
00:07:31Transportprotokoll spezifiziert; es gibt eine HTTP-Version und ein WebSocket-Upgrade. Die Nachrichten sind jetzt also dieselben,
00:07:37die Protokollsemantik ist dieselbe, aber es gibt einen neuen Transport, der gerade eingeführt wird und der
00:07:42Remoting ermöglicht. Und so sehen wir das beim Goose-Team: Der agentische Stack besteht im Wesentlichen aus diesen
00:07:49vier wichtigen Komponenten, oder? Sie haben den Client, also die App, die der Benutzer verwendet,
00:07:54oder eine Headless-App, die irgendwo auf dem Computer läuft. Es gibt das Harness, das das Programm ist,
00:07:59das die Tool-Aufruf-Schleife implementiert. Es gibt die Tools selbst, oft MCP. Und dann gibt es das
00:08:04Modell, oder? Und wenn Sie einen Remote-Transport für das Agent Client Protocol implementieren und MCP einen Remote-
00:08:13Transport für den Tool-Aufruf hat und die Modelle seit Langem alle Remote-Endpunkte wie Antwort-
00:08:18APIs haben, haben Sie nun die Flexibilität, alle diese vier Komponenten zu verschieben. Sie
00:08:24könnten alle auf demselben Computer laufen. Das Harness könnte sich auf einem anderen Computer befinden als der Client.
00:08:29Das Modell könnte das Einzige sein, das remote ist. Die Tools könnten das Einzige sein, das remote ist.
00:08:34Sich auf Standards auszurichten und sicherzustellen, dass sie gute Transportmöglichkeiten bieten, wird es uns ermöglichen,
00:08:39alle Teile dieses agentischen Stacks zu verschieben. Und ich kann dazu auch eine kurze Demo zeigen.
00:08:46Dies ist ein Client, nur um zu zeigen, wie einfach es ist, Clients dafür zu erstellen. Ich habe das letzte Nacht
00:08:53einfach zusammengestrickt und sage: Schreib ein Gedicht. Das verbindet sich also wieder mit demselben Prozess auf meinem Computer.
00:09:01In diesem Fall lasse ich es über das Netzwerk laufen, aber es ist auf meinem Rechner.
00:09:03Es verbindet sich und sendet Goose-Anweisungen darüber, was aus der Ferne zu tun ist. Das könnte also in einem Container sein,
00:09:09es könnte in der Cloud sein, aber die Nachrichten sind dieselben und die Bibliothek, die Sie verwenden, ist dieselbe.
00:09:15Sie können also sehr, sehr einfach zwischen lokal und remote wechseln.
00:09:21Wenn Sie sich also in dieses Ökosystem einklinken möchten, fangen Sie an, mit der Unterstützung zu experimentieren,
00:09:25entweder indem Sie eigene Clients erstellen oder Harnesses erweitern.
00:09:29Dies verlinkt Sie zur Website des Agent Client Protocols, um zu erfahren, wie Sie beginnen können. Es gibt bereits eine Reihe von Clients
00:09:34und Agent-Servern. Das reicht von Editoren über Desktop-Anwendungen und mobile Anwendungen
00:09:41bis hin zu terminalbasierten Dingen. Es gibt eine enorme Ausbreitung. Und ich denke, die Anwendungsfälle sind potenziell riesig,
00:09:49oder? Wenn wir hier eine gewisse Interoperabilität hinbekommen, weil die Leute persönliche Clients erstellen können.
00:09:54Clients. Genau so möchte man das haben, dass sie Ihre Agenten orchestrieren. Man könnte quasi Clients haben,
00:10:00Geschäftsdomänen, ein einzelnes Unternehmen oder eine Reihe von Clients von einem Unternehmen erstellt wurden. Sie könnten einen White-Label-Client anpassen
00:10:06und ihn mit allen Harnesses funktionieren lassen. Und ich denke auch, wenn wir hier eine neue Kategorie schaffen,
00:10:12wird die Qualität der Clients steigen, oder? Denn jedes Mal, wenn ein Ökosystem oder ein Marktplatz entsteht
00:10:17und es viele Optionen gibt, können Benutzer mit den Füßen abstimmen, wenn Clients ihre Bedürfnisse nicht erfüllen.
00:10:22Und deshalb werden die Leute anfangen, um die Qualität der Benutzererfahrung zu konkurrieren.
00:10:26Und im Großen und Ganzen sollte dies meiner Meinung nach die Benutzererfahrung bei der Verwendung von KI verbessern.
00:10:33Das war's von mir für heute. Vielen Dank. Und wenn Sie sich mit mir unterhalten möchten, finden Sie mich
00:10:37danach oder schicken Sie mir eine E-Mail. Ich helfe Ihnen gerne dabei, sich in diese Arbeit einzubringen. Vielen Dank.
커뮤니티 글
아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!
이 영상에 대해 글쓰기