๐ ๐ฅ๐๐ฆ๐ง ๐ถ๐ป ๐ฃ๐ฒ๐ฎ๐ฐ๐ฒ - ๐ช๐ต๐ ๐๐๐ ๐ ๐๐ฎ๐ป'๐ ๐๐ฅ๐จ๐: ๐ ๐ฅ๐ฒ๐ณ๐น๐ฒ๐ฐ๐๐ถ๐ผ๐ป
๐ ๐ฅ๐๐ฆ๐ง ๐ถ๐ป ๐ฃ๐ฒ๐ฎ๐ฐ๐ฒ - ๐ช๐ต๐ ๐๐๐ ๐ ๐๐ฎ๐ป’๐ ๐๐ฅ๐จ๐: ๐ ๐ฅ๐ฒ๐ณ๐น๐ฒ๐ฐ๐๐ถ๐ผ๐ป
Yesterday I was listening to a talk by Martin Sakowski and Martin Karrer “REST in Peace - Why LLMs Can’t CRUD” which sparked a lot of interesting discussion. ๐ญ
๐ค They observed that even with the rise of MCP, AI Agents often struggle to master their given tasks reliably, consistently, and in an efficient wayโdriving costs and potentially failing projects.
๐ค ๐ช๐ต๐ ๐ถ๐ ๐๐ต๐ถ๐ ๐ต๐ฎ๐ฝ๐ฝ๐ฒ๐ป๐ถ๐ป๐ด?
They analyzed a seemingly simple use case: booking a meeting. We’ve all been thereโit’s a mess to get everyone on one page. But even if we leave humans out of the loop, it’s still complicated!
๐ Today’s APIs are created to be consumed by developers. For some reason, developers are able and willing to deal with poor APIs. In their example, the Martins assumed a simple CRUD API and counted 20-50 API invocations for a simple agenda cleaning activity. Each can fail for many reasons. So do the agents.
๐ ๏ธ ๐ช๐ต๐ฎ๐’๐ ๐๐ต๐ฒ ๐๐ผ๐น๐๐๐ถ๐ผ๐ป?
APIs need to be designed working backwards from the needs of the API consumers. The Martins argued that intent-based APIs would be much more reliable and efficient for agents to useโand they demonstrated this with their use case.
๐ก It’s important to have the consumer (in this case an AI agent) in mind while designing an API. Only then can you ensure your AI agent will work reliably and cost-efficiently. The current proposal is to not just provide MCP implementation based on existing (likely poor) APIs but also invest in building rich, intent-based APIs.
๐ ๐ง๐ต๐ฒ ๐๐ฟ๐ผ๐ป๐
I think this makes sense. But there’s still a lot of irony here (which I partly ranted about in my first MCP post [1]). We never cared enough about DX (developer experience) to build good APIs. The technology existsโRESTful APIs using hypermedia can be built in an intent-based way. Nothing new here. We simply never did it.
โ ๐ช๐ต๐?
I think yesterday I understood why. Many developers, for some reason, happily take on all the tinkering work, so they never invested in improving this. But more importantly, from a business perspective, this cost wasn’t transparent. Software development has a cost, but it’s a one-off at build time.
With AI agents, we’ve shifted this effort to run-time. Agents repeat the work on every call, driving up costs and increasing the likelihood of failure. Hence, we care now. It’s become business-critical.
๐ ๐ง๐ต๐ฒ ๐ฆ๐ถ๐น๐๐ฒ๐ฟ ๐๐ถ๐ป๐ถ๐ป๐ด
As a tech person, I like this because we can finally focus on building the right thing. AI agents will likely help us; observing and gathering execution information will help focus efforts on relevant APIs.
๐ช๐ต๐ฎ๐’๐ ๐๐ผ๐๐ฟ ๐๐ถ๐ฒ๐?ย ๐๐ผ ๐๐ผ๐ ๐๐ต๐ถ๐ป๐ธ ๐ ๐๐ฃ ๐ถ๐ ๐ด๐ผ๐ผ๐ฑ ๐ฒ๐ป๐ผ๐๐ด๐ต?ย ๐ ๐ฎ๐๐ฏ๐ฒ ๐๐ผ๐’๐ฟ๐ฒ ๐ฑ๐ผ๐ถ๐ป๐ด ๐ฅ๐๐ฆ๐ง๐ณ๐๐น ๐๐ฃ๐๐ ๐๐ต๐ฒ ๐ฟ๐ถ๐ด๐ต๐ ๐๐ฎ๐, ๐ฏ๐ฟ๐ฒ๐ฒ๐๐ถ๐ป๐ด ๐๐ต๐ฟ๐ผ๐๐ด๐ต ๐๐๐ง๐๐ข๐๐ฆ ๐ฎ๐ป๐ฑ ๐ฑ๐ผ๐ป’๐ ๐๐ฒ๐ฒ ๐ฎ๐ป๐ ๐ป๐ฒ๐ฒ๐ฑ ๐๐ผ ๐ฐ๐ต๐ฎ๐ป๐ด๐ฒ?
Cross-posted to LinkedIn