> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Wöchentliche Deduplizierung und Bereinigung von Knowledge

export const UseCaseHero = ({title, description, prompt, category, features, devinUrl, agent, intent, playbookId, type}) => {
  const encodedPrompt = encodeURIComponent(prompt || '');
  const tag = 'docs-use-case-gallery';
  const utm = 'utm_source=docs&utm_medium=use-case-gallery&utm_campaign=hero-cta';
  const agentParams = (agent ? '&agent=' + agent : '') + (intent ? '&intent=' + intent : '') + (playbookId ? '&playbookId=' + playbookId : '');
  const devinHref = type === 'schedule' ? 'https://app.devin.ai/settings/schedules/create?' + utm + agentParams + (prompt ? '&prompt=' + encodedPrompt : '') : type === 'review' ? 'https://app.devin.ai/review?' + utm : agent === 'ada' ? 'https://app.devin.ai/search?' + utm + '&noSubmit=true' + (prompt ? '&prompt=' + encodedPrompt : '') : devinUrl ? devinUrl.includes('?') ? devinUrl + '&' + utm + agentParams : devinUrl + '?' + utm + agentParams : prompt ? 'https://app.devin.ai/?tags=' + tag + '&' + utm + agentParams + '&prompt=' + encodedPrompt : 'https://app.devin.ai/?' + utm + agentParams;
  const buttonLabel = type === 'schedule' ? 'Schedule in Devin ↗' : type === 'review' ? 'Set Up Devin Review ↗' : agent === 'advanced' ? 'Try in Devin ↗' : agent === 'dana' ? 'Try in Dana ↗' : agent === 'ada' ? 'Try in Ask Devin ↗' : 'Try in Devin ↗';
  const featureList = features ? features.split(',').map(f => f.trim()) : [];
  return <div className="uc-hero">
      <div className="uc-hero-inner">
        <div className="uc-hero-left">
          <h1 className="uc-hero-title">{title}</h1>
          <p className="uc-hero-desc">{description}</p>
          <div>
            <a href={devinHref} target="_blank" rel="noopener noreferrer" className="try-in-devin-btn">
              {buttonLabel}
            </a>
          </div>
        </div>
        <div className="uc-hero-meta">
          <div className="uc-meta-item">
            <span className="uc-meta-label">Author</span>
            <span className="uc-meta-value">Cognition</span>
          </div>
          <div className="uc-meta-item">
            <span className="uc-meta-label">Category</span>
            <span className="uc-meta-value">{category}</span>
          </div>
          {featureList.length > 0 && <div className="uc-meta-item">
              <span className="uc-meta-label">Features</span>
              <span className="uc-meta-value">{featureList.join(', ')}</span>
            </div>}
        </div>
      </div>
    </div>;
};

export const PromptBlock = ({children, type, agent, intent, playbookId}) => {
  var utm = 'utm_source=docs&utm_medium=use-case-gallery&utm_campaign=prompt-block';
  var tag = 'docs-use-case-gallery';
  var agentParams = (agent ? '&agent=' + agent : '') + (intent ? '&intent=' + intent : '') + (playbookId ? '&playbookId=' + playbookId : '');
  var label = type === 'schedule' ? 'Schedule in Devin' : type === 'playbook' ? 'Create Playbook' : type === 'knowledge' ? 'Add to Knowledge' : agent === 'advanced' ? 'Try in Devin' : agent === 'dana' ? 'Try in Dana' : agent === 'ada' ? 'Try in Ask Devin' : 'Try in Devin';
  var buildUrl = function (text) {
    var encoded = encodeURIComponent(text);
    if (type === 'schedule') return 'https://app.devin.ai/settings/schedules/create?' + utm + agentParams + '&prompt=' + encoded;
    if (type === 'playbook') return 'https://app.devin.ai/settings/playbooks/create?' + utm + '&body=' + encoded;
    if (type === 'knowledge') return 'https://app.devin.ai/knowledge?' + utm + '&body=' + encoded;
    if (agent === 'ada') return 'https://app.devin.ai/search?' + utm + '&noSubmit=true&prompt=' + encoded;
    return 'https://app.devin.ai/?tags=' + tag + '&' + utm + agentParams + '&prompt=' + encoded;
  };
  const ref = React.useRef(null);
  const [href, setHref] = React.useState('#');
  React.useEffect(() => {
    if (!ref.current) return;
    var codeEl = ref.current.querySelector('pre code');
    if (codeEl) {
      var text = codeEl.textContent.trim();
      if (text) setHref(buildUrl(text));
    }
    var header = ref.current.querySelector('[data-component-part="code-block-header"]');
    if (header && !header.querySelector('.prompt-block-devin-link')) {
      var link = document.createElement('a');
      link.href = href;
      link.target = '_blank';
      link.rel = 'noopener noreferrer';
      link.className = 'prompt-block-devin-link';
      link.style.cssText = 'display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:#fff;font-size:11px;font-weight:500;padding:4px 10px;border-radius:6px;white-space:nowrap;background:#317CFF;transition:background 0.2s;margin-left:8px;';
      link.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg> ' + label;
      link.onmouseenter = function () {
        link.style.background = '#2968D9';
      };
      link.onmouseleave = function () {
        link.style.background = '#317CFF';
      };
      header.appendChild(link);
    }
    var existingLink = ref.current.querySelector('.prompt-block-devin-link');
    if (existingLink && href !== '#') existingLink.href = href;
  });
  return <div className="prompt-block" ref={ref}>{children}</div>;
};

<UseCaseHero title="Wöchentliche Deduplizierung und Bereinigung von Knowledge-Einträgen" description="Plane für Montag eine Devin-Sitzung ein, in der neue Vorschläge geprüft, doppelte Einträge zusammengeführt und widersprüchliche Anweisungen aufgelöst werden – damit deine Wissensbasis ohne manuellen Aufwand korrekt bleibt." prompt="Überprüfe alle Knowledge-Vorschläge der vergangenen Woche. Führe Duplikate zusammen, löse Konflikte zwischen Einträgen, verwerfe veraltete Vorschläge und übernimm wirklich neue Vorschläge mit klaren Trigger-Beschreibungen. Scanne anschließend das bestehende Knowledge nach Einträgen, die auf veraltete Muster verweisen." category="Devin-Optimierung" features="Schedules, Advanced" type="schedule" agent="advanced" />

<div className="uc-detail-wrapper">
  <Tip>Möchtest du das nicht manuell einrichten? Füge einen Link zu dieser Seite in eine Devin-Sitzung ein und bitte Devin, alles für dich einzurichten.</Tip>

  <Steps>
    <Step title="Erstelle deinen Bereinigungs-Prompt für Montag">
      Während euer Team im Laufe der Woche mit Devin arbeitet, sammeln sich aus jeder Session [Knowledge-Vorschläge](/de/product-guides/knowledge) an – Muster, die Devin gelernt hat, Befehle, die funktioniert haben, Konventionen, die es entdeckt hat. Bis Freitag habt ihr möglicherweise ein Dutzend neuer Vorschläge, zusätzlich zu bestehenden Einträgen, die auf umbenannte Dateien oder veraltete APIs verweisen. Eine wiederkehrende Devin-Session am Montagmorgen kann all das verarbeiten, bevor euer Team in die Woche startet.

      Euer Prompt sollte zwei Aufgaben abdecken: die Vorschläge der vergangenen Woche zu bewerten und bestehende Einträge von Duplikaten zu bereinigen. Hier ist ein Prompt, der beides erledigt:

      <PromptBlock type="schedule" agent="advanced">
        ```txt Monday knowledge deduplication and cleanup theme={null}
        Review and maintain our knowledge base:

        1. Triage pending suggestions from the past week:
           - If new and useful, propose a knowledge entry with a specific trigger description
           - If it overlaps with an existing entry, propose merging into the existing one
           - If outdated or too vague, propose dismissing it
        2. Deduplicate and resolve conflicts in existing entries:
           - Find entries covering the same topic (e.g., two entries about Docker build steps) and propose consolidating into one
           - Identify entries giving contradictory advice (e.g., different pool sizes) and propose a resolution based on recency
           - Flag entries referencing old file paths, deprecated APIs, or removed packages
        ```
      </PromptBlock>

      Um benachrichtigt zu werden, wenn jede Ausführung abgeschlossen ist, konfiguriert einen **Slack-Channel** für den Zeitplan – Devin postet dort eine Zusammenfassung der vorgeschlagenen Änderungen, sodass euer Team sie prüfen kann, ohne die Session öffnen zu müssen.
    </Step>

    <Step title="Erstelle den Zeitplan für Montag, 8 Uhr">
      Sie benötigen eine [geplante Session](/de/product-guides/scheduled-sessions), damit Devin Zugriff auf die Knowledge-Management-Tools hat.

      1. Navigieren Sie zu **Schedules** in der linken Seitenleiste von [app.devin.ai](https://app.devin.ai/?utm_source=docs\&utm_medium=use-case-gallery), oder verwenden Sie die Option **Schedule Devin** im Kontextmenü des Eingabefelds auf der Startseite
      2. Klicken Sie auf **Create schedule** und setzen Sie die Häufigkeit auf **Weekly — every Monday at 8:00 AM** in der Zeitzone Ihres Teams, sodass eine volle Woche an Vorschlägen verarbeitet werden kann, bevor die neue Woche beginnt
      3. Fügen Sie Ihren Monday-Cleanup-Prompt ein
      4. Hängen Sie optional ein [Playbook](/de/product-guides/creating-playbooks) an, wenn Sie standardisieren möchten, wie Devin neue Einträge formatiert oder Knowledge-Ordner organisiert

      Devin sendet E-Mail-Benachrichtigungen, wenn jede geplante Ausführung startet und abgeschlossen ist. Wenn Ihr Team die [Slack-Integration](/de/integrations/slack) verwendet, postet Devin die Zusammenfassung außerdem direkt in Ihrem Channel. Weitere Informationen zu Planungsoptionen finden Sie im [Leitfaden zu Scheduled Sessions](/de/product-guides/scheduled-sessions).
    </Step>

    <Step title="Überprüfen und genehmigen Sie den ersten Lauf am Montag">
      Nachdem der erste Montagslauf abgeschlossen ist, öffne die Session, um zu überprüfen, was Devin vorschlägt. **Devin wendet Knowledge-Änderungen nicht automatisch an** – es schlägt das Anlegen, Zusammenführen und Löschen vor, und du genehmigst oder lehnst jede Änderung manuell ab. Eine typische Zusammenfassung sieht so aus:

      ```
      Knowledge Deduplication & Cleanup — Monday, Feb 10

      Proposed new entries (3):
        - "Run prisma migrate deploy before integration tests" — from session #4821
        - "Redis cache TTL for user profiles is 5 minutes" — from session #4835
        - "Use vitest, not jest, for frontend unit tests" — from session #4802

      Proposed merges (2):
        - Consolidate "Docker build steps" + "Container build process" → single entry
        - Merge two overlapping entries about API error handling conventions

      Proposed removal (1):
        - "Bundle with webpack" — project migrated to Vite in December

      Proposed dismissals (4 suggestions):
        - Already covered by existing knowledge

      Conflict resolution (1):
        - Two entries disagreed on connection pool size (5 vs 10)
        - Recommends pool_size=10 based on the more recent performance tuning session
      ```

      Überprüfen Sie jeden Vorschlag und genehmigen oder verwerfen Sie ihn direkt in der Sitzung. Nutzen Sie die ersten Durchläufe zur Kalibrierung — wenn Devin zu aggressiv Einträge zur Entfernung vorschlägt, fügen Sie Ihrer Eingabe eine Notiz hinzu: *"Im Zweifel den Eintrag behalten und zur Überprüfung markieren, anstatt die Entfernung vorzuschlagen."*
    </Step>

    <Step title="Gewinnen Sie tiefere Einblicke mit monatlichen Audits">
      Sobald Ihre wöchentliche Aufräumroutine am Montag reibungslos läuft, verwenden Sie diese Prompts alle ein bis zwei Monate in einer einmaligen Advanced Devin-Session für eine gründlichere Pflege:

      <PromptBlock agent="advanced">
        ```txt Monthly knowledge staleness audit theme={null}
        Cross-check every knowledge entry against the current state of our
        connected repos. Flag entries that reference renamed files, removed
        packages, deprecated APIs, or outdated conventions. For each stale
        entry, propose an updated version based on what the codebase
        actually does today.
        ```
      </PromptBlock>

      <PromptBlock agent="advanced">
        ```txt Reorganize knowledge into folders theme={null}
        Reorganize the knowledge base into folders: "Backend", "Frontend",
        "DevOps", "Testing", "API Design". Move existing entries into the
        right folders and update trigger descriptions to be more specific.
        ```
      </PromptBlock>

      **Tipp:** Der wöchentliche Montagstermin kümmert sich um die laufende Deduplizierung und das Sichten von Vorschlägen. Diese tiefergehenden Audits – Analyse von Abdeckungslücken und Ordner-Umstrukturierung – sind punktuelle Aufgaben, die Sie am besten manuell alle ein bis zwei Monate ausführen.
    </Step>
  </Steps>
</div>
