TLDR: Creating complex knowledge graphs with code or markdown is prompt engineering sending a single message to a chat bot is good communication. Good example repo : https://github.com/RinDig/GPTmetrics
I've seen quite a lot of posts talking about prompt engineering, but no one's seeming to address this elephant in the room.
There's two types of prompt engineering.
One is just good communication, the other is actually engineering.
I've been writing and creating code in the NLP space for a bit. For my master's thesis, I created a data pipeline that used hundreds of lines of prompts and Python to route prompts to many different models at the same time at scale. It's rudimentary but it's a really good learning point and I linked to the repo at the top and bottom if you want to check it out—at least the original Python notebook. I turned it into a proper platform later on.
However, enough about me, let me get to the point.
There's the "prompt engineering" where people tell you how to write a prompt to a chatbot and "structure prompts", and while this could be useful and in no way am I saying that you shouldn't practice that. I wouldn't hesitate to call this a long-term engineering skill.
As for actual prompt engineering (could call it harness or context engineering) where you're writing hundreds of lines of code paired with prompts being injected at certain points or markdown structures across knowledge graphs.
I'm not explaining this difference because I don't like the first one. In fact, I'm really happy that people are learning good structure, I think that's important. That being said, I think it is important to know the levels of abstraction here.
If you want to get an understanding of what prompt engineering at the engineering level looks like but don't want to get into a complicated codebase. Here is a basic python notebook repo I made for my students (and a project on psychometric scales I mentioned earlier). ) that if you click on the python notebook "survey_agregator" can show you some basic "prompt engineering" (even I hesitate to call it that anyway) in python:
Now as for the second thing about knowledge graphs.
This type of "prompt engineering" has also been called context or harness engineering. t's handling series of knowledge graphs and folder structures that uses very little code, but perhaps the actual prompts themselves are calling code.
Here is a repo I made that works as meta engineering knowledge graphs and uses folder structure as agentic architecture. (Paper in readme) :
Now, the ability to communicate well is also a skill, which is the first type of prompt engineering, but the second type of prompt engineering, which is everything up there that I just showed, is technically just programming, but at a higher abstraction.
I hope this helps. I made a comment on someone else's post similar to this one and decided just to turn it into a whole post, so I hope this helps people get a better understanding! Happy learning.