Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
TypeSpec für Microsoft 365 Copilot ist eine domänenspezifische Sprache (DSL), mit der Sie deklarative Agents und API-Plug-Ins mit einer sauberen, ausdrucksstarken Syntax erstellen können. Diese spezialisierte Sprache basiert auf der Grundlage von TypeSpec und bietet Microsoft 365-spezifische Dekoratoren und Funktionen, die den Entwicklungsprozess zur Erweiterung von Microsoft 365 Copilot optimieren. TypeSpec dient als Alternative zur manuellen Erstellung von JSON-Manifestdateien und bietet einen entwicklerfreundlicheren Ansatz mit verbesserter Produktivität und Wartbarkeit.
TypeSpec für Microsoft 365 Copilot bietet eine Abstraktionsschicht auf hoher Ebene über komplexen JSON-Schemas und OpenAPI-Dateien. Die Sprache generiert automatisch die erforderlichen Manifestdateien und Konfigurationen, wodurch die Entwicklungszeit reduziert und Fehler minimiert werden. Mit IntelliSense-Unterstützung, Typsicherheit und umfassender Validierung können Sie sich auf das Verhalten Ihres Agents konzentrieren, anstatt sich um Konfigurationsdetails zu kümmern.
Tipp
Die Work IQ Dev Tools (Vorschau) und das Microsoft 365 Agents Toolkit bieten verwandte Pro-Code-Workflows. Informationen zur Auswahl basierend auf Ihren Fähigkeiten, der Paketroute und der Zielerfahrung finden Sie unter Auswählen von Entwicklungswerkzeugen für Ihr Plug-in.
Typsicherheit und Entwicklererfahrung
TypeSpec für Microsoft 365 Copilot bietet eine stark typisierte Entwicklungserfahrung, die Fehler zur Kompilierzeit und nicht zur Laufzeit abfängt. Die Sprache umfasst eine umfassende Typüberprüfung für alle Microsoft 365 Copilot-spezifischen Konstrukte, um sicherzustellen, dass Ihre deklarativen Agents und API-Plug-Ins ordnungsgemäß konfiguriert sind, bevor Sie sie bereitstellen. Diese Typsicherheit erstreckt sich auf alle Aspekte Ihrer Agent-Definition, von grundlegenden Metadaten bis hin zu komplexen Funktionskonfigurationen und API-Vorgangsdefinitionen.
IntelliSense-Unterstützung in Visual Studio Code und Visual Studio bietet Echtzeitfeedback, automatische Vervollständigung und Inlinedokumentation. Die Sprache lässt sich in das Microsoft 365 Agents Toolkit integrieren und bietet einen vollständigen Entwicklungsworkflow von der Erstellung über die Bereitstellung bis hin zur Veröffentlichung. Fehlermeldungen sind klar und aussagekräftig, sodass Sie Probleme während der Entwicklung schnell erkennen und beheben können.
Vereinfachtes Agent- und Plugin-Authoring
TypeSpec vereinfacht den Prozess der Erstellung deklarativer Agents und API-Plug-Ins, indem ausführliche JSON-Konfigurationen durch intuitive, Decorator-basierte Syntax ersetzt werden. Anstatt komplexe Manifestdateien manuell zu erstellen, können Sie semantische Dekoratoren wie @agent, @instructionsverwenden, und @capabilities um Ihre Agenten zu definieren. Dieser Ansatz verringert die Wahrscheinlichkeit von Konfigurationsfehlern und macht die Codebasis besser wartbar und lesbar.
Bei der Arbeit mit komplexen API-Oberflächen hilft TypeSpec dort, wo herkömmliche OpenAPI-Dateien unhandlich und schwer zu verwalten sind. Große OpenAPI-Spezifikationen mit Hunderten von Endpunkten, komplexen geschachtelten Schemata und komplizierten Authentifizierungsmustern können schwierig zu erstellen, zu verwalten und zu verstehen sein. TypeSpec behebt diese Problempunkte, indem es Abstraktionen auf höherer Ebene bereitstellt, die automatisch die zugrunde liegenden OpenAPI-Spezifikationen generieren. Sie können sich auf die Definition von Geschäftslogik und API-Verhalten mit der ausdrucksstarken Syntax von TypeSpec konzentrieren, während der Compiler die Details der OpenAPI-Konformität, Schemavalidierung und Querverweisverwaltung übernimmt.
Die Sprache bietet integrierte Dekoratoren für alle Funktionen von Microsoft 365 Copilot, einschließlich Websuche, OneDrive- und SharePoint-Integration, Teams-Nachrichten, Code-Interpreter und mehr. API-Plug-Ins profitieren von der automatischen Generierung von OpenAPI-Spezifikationen, bei denen TypeSpec-Vorgänge in REST-API-Definitionen konvertiert werden. Diese Automatisierung macht die Pflege einer separaten API-Dokumentation überflüssig und gewährleistet die Konsistenz zwischen Ihren TypeSpec-Definitionen und den resultierenden API-Verträgen.
Automatische Manifestgenerierung und -validierung
TypeSpec für Microsoft 365 Copilot generiert automatisch gültige Manifestdateien aus Ihren TypeSpec-Definitionen. Der Sprachcompiler analysiert Ihren TypeSpec-Code und erstellt die entsprechenden JSON-Manifeste für deklarative Agents und API-Plug-Ins, um sicherzustellen, dass sie den neuesten Schemaanforderungen entsprechen. Dieser Generierungsprozess umfasst eine umfassende Validierung, bei der häufige Konfigurationsfehler erkannt werden, bevor sie die Produktion erreichen.
Die automatische Generierung geht über die grundlegende Manifesterstellung hinaus und umfasst komplexe Konfigurationen wie adaptive Karten, Authentifizierungseinstellungen und funktionsspezifische Metadaten. TypeSpec überprüft alle Verweise, stellt die ordnungsgemäße Datenbindung für Adaptive Karten sicher und überprüft, ob alle erforderlichen Eigenschaften vorhanden sind. Diese Überprüfung erfolgt während des Buildprozesses, sodass Sie sofortiges Feedback erhalten und keine ungültigen Konfigurationen bereitstellen.
Beispiele
Im Folgenden finden Sie praktische Beispiele zur Veranschaulichung der TypeSpec für die Syntax von Microsoft 365 Copilot:
Einfacher deklarativer Agent
import "@typespec/http";
import "@typespec/openapi3";
import "@microsoft/typespec-m365-copilot";
using TypeSpec.Http;
using TypeSpec.M365.Copilot.Agents;
@agent(
"Customer Support Assistant",
"An AI agent that helps with customer support inquiries and ticket management"
)
@instructions("""
You are a customer support specialist. Help users with their inquiries,
provide troubleshooting steps, and escalate complex issues when necessary.
Always maintain a helpful and professional tone.
""")
@conversationStarter(#{
title: "Check Ticket Status",
text: "What's the status of my support ticket?"
})
namespace CustomerSupportAgent {
// Agent capabilities defined here
}
Agent mit Funktionen
import "@typespec/http";
import "@microsoft/typespec-m365-copilot";
using TypeSpec.Http;
using TypeSpec.M365.Copilot.Agents;
@agent(
"Multi-Capability Assistant",
"An AI agent that can search the web, access SharePoint content, and execute Python code"
)
@instructions("""
You are a versatile assistant that can help users with research, data analysis, and document management.
Use web search for current information, access SharePoint for company documents, and execute Python code for calculations and data analysis.
Always provide clear explanations of your findings and methodology.
""")
namespace MyAgent {
op webSearch is AgentCapabilities.WebSearch<Sites = [
{
url: "https://learn.microsoft.com"
}
]>;
op oneDriveSearch is AgentCapabilities.OneDriveAndSharePoint<
ItemsByUrl = [
{
url: "https://contoso.sharepoint.com/sites/projects"
}
]
>;
op codeInterpreter is AgentCapabilities.CodeInterpreter;
}
API-Plug-In mit Vorgängen
import "@typespec/http";
import "@microsoft/typespec-m365-copilot";
using TypeSpec.Http;
using TypeSpec.M365.Copilot.Agents;
using TypeSpec.M365.Copilot.Actions;
@agent(
"Project Management Assistant",
"An AI agent that helps manage projects and tasks through API operations"
)
@instructions("""
You are a project management assistant that helps users create, track, and manage projects.
Use the available API operations to list projects, get project details, and create new projects.
Always provide clear status updates and help users organize their work effectively.
""")
@service
@server("https://api.contoso.com")
@actions(#{
nameForHuman: "Project Management API",
descriptionForHuman: "Manage projects and tasks",
descriptionForModel: "API for creating, updating, and tracking project tasks"
})
namespace ProjectAPI {
model Project {
id: string;
name: string;
description?: string;
status: "active" | "completed" | "on-hold";
createdDate: utcDateTime;
}
model CreateProjectRequest {
name: string;
description?: string;
status?: "active" | "on-hold";
}
@route("/projects")
@get op listProjects(): Project[];
@route("/projects/{id}")
@get op getProject(@path id: string): Project;
@route("/projects")
@post op createProject(@body project: CreateProjectRequest): Project;
}
Erste Schritte
Informationen zum Beginnen mit dem Erstellen mit TypeSpec für Microsoft 365 Copilot finden Sie in den folgenden Ressourcen:
-
Decorators for TypeSpec für Microsoft 365 Copilot – Referenz für die Microsoft 365 Copilot Dekorateure, einschließlich
@agent,@instructions,@capabilities, und mehr. - Deklarative Agent-Funktionen in TypeSpec für Microsoft 365 Copilot – Leitfaden zu Agent-Funktionen wie Websuche, OneDrive-Integration, Teams-Nachrichten und Code-Interpreter.
- Authentifizierungsunterstützung in TypeSpec für Microsoft 365 Copilot – Authentifizierungsmuster und Sicherheitskonfigurationen für TypeSpec-basierte Agents und Plug-Ins.
- Erstellen deklarativer Agents mithilfe von Microsoft 365 Agents Toolkit und TypeSpec – Schritt-für-Schritt-Tutorial zum Erstellen eines deklarativen Agents mithilfe von TypeSpec und Agents Toolkit.
- Erstellen von API-Plug-Ins mit TypeSpec für Microsoft 365 Copilot – Leitfaden zum Erstellen von API-Plug-Ins mit REST-Vorgängen, adaptiven Karten und Authentifizierung.
- Beginnen Sie mit einem Beispiel : Von der Community bereitgestellte Beispiele.
Verwandte Inhalte
- Übersicht über das Microsoft 365 Agents Toolkit – Übersicht über das allgemein verfügbare Microsoft 365 Agents Toolkit.
- TypeSpec-Sprachdokumentation - Offizielle TypeSpec-Sprachspezifikation und Leitfäden