9 Punkte von xguru 2024-04-05 | 1 Kommentare | Auf WhatsApp teilen

Die neuesten Trends in den Bereichen Techniken/Tools/Plattformen/Programmiersprachen und Frameworks werden in vier Stufen visualisiert und erläutert: Hold/Assess/Trial/Adopt

Open-ish-Source-Lizenzen

  • Das Ökosystem der Open-Source-Softwareentwicklung hat sich lange Zeit auf den von der OSI (Open Source Initiative) katalogisierten Lizenzsatz gestützt
  • In den vergangenen Jahren hat sich die Landschaft der Open-Source-Lizenzen verändert, da Kernfunktionen weit verbreiteter Tools plötzlich kostenpflichtig wurden
  • Dass für Software bezahlt wird, ist kein Problem, aber es ist problematisch, wenn Kernfunktionen von Tools mit gewachsenem Ökosystem plötzlich kostenpflichtig werden
  • Es taucht auch Software auf, die als Open Source beworben wird, deren grundlegende Funktionen aber erst nach Zahlung eines Abonnements oder anderer Gebühren verfügbar sind
  • Es wird empfohlen, Lizenzfragen besondere Aufmerksamkeit zu schenken
  • Es sollte geprüft werden, ob alle Dateien unter der Lizenz auf oberster Ebene bereitgestellt werden

KI-gestützte Softwareentwicklungsteams

  • KI kann schrittweise in allen Aspekten der Softwareentwicklung Vorteile bringen, und Innovationen über den gesamten Entwicklungsprozess hinweg werden aktiv verfolgt
  • Mit den neuen Fähigkeiten der KI gehen auch neue Risiken für Softwarequalität und Sicherheit einher; daher sollte man gegenüber potenziellen Risiken wachsam sein, auch bei Nicht-Entwicklern

Neue Architekturmuster für LLMs

  • Mit der zunehmenden Nutzung von LLMs (Large Language Models) beginnen spezifische Architekturmuster zu entstehen, die typische Anwendungsfälle unterstützen
    • NeMo Guardrails: Ermöglicht den Aufbau von Governance-Richtlinien für den Einsatz von LLMs
    • Langfuse: Verbessert die Sichtbarkeit der Schritte, die zu LLM-Ausgaben führen, sowie den Umgang mit und die Validierung von aufgeblähten, mit generiertem Code gefüllten Codebasen
  • Im Enterprise-Ökosystem ist RAG (retrieval-augmented generation) das bevorzugte Muster, um die Qualität von LLM-Ausgaben zu erhöhen
  • Da generative KI weiter in die Softwareentwicklung einsickert, wird ein explosionsartiger Anstieg von Mustern (und unvermeidlichen Anti-Patterns) erwartet

PRs näher an richtiges CI heranziehen (Dragging PRs closer to proper CI)

  • Thoughtworks hat sich stets stark für schnelle Feedback-Loops und Continuous Integration (CI) eingesetzt
  • In jüngerer Zeit haben verpflichtende Pull Requests (PRs) dazu geführt, dass viele Teams den CI-Teil von CI/CD ignorieren
  • PRs wurden entwickelt, um große verteilte Open-Source-Teams und nicht vertrauenswürdige Beitragende zu verwalten, sind aber auch in kleinen, eng zusammenarbeitenden Delivery-Teams zum Synonym für Peer Review geworden
  • Entwickler sehnen sich nach dem Flow, den sie bei echter CI erleben
  • Untersucht wurden verschiedene Tools, die den Schmerz des PR-Review-Prozesses lindern sollen, etwa gitStream und GitHub Merge Queue
  • Wenn KI-Coding-Assistenten den Coding-Durchsatz erhöhen, führt dies tendenziell zu größeren PRs und setzt asynchrone Code-Review-Prozesse weiter unter Druck
  • Teams, die CI aufgrund externer Einschränkungen nicht nutzen können, wird empfohlen, Wege zur Verbesserung der Integrationsgenauigkeit und der Geschwindigkeit der Feedback-Zyklen zu finden

[Techniques]

Adopt

  1. Retrieval-augmented generation (RAG)

Trial

  1. Automatically generate Backstage entity descriptors
  2. Combining traditional NLP with LLMs
  3. Continuous compliance
  4. Edge functions - Cloudflare Workers
  5. Security champions
  6. Text to SQL - Vanna.ai
  7. Tracking health over debt

Assess

  1. AI team assistants
  2. Graph analysis for LLM-backed chats
  3. LLM-backed ChatOps
  4. LLM-powered autonomous agents - AutoGen
  5. Using GenAI to understand legacy codebases - Bloop
  6. VISS

Hold

  1. Broad integration tests
  2. Overenthusiastic LLM use
  3. Rush to fine-tune LLMs
  4. Web components for SSR web apps

[Platforms]

Adopt

  1. CloudEvents

Trial

  1. Arm in the cloud
  2. Azure Container Apps
  3. Azure OpenAI Service
  4. DataHub - Alles über die Data Discovery Platform (DDP)
  5. Infrastructure orchestration platforms
  6. Pulumi
  7. Rancher Desktop
  8. Weights & Biases

Assess

  1. Bun
  2. Chronosphere
  3. DataOS
  4. Dify
  5. Elasticsearch Relevance Engine
  6. FOCUS
  7. Gemini Nano
  8. HyperDX
  9. IcePanel
  10. Langfuse
  11. Qdrant
  12. RISC-V for embedded
  13. Tigerbeetle
  14. WebTransport
  15. Zarf
  16. ZITADEL

[Tools]

Adopt

  1. Conan
  2. Kaniko
  3. Karpenter

Trial

  1. 42Crunch API Conformance Scan
  2. actions-runner-controller
  3. Android Emulator Container
  4. AWS CUDOS
  5. aws-nuke
  6. Bruno
  7. Develocity
  8. GitHub Copilot
  9. Gradio
  10. Gradle Version Catalog
  11. Maestro
  12. Microsoft SBOM tool
  13. Open Policy Agent (OPA)
  14. Philips's self-hosted GitHub runner
  15. Pop
  16. Renovate
  17. Terrascan
  18. Velero

Assess

  1. aider
  2. Akvorado
  3. Baichuan 2
  4. Cargo Lambda
  5. Codium AI
  6. Continue
  7. Fern Docs
  8. Granted
  9. LinearB
  10. LLaVA
  11. Marimo
  12. Mixtral
  13. NeMo Guardrails
  14. Ollama
  15. OpenTofu
  16. QAnything
  17. System Initiative
  18. Tetragon
  19. Winglang

[Languages & Frameworks]

Trial

  1. Astro
  2. DataComPy
  3. Pinia
  4. Ray

Assess

  1. Android Adaptability
  2. Concrete ML
  3. Crabviz
  4. Crux
  5. Databricks Asset Bundles
  6. Electric
  7. LiteLLM
  8. LLaMA-Factory
  9. MLX
  10. Mojo
  11. Otter
  12. Pkl
  13. Rust for UI
  14. vLLM
  15. Voyager
  16. WGPU
  17. Zig

Hold

  1. LangChain - LangChain ist bedeutungslos, Probleme mit LangChain