Skip to main content

Llm

2025


From MCP to ACP: A New Standard in AI Agent Interoperability

·914 words·5 mins

After a recent update to the Zed editor, I noticed it now includes native support for AI agents like Gemini CLI and Claude Code. What is surprising is not the integration itself, but the collaborative effort behind it. Zed Industries, together with Google, announced the Agent Client Protocol (ACP), an open standard designed to do for AI agents what the Model Context Protocol (MCP) did for tools: enable developers to focus on building the best possible agents without getting bogged down by integration complexities.

Inspired by the Language Server Protocol (LSP) and MCP (Model Context Protocol), the protocol was jointly designed, with Zed focusing on the editor (client) and Google on the agent. The initial announcement from Zed provides a deeper dive into their vision of unbundling AI agents from IDEs.

Monitor and control your LLM token spend

·1419 words·7 mins

Across consultations on bringing AI into client products, the same concerns keep surfacing: unpredictable spend, lack of visibility into usage, and the risk of runaway bills from bugs or developers’ misuse. Clients ask for monitoring, budgets, alerts, and cost allocation at various levels of granularity — by project, feature, environment, region, and team — along with credible forecasts. To streamline those conversations, I decided to put the key guidance and patterns into this blog post.

Uncovering limitations of Gemini over OpenAI

·440 words·3 mins

Recently, while developing my AI agent library, agentai, I introduced a new CI pipeline to run examples against various models for each pull request. This process ensures that all elements of the library work correctly with each new release. I started by running these tests using GitHub Models, primarily for convenience (as they are already integrated) and to enable external contributors to use the same test suite in the same environment.

MCP is Not Enough: Addressing Security Flaws with a WebAssembly-Based Standard

·2177 words·11 mins

The rapid proliferation of applications built around Large Language Models (LLMs) has brought a common challenge to the forefront: how do we effectively provide these models with the necessary external context? It’s well understood that LLMs, much like humans, can “hallucinate” or produce incorrect information when operating without sufficient context. We cannot always rely solely on the knowledge embedded within a model, this knowledge may be outdated (due to knowledge cutoffs), limited to publicly available information, and unable to access private or real-time data. These limitations restrict the utility of LLMs. Consequently, all LLM providers offer methods to supplement this, such as Retrieval Augmented Generation (RAG) or tool calling, each with provider-specific implementations.