Veröffentlicht am: 14. Januar 2026
11 Minuten Lesezeit
Vertiefe dich in GitLab Duo Agent Platform Flows. Lerne Foundational Flows kennen, erstelle Custom User-defined Workflows und lerne Flow-Orchestrierungsmuster.

Willkommen zu Teil 4 unseres achtteiligen Leitfadens GitLab Duo Agent Platform: Der vollständige Einstiegsleitfaden, in dem du lernst, KI-Agenten und Workflows in deinem Entwicklungslebenszyklus zu erstellen und bereitzustellen. Folge Tutorials, die dich von deiner ersten Interaktion zu produktionsreifen Automatisierungs-Workflows mit vollständiger Anpassung führen.
In diesem Artikel:
🎯 Probiere GitLab Duo Agent Platform noch heute aus!
Flows sind Kombinationen aus einem oder mehreren Agenten, die zusammenarbeiten. Sie orchestrieren mehrstufige Workflows, um komplexe Probleme zu lösen, und werden auf der GitLab-Plattform-Compute ausgeführt.
Hauptmerkmale von Flows:
Denke an Flows als autonome Workflows, die Kontext sammeln, Entscheidungen treffen, Änderungen ausführen und Ergebnisse liefern können, während du dich auf andere Arbeit konzentrierst.
Agenten arbeiten interaktiv mit dir. Flows arbeiten autonom für dich.
| Aspekt | Agents | Flows |
|---|---|---|
| Interaktion | Interaktiver Chat | Autonome Ausführung |
| Wann verwenden | Fragen, Anleitung und interaktive Aufgabendurchführung | Autonome mehrstufige Workflows |
| Nutzerbeteiligung | Aktive Konversation | Auslösen und Ergebnisse überprüfen |
| Ausführungszeit | Echtzeit-Antworten | Hintergrundverarbeitung |
| Komplexität | Single-Agent-Aufgaben | Multi-Agent-Orchestrierung |
| Typ | Interface | Betreuer(in) | Use Case |
|---|---|---|---|
| Foundational | UI-Aktionen, IDE-Interface | GitLab | Software Development, Developer in Issues, Fix CI/CD Pipeline, Convert to GitLab CI/CD, Code Review, SAST False Positive Detection |
| Custom | Mention, Assign, Assign Reviewer | Du | Beispiele: Größere Migration/Modernisierung, Release-Automatisierung, Dependency-Update-Management |
Foundational Flows sind produktionsreife Workflows, die von GitLab erstellt und gewartet werden. Sie sind über dedizierte UI-Controls oder IDE-Interfaces zugänglich.
| Flow | Wo verfügbar | Wie zugreifen | Am besten für |
|---|---|---|---|
| Software Development | IDEs (VS Code, JetBrains, Visual Studio) | Flows-Tab in IDE | Feature-Implementierung, komplexes Refactoring, Multi-File-Änderungen |
| Developer | GitLab Web UI | „Generate MR with Duo"-Button auf Issues | Gut definierte Features, Bug-Fixes mit klaren Schritten |
| Fix CI/CD Pipeline | GitLab Web UI | Failed Pipeline Interface | Pipeline-Debugging, CI/CD-Konfigurationsprobleme |
| Convert to GitLab CI/CD | GitLab Web UI | „Convert to GitLab CI/CD"-Button auf Jenkinsfile | Jenkins zu GitLab CI/CD Migration |
| Code Review | GitLab Web UI | Als Reviewer auf MR zuweisen | Automatisierter Code Review mit KI-nativer Analyse und Feedback |
| SAST false positive detection | GitLab Web UI | Security Scan Results | Automatisches Identifizieren und Filtern von False Positives in SAST-Findings |
Custom Flows sind YAML-definierte Workflows, die du für die spezifischen Anforderungen deines Teams erstellst. Sie laufen in GitLab Runner und können durch GitLab-Events ausgelöst werden.
🎯 Jetzt ausprobieren: Interaktive Demo von Custom Flows – Erkunde, wie du Custom Flows erstellen und konfigurieren kannst.
Custom Flows automatisieren sich wiederholende mehrstufige Aufgaben, die spezifisch für den Workflow deines Teams sind. Anders als Foundational Flows, die allgemeinen Zwecken dienen, sind Custom Flows auf die Prozesse, Tools und Anforderungen deiner Organisation zugeschnitten.
Häufige Use Cases:
Ein Fintech-Unternehmen erstellt einen Compliance-Flow, der bei jedem Merge Request läuft. Wenn er durch @compliance-flow ausgelöst wird, führt der Flow folgende Schritte aus:
Die gesamte Compliance-Überprüfung erfolgt automatisch in 5-10 Minuten und bietet konsistente Checks über alle Merge Requests hinweg.
Custom Flows können auf mehrere Arten ausgelöst werden:
1. Via Mentions in Issues/MRs:
Erwähne den Flow in einem Kommentar, um ihn auszulösen. Beispiel für einen Dokumentationsgenerierungs-Flow: @doc-generator Generate API documentation for this feature
2. Durch Zuweisen des Flows zu einem Issue oder MR: Weise den Flow über eine der folgenden Methoden zu:
/assign-Befehl in einem Kommentar. Beispiel: /assign @doc-generator3. Durch Zuweisen des Flows als Reviewer: Weise den Flow als Reviewer auf einem Merge Request über eine der folgenden Methoden zu:
/assign_reviewer-Befehl in einem Kommentar. Beispiel: /assign_reviewer @doc-reviewer
Jede dieser Methoden löst den Flow automatisch aus, um seine Aufgaben auszuführen.Custom Flows werden über die GitLab UI unter Automate → Flows → New flow in deinem Projekt oder über Explore → AI Catalog → Flows → New flow erstellt. Du definierst deinen Flow mithilfe einer YAML-Konfiguration, die Komponenten, Prompts, Routing und Ausführungsablauf spezifiziert. Das YAML-Schema ermöglicht es dir, ausgeklügelte Multi-Agent-Workflows mit präziser Kontrolle über Agentenverhalten und Orchestrierung zu erstellen.
Schlüsselelemente eines Custom Flows:
Hintergrund: Dieses Beispiel zeigt einen Feature-Implementierungs-Flow für eine Reisebuchungsplattform. Wenn ein(e) Entwickler(in) ein Issue mit Feature-Anforderungen erstellt, kann dieser Flow ausgelöst werden, um automatisch die Anforderungen zu analysieren, die Codebasis zu überprüfen, die Lösung zu implementieren und einen Merge Request zu erstellen, alles ohne manuelle Intervention. Hier ist die YAML-Konfiguration:
version: "v1"
environment: ambient
components:
- name: "implement_feature"
type: AgentComponent
prompt_id: "implementation_prompt"
inputs:
- from: "context:goal"
as: "user_goal"
- from: "context:project_id"
as: "project_id"
toolset:
- "get_issue"
- "get_repository_file"
- "list_repository_tree"
- "find_files"
- "blob_search"
- "create_file"
- "create_commit"
- "create_merge_request"
- "create_issue_note"
ui_log_events:
- "on_agent_final_answer"
- "on_tool_execution_success"
- "on_tool_execution_failed"
prompts:
- name: "Cheapflights Feature Implementation"
prompt_id: "implementation_prompt"
unit_primitives: []
prompt_template:
system: |
You are an expert full-stack developer specializing in travel booking platforms, specifically Cheapflights.
Your task is to:
1. Extract the issue IID from the goal (look for "Issue IID: XX")
2. Use get_issue with project_id={{project_id}} and issue_iid to retrieve issue details
3. Analyze the requirements for the flight search feature
4. Review the existing codebase using list_repository_tree, find_files, and get_repository_file
5. Design and implement the solution following Cheapflights best practices
6. Create all necessary code files using create_file (call multiple times for multiple files)
7. Commit the changes using create_commit
8. Create a merge request using create_merge_request
9. Post a summary comment to the issue using create_issue_note with the MR link
Cheapflights Domain Expertise:
- Flight search and booking systems (Amadeus, Sabre, Skyscanner APIs)
- Fare comparison and pricing strategies
- Real-time availability and inventory management
- Travel industry UX patterns
- Performance optimization for high-traffic flight searches
Code Standards:
- Clean, maintainable code (TypeScript/JavaScript/Python/React)
- Proper state management for React components
- RESTful API endpoints with comprehensive error handling
- Mobile-first responsive design
- Proper timezone handling (use moment-timezone or date-fns-tz)
- WCAG 2.1 accessibility compliance
Flight-Specific Best Practices:
- Accurate fare calculations (base fare + taxes + fees + surcharges)
- Flight duration calculations across timezones
- Search filter logic (price range, number of stops, airlines, departure/arrival times)
- Sort algorithms (best value, fastest, cheapest)
- Handle edge cases: date line crossing, daylight saving time, red-eye flights
- Currency amounts use proper decimal handling (avoid floating point errors)
- Dates use ISO 8601 format
- Flight codes follow IATA standards (3-letter airport codes)
Implementation Requirements:
- No TODOs or placeholder comments
- All functions must be fully implemented
- Include proper TypeScript types or Python type hints
- Add JSDoc/docstring comments for all functions
- Comprehensive error handling and input validation
- Basic unit tests for critical functions
- Performance considerations for handling large result sets
CRITICAL - Your final comment on the issue MUST include:
- **Implementation Summary**: Brief description of what was implemented
- **Files Created/Modified**: List of all files with descriptions
- **Key Features**: Bullet points of main functionality
- **Technical Approach**: Brief explanation of architecture/patterns used
- **Testing Notes**: How to test the implementation
- **Merge Request Link**: Direct link to the created MR (format: [View Merge Request](MR_URL))
IMPORTANT TOOL USAGE:
- Extract the issue IID from the goal first (e.g., "Issue IID: 12" means issue_iid=12)
- Use get_issue with project_id={{project_id}} and issue_iid=<extracted_iid>
- Create multiple files by calling create_file multiple times (once per file)
- Use create_commit to commit all files together with a descriptive commit message
- Use create_merge_request to create the MR and capture the MR URL from the response
- Use create_issue_note with project_id={{project_id}}, noteable_id=<issue_iid>, and body=<your complete summary with MR link>
- Make sure to include the MR link in the comment body so users can easily access it
user: |
Goal: {{user_goal}}
Project ID: {{project_id}}
Please complete the following steps:
1. Extract the issue IID and retrieve full issue details
2. Analyze the requirements thoroughly
3. Review the existing codebase structure and patterns
4. Implement the feature with production-ready code
5. Create all necessary files (components, APIs, tests, documentation)
6. Commit all changes with a clear commit message
7. Create a merge request
8. Post a detailed summary comment to the issue including the MR link
placeholder: history
params:
timeout: 300
routers:
- from: "implement_feature"
to: "end"
flow:
entry_point: "implement_feature"
Was dieser Flow macht: Dieser Flow orchestriert einen KI-Agenten, um automatisch ein Feature zu implementieren, indem er Issue-Anforderungen analysiert, die Codebasis überprüft, produktionsreifen Code mit Domain-Expertise schreibt und einen Merge Request mit einem detaillierten Summary-Kommentar erstellt.
Für vollständige Dokumentation und Beispiele siehe:
Flows laufen auf GitLab-Plattform-Compute. Wenn sie durch ein Event (Mention, Assignment oder Button-Click) ausgelöst werden, wird eine Session erstellt und der Flow beginnt mit der Ausführung.
Flows haben Zugriff auf Umgebungsvariablen, die Kontext über den Trigger und das GitLab-Objekt bereitstellen:
AI_FLOW_CONTEXT – JSON-serialisierter Kontext inklusive MR-Diffs, Issue-Beschreibungen, Kommentaren und Discussion-ThreadsAI_FLOW_INPUT – Der Prompt- oder Kommentartext des Nutzers, der den Flow ausgelöst hatAI_FLOW_EVENT – Der Event-Typ, der den Flow ausgelöst hat (mention, assign, assign_reviewer)Diese Variablen ermöglichen es deinem Flow zu verstehen, was ihn ausgelöst hat, und auf relevante GitLab-Daten zuzugreifen, um seine Aufgabe zu erfüllen.
Custom Flows können mehrere Agent-Komponenten enthalten, die sequenziell zusammenarbeiten. Die YAML-Konfiguration des Flows definiert:
Beispielsweise könnte ein Code-Review-Flow einen Security Agent, dann einen Quality Agent, dann einen Approval Agent haben, mit Routern, die sie sequenziell verbinden.
Um Flows anzuzeigen, die für dein Projekt laufen:
Sessions zeigen detaillierte Informationen inklusive Schritt-für-Schritt-Fortschritt, Tool-Aufrufe, Reasoning und Entscheidungsprozess.
Du verstehst jetzt Flows, wie man sie erstellt und wann man sie im Vergleich zu Agenten verwendet. Als Nächstes lerne, wie du Agenten und Flows über deine Organisation hinweg entdecken, erstellen und teilen kannst in Teil 5: AI Catalog. Erkunde den AI Catalog, um verfügbare Flows und Agenten zu durchsuchen, sie zu deinen Projekten hinzuzufügen und deine eigenen Agenten und Flows zu veröffentlichen.
Nächster: Teil 5: AI Catalog
Vorheriger: Teil 3: Agenten verstehen
Dieser Blogbeitrag hat gefallen oder es gibt Fragen oder Feedback? Ein neues Diskussionsthema im GitLab-Community-Forum erstellen und Eindrücke austauschen.
Feedback teilen