Is AI just a bunch of library functions?
No.
Your experience with online learning - I would guess via MOOC such as Andrew Ng's Coursera courses - is typical though, due to limitations of automated grading systems, the assessment of your ability to build systems is usually reduced to you filling in a few key functions and data structures in an already-built project.
However, library functions are going to exist for anything generalisable in any large technical field. Unreal Engine automates a whole bunch of interesting and difficult problems that crop up in 3D games. Ruby on Rails codifies a lot of common design approaches in web development. Same is true in AI with libraries such as TensorFlow, PyTorch and scikit-learn.
To users of these systems who care about the results to effort ratio, this is a good thing. It can be a double-edged sword when it comes to getting a deeper understanding though, and it also means that a lot of low-hanging fruit has already been picked, in terms of improving the state of the industry as a whole.
Whether or not this is boring depends on you, what you find interesting, and what you hope to achieve. There is no requirement that you do find AI or machine learning (ML) interesting. ML is essentially automated statistics and function-fitting routines, and is a large part of many modern AI approaches. AI as a whole is far more than that, but is such a large subject that typically you would work on a specialism within it, and would need to do so if you ever hope to hit an "edge" of it where you were performing original R&D or academic research.
My main frustration is that I'm not actually building anything -- I'm just plugging in data to a bunch of functions and hoping it works. It doesn't feel like science or coding at all.
OK, so there are several ways to view your relationship with AI technologies, and what you want to learn about and do with them. Not all of them will fit what you want. There's no guarantee you will find them interesting.
My first impression from your description of your frustration is that you have been learning with toy systems that don't do anything that you care about. You may find better motivation if you were trying to solve a problem that was meaningful to you. That could be:
- Applying AI to solve a work problem that you have
- A hobby project based on something you personally enjoy
- A competition, such as in Kaggle, where some of the hard work of setting up the data is done for you, and you get to test your skills against others. You will soon find that getting good results is not just about tuning results on a library that you found
To me, it feels like creating an AI project just feels like finding a dataset and throwing a bunch of library functions at it until it works
This is often used in learning environments, and suggested as a way to hone skills in ML. That's because preparing data for use in ML is hard work. In reality Data Science work can be 90% about understanding and obtaining useful data sets for a specific problem, and only 10% anaylsis and training models - training the models can be seen as the "easy and fun" part.
There are also a bunch of key understandings about how statistics works that you need to have in order to use the library functions. A typical beginner probelm in ML is not understanding the need to check for generalisation by using cross-validation and test sets, how they should be used, and how to spot and avoid data leaks. Simply taking some data, throwing it into a library function and getting "99% accuracy" is a major problem that comes with lack of understanding.