Your resource for web content, online publishing
and the distribution of digital products.
S M T W T F S
 
 
 
 
 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
 
26
 
27
 
28
 
29
 
30
 

Are SDKs Still Relevant In The AI Age?

DATE POSTED:November 5, 2024

The software development landscape is rapidly evolving, and it seems like every week, there’s a new paradigm, a new approach, and a sea change in how we do things. With advancements in AI-powered tools like Copilot, ChatGPT, and advanced IDE plugins, some are wondering: are SDKs still relevant in the AI age?

It’s a fair question. SDKs have been a staple of developer toolkits for decades. But if systems are surfacing information directly in development environments, are SDKs still relevant to the modern development workflow? Below, we’ll look at SDKs as a concept and figure out their relevancy — and value — in a post-AI world.

Why SDKs?

SDKs, or software development kits, are collections of tools, libraries, code samples, APIs, and systems that are designed to help developers create applications and instances for specific platforms. They are, in essence, the developer’s guide to everything for a given system. In this vein, SDKs help effective development at scale.

SDKs have some major benefits:

  • Simplified integration: SDKs help set the standard for integration, allowing for more seamless builds with fewer headaches.
  • Development velocity: By providing pre-built solutions and libraries, SDKs make for quicker development with less duplicative effort.
  • Improved developer experience: A well-designed SDK has comprehensive documentation, samples, and many more elements designed to make it easier to implement APIs. This results in improved developer experience across the board.
  • Support and community: Good SDKs foster strong communities, resulting in an ecosystem backed by community review, interest, and effort.
  • Better security: SDKs typically represent the ideal security implementation as governed by the API provider. This ultimately means that developers can provide stronger guidance for the security of the implementation using their SDK by providing insight and guidance into fundamental structures.
AI and SDKs

While SDKs are obviously highly effective additions to the API offering, the introduction of generative AI has shifted the conversation somewhat. While developers at one point had to reference materials for their development, consistently using documentation and SDKs to govern their implementation, the advent of AI solutions such as Copilot or ChatGPT has resulted in a much different experience. When you can reference an AI solution to get your answer, why use an SDK? Or, more to the point, why create an SDK for developers?

The reality is that these AI solutions do not exist in isolation. Much of what AI does is summarize content that it finds across its training set. What it doesn’t have actual material for reference, it will generate based on its best understanding. While the AI responds authoritatively, it is often unclear where this information is sourced and how accurate it is.

The reality is that these AI solutions are not replacing SDKs. In many cases, they are using the SDKs to generate their answers. This becomes problematic when the SDK does not have the answer that is needed. In these cases, the AI can hallucinate.

AI hallucination is an interesting issue. AI will often provide an answer that it has no basis for with a level of authority that makes the solution seem acceptable. This has resulted in many answers being outright incorrect despite being framed as and presented alongside factual information. This is a core problem with AI that has yet to be entirely resolved. As such, without SDKs, AI could make finding answers about an API product more difficult.

SDKs and AI: Partnership, Not Replacement

This issue exposes the true nature of SDKs in the age of AI. AI is not some omnipotent being with all the answers — it needs a data source to pull from. Even when it can access an API and its entire code base, the answers that it will generate will depend highly on how the AI is programmed and how it interfaces with the system. A more efficient model, in any case, is for the AI to understand and digest the SDK itself to provide these answers.

Imagine a library filled with all of the world’s books. Imagine this library is staffed by a knowledgeable and capable librarian who can answer any question you may have by diving into their memory of reading these books. Would you argue that the library should be deprioritized in such a case? Of course, you wouldn’t. This nearly magical librarian requires the library to do their work, and if you were to prioritize the librarian over the books, you’d be implementing value in the reverse order.

Now imagine that the librarian will answer any question you have, and if the book doesn’t exist, they’ll simply make it up. How much would you trust that librarian now? Would you trust it to tell you how to draw a picture? Maybe. Would you trust it to tell you what foods are poisonous? Probably not. Would you trust it to tell you how to detect cancer or how to control access to private information? Definitely not.

This is the state of AI. While AI is a powerful tool and, in many ways, stands as the most disruptive technology of this era, it’s still in its infancy and requires a data source to work effectively. In this context, the question of whether SDKs are still relevant in the AI age is easy to answer: not only are they relevant, the age of AI depends on effective SDKs to deliver value.

Why Not Just Use Specifications and Documentation?

This could easily beg the question: if an AI needs an SDK to learn from, why not just use something like the OpenAPI specification or some other documentation? In theory, these systems should have everything the SDK has, correct?

In this context, it might help to actually define these terms:

  • API SDK: An SDK is principally a collection of tools and services used to create software and integrate solutions concerning a given API. The SDK allows developers to integrate with an API without having to develop their own toolsets, wrappers, frameworks, or debugging solutions.
  • API specification: An API specification describes an API by summarizing its endpoints, methods, functions, responses, error codes, and so forth. A specification forms the blueprint of the API and can sometimes be used to generate either SDKs or documentation.
  • API documentation: API documentation is a body of content that describes an API and its functions. These can often be generated using an API specification but can also be created by hand.

This gets a little complicated in terms of where these systems live and at what stage they are created. Often, the API specification is tightly coupled to the API design process. Because of this, the specification will describe the promise of an API or the core function as principally designed. Unfortunately, design drift is typical, and it’s entirely possible that a specification doesn’t represent all the API behaviors.

Documentation can also suffer from this problem, especially if documentation comes from a manual process. Documentation can be a significant problem, and the mismatch between documentation and production code has plagued many systems.

To be clear, SDKs are not perfect either. They, too, can suffer from drift, issues of accuracy, or out-of-date content. In this case, the benefit of having an SDK is not to have an “end all be all” answer. It’s to have as much data as possible that is built for specific purposes for the AI to actually parse and work with.

What AI Means for API Providers and Developers

AI is fundamentally a tool, and while it can be used to greatly improve efficiency and efficacy, it must still be guided by factual data sets and context. Accordingly, SDKs are paramount to the ongoing evolution of this sector. For API providers, that does not mean the era of SDKs has passed or that SDKs are less important — quite the opposite. SDKs have never been more critical, and as more people use AI to understand and digest APIs, SDKs will only become more important.

Effective implementation of SDKs has some considerable benefits in the context of AI for providers and developers alike:

  • Improved outcomes: Good SDKs will result in good data, and this data will lead to much better outcomes at scale as more people adopt AI. The better the data an AI is trained upon, the better the output, so investing in SDKs will result in investment in the community and their knowledge at scale.
  • AI-assisted, not AI replacement: AI will continue to be an effective tool for many use cases, but it is best to think of it as a tool. In the same way that gas hobs did not disappear with the invention of electric cooktops, SDKs will not disappear with the advent of AI. Instead, AI should be used to assist in the generation of documentation or other systems and can, in fact, be used to generate SDKs for external use —assuming they are guided by developers with insight and experience on the API itself.
  • Consider the developer experience: When it comes to complex problems with APIs, very few like to simply talk to an AI who may or may not be trained on the right data set. Do not underestimate the value of an SDK that provides strong insight and examples. An SDK is a great communication pathway between the user and implementation and should be valued accordingly.
AI and SDKs Likely to Coexist

SDKs are not going anywhere fast, and to that point, neither is AI. Instead, both technologies are likely to continue to coexist and evolve. While AI provides efficient access and understanding, it requires quality data and training to accomplish this. Likewise, while SDKs offer ample information and context, they carry a cost in effort to do so, and could benefit from an AI to surface this understanding.

Moving into the future, we can expect both SDKs and AI to become ever more powerful and intertwined. It is likely that AI solutions will ultimately become more efficient and effective at surfacing knowledge and insight, and that SDKs will benefit from these tooling solutions for analytics, testing, and more.

The convergence of SDKs and AI will redefine much of how programmatic development is undertaken. Still, a future where either SDKs or AI simply “go away” in favor of the other is unlikely. SDKs are — and remain — a critical aspect of development, and the rise of AI has only made this an even more crucial point of investment.