This article explores Zalando's adoption of agentic programming, highlighting architectural choices like building API access platforms for security and monitoring. It delves into the challenges of managing increased code complexity and emphasizes the value of LLMs in streamlining pull request approvals and mitigating outage risks by identifying high-risk changes, particularly in configuration.
Read original on Martin FowlerZalando is actively exploring agentic programming, a paradigm where AI agents perform complex tasks, often interacting with APIs and tools. A key architectural decision for them is the creation of dedicated platforms that serve as clear portals for API access and provide tools to support both chat UI and CLI interactions. This approach is crucial for enforcing good security practices and enabling effective monitoring of AI model usage within their systems.
One significant observation from Zalando's experience is that agentic programming can increase codebase complexity. This manifests in larger commit messages and potentially more intricate code paths. The article emphasizes the importance of knowledge sharing and supporting experimentation to navigate these challenges, promoting transparency and exchange across numerous teams rather than premature convergence on specific practices.
Architectural Consideration: API Gateways for AI Agents
When integrating AI agents into a system, consider developing a dedicated API gateway or platform. This acts as a control plane for agent interactions, enabling centralized security policies (e.g., rate limiting, authentication), comprehensive monitoring of agent activity, and a standardized interface for tool access. This prevents agents from directly interacting with core services, enhancing system stability and auditability.
An innovative application discussed is using Large Language Models (LLMs) to assess the risk of pull requests. LLMs can categorize changes, allowing low-risk rollouts to be auto-approved, potentially reducing lead times by 20-40%. This encourages developers to split pull requests into smaller, manageable chunks. Configuration changes are automatically flagged as high-risk, a crucial safeguard against common outage triggers, demonstrating a practical application of AI in DevOps.
Example: LLM-driven Pull Request Risk Assessment
Imagine an LLM analyzes a pull request. It might look for keywords, file changes (e.g., infrastructure-as-code files, critical business logic), and test coverage. If it detects a change in a database schema or a core microservice's configuration without corresponding robust tests, it flags it as high-risk, requiring human oversight. Conversely, a documentation update might be auto-approved.