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 leistungsstarke domänenspezifische Sprache (DSL), mit der Entwickler deklarative Agents und API-Plug-Ins mithilfe einer sauber, ausdrucksstarken Syntax erstellen können. Diese spezialisierte Sprache basiert auf TypeSpec und bietet Microsoft 365-spezifische Decorators und Funktionen, die den Entwicklungsprozess für die Erweiterung 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 transformiert, wie Entwickler Copilot-Erweiterbarkeitslösungen erstellen, indem eine allgemeine Abstraktionsebene für komplexe JSON-Schemas und OpenAPI-Dateien bereitgestellt wird. Die Sprache generiert automatisch die erforderlichen Manifestdateien und -konfigurationen, wodurch die Entwicklungszeit reduziert und Fehler minimiert werden. Mit seiner umfassenden IntelliSense-Unterstützung, Typsicherheit und umfassenden Validierung ermöglicht TypeSpec Entwicklern, sich auf die Entwicklung innovativer KI-gestützter Umgebungen zu konzentrieren, anstatt mit Konfigurationsdetails zu ringen.
Typsicherheit und Entwicklererfahrung
TypeSpec für Microsoft 365 Copilot bietet eine stark typisierte Entwicklungsumgebung, 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 vor der Bereitstellung ordnungsgemäß konfiguriert sind. Diese Typsicherheit erstreckt sich auf alle Aspekte Ihrer Agent-Definition, von grundlegenden Metadaten bis hin zu komplexen Funktionskonfigurationen und API-Vorgangsdefinitionen.
Die Entwicklerumgebung wird durch die umfassende IntelliSense-Unterstützung in Visual Studio Code und Visual Studio verbessert und bietet Echtzeitfeedback, automatische Vervollständigung und Inlinedokumentation. Die Sprache lässt sich nahtlos in das Microsoft 365 Agents Toolkit integrieren und bietet einen vollständigen Entwicklungsworkflow von der Erstellung bis zur Bereitstellung. Fehlermeldungen sind klar und umsetzbar, sodass Entwickler Probleme während der Entwicklung schnell identifizieren und beheben können.
Vereinfachte Erstellung von Agents und Plug-Ins
TypeSpec vereinfacht das Erstellen deklarativer Agents und API-Plug-Ins erheblich, indem ausführliche JSON-Konfigurationen durch intuitive, decorator-basierte Syntax ersetzt werden. Anstatt komplexe Manifestdateien manuell zu erstellen, können Entwickler semantische Decorators wie @agent, @instructionsund @capabilities verwenden, um ihre Agents zu definieren. Dieser Ansatz reduziert die Wahrscheinlichkeit von Konfigurationsfehlern und macht die Codebasis verwaltbarer und lesbarer.
Bei der Arbeit mit komplexen API-Oberflächen zeichnet sich TypeSpec dadurch aus, dass herkömmliche OpenAPI-Dateien unhandlich und schwer zu verwalten sind. Große OpenAPI-Spezifikationen mit Hunderten von Endpunkten, komplexen geschachtelten Schemas und komplizierten Authentifizierungsmustern können schwierig zu erstellen, zu verwalten und zu verstehen sein. TypeSpec löst diese Problempunkte, indem Abstraktionen auf höherer Ebene bereitgestellt werden, die automatisch die zugrunde liegenden OpenAPI-Spezifikationen generieren. Entwickler können sich auf die Definition von Geschäftslogik und API-Verhalten mithilfe der ausdrucksstarken Syntax von TypeSpec konzentrieren, während der Compiler die mühsamen Details der OpenAPI-Konformität, schemavalidierung und Querverweisverwaltung verarbeitet.
Die Sprache bietet integrierte Decorators für alle Microsoft 365 Copilot Funktionen, einschließlich Websuche, OneDrive- und SharePoint-Integration, Teams-Nachrichten, Codeinterpreter und mehr. API-Plug-Ins profitieren von der automatischen OpenAPI-Spezifikationsgenerierung, bei der TypeSpec-Vorgänge nahtlos in REST-API-Definitionen konvertiert werden. Diese Automatisierung entfällt die Notwendigkeit, eine separate API-Dokumentation zu verwalten, und stellt die Konsistenz zwischen Ihren TypeSpec-Definitionen und den resultierenden API-Verträgen sicher.
Automatische Manifestgenerierung und -validierung
Eines der leistungsstärksten Features von TypeSpec für Microsoft 365 Copilot ist die Möglichkeit, automatisch gültige Manifestdateien aus Ihren TypeSpec-Definitionen zu generieren. 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 Überprüfung, um häufige Konfigurationsfehler abzufangen, 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 und gibt Entwicklern sofortiges Feedback und verhindert die Bereitstellung ungültiger Konfigurationen.
Beispiele
Hier finden Sie praktische Beispiele zur Veranschaulichung von TypeSpec für Microsoft 365 Copilot Syntax:
Einfacher deklarativer Agent
@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 Microsoft.M365Copilot;
@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
Sind Sie bereit, mit dem Erstellen mit TypeSpec für Microsoft 365 Copilot zu beginnen? Gehen Sie folgendermaßen vor:
- Erfahren Sie mehr über unsere Decorators – Umfassende Referenz für alle Microsoft 365 Copilot Decorators, einschließlich @agent, @instructions, @capabilitiesund mehr
- Informationen zu unseren Funktionen : Ausführlicher Leitfaden zu Agent-Funktionen wie Websuche, OneDrive-Integration, Teams-Nachrichten und Codeinterpreter
- Informationen zur Authentifizierung : Grundlegendes zu Authentifizierungsmustern und Sicherheitskonfigurationen für TypeSpec-basierte Agents und Plug-Ins
- Erstellen deklarativer Agents mit TypeSpec : Schritt-für-Schritt-Tutorial zum Erstellen eines deklarativen Agents mit TypeSpec und dem Microsoft 365 Agents Toolkit
- Erstellen von API-Plug-Ins mit TypeSpec : Vollständige Anleitung zum Erstellen von API-Plug-Ins mit REST-Vorgängen, adaptiven Karten und Authentifizierung
- Beginnen Sie mit einem Beispiel – von der Community bereitgestellte Beispiele, die Sie inspirieren können!
Verwandte Inhalte
- Microsoft 365 Agents Toolkit – Das offizielle Entwicklungstoolkit zum Erstellen von Copilot-Agents
- Dokumentation zur TypeSpec-Sprache – Offizielle TypeSpec-Sprachspezifikation und -leitfäden