For example, here's a section from the Build Your Own Redis book:
Our server will be able to process multiple requests from a client, to do that we need to implement some sort of “protocol”, at least to split requests apart from the TCP byte stream. The easiest way to split requests apart is by declaring how long the request is at the beginning of the request. Let’s use the following scheme.
The protocol consists of 2 parts: a 4-byte little-endian integer indicating the length of the following request, and a variable length request.
Starts from the code from the last chapter, the loop of the server is modified to handle multiple requests:
GPT suggested this instead:
Our server will process multiple requests from a client by implementing a protocol to separate requests from the TCP byte stream. The simplest method for separating requests is to include the length of each request at the start. The protocol consists of two parts: a 4-byte little-endian integer indicating the length of the request and a variable-length request. The server code from the previous chapter has been modified to handle multiple requests in the following manner:
There are no hallucinated facts because the most probable continuation of the given prompts is one that can gather all required information from the original text itself.
It's sort of like the difference between the truthfulness of analytic and synthetic claims. An analytic claim would be like "It is raining and you're outside, naked, and unsheltered so therefor water is falling on your skin from the sky." A synthetic claim would be like "It is raining outside".
Synthetic claims are said to be contingent on facts outside the text itself. These are the cases where GPT is completely useless.
The error rate for analytic claims is much lower although anyone who is writing anything should do a lot of review before publishing. Think of it like you asked your assistant to write something. You're gonna wanna read it over before you slap your name on it.
I mean, I actually don't care if you use these tools or not but your explanation of how it works will guide other readers in the wrong direction so I feel the need to correct the narrative you've presented.
Me: Hey, I need some help cleaning up some language with a lot of grammatical errors, can you help?
GPT: Yes, I'd be happy to help you clean up language with grammatical errors. Please provide the text for me to review.
Me: Our server will be able to process multiple requests from a client, to do that we need to implement some sort of “protocol”, at least to split requests apart from the TCP byte stream. The easiest way to split requests apart is by declaring how long the request is at the beginning of the request. Let’s use the following scheme.
The protocol consists of 2 parts: a 4-byte little-endian integer indicating the length of the following request, and a variable length request.
Starts from the code from the last chapter, the loop of the server is modified to handle multiple requests:
GPT: "Our server will process multiple requests from a client by implementing a protocol to separate requests from the TCP byte stream. The simplest method for separating requests is to include the length of each request at the start. The protocol consists of two parts: a 4-byte little-endian integer indicating the length of the request and a variable-length request. The server code from the previous chapter has been modified to handle multiple requests in the following manner:"
---
That's the entirety of the interaction!
I haven't tested much but for the last day or so I've been thinking a lot about Kant, Frege, Quine and Wittgenstein!
GPT opens the door for some kind of empirical philosophy... like, what are the error rates for various kinds of tasks? Can we use a Kantian framework? How about Frege? How about Quine?
I mean, Quine is actually my favorite of the analytic philosophers because of his indeterminacy of translation argument and the notion that there really is no analytic/synthetic divide when you get down to it resonates well with me.
Death to metaphysics!
But there seems to be some use in differentiating between "All bachelors are unmarried" and "All bachelors are unhappy" if only because I'm now seeing how making a distinction can have a profound impact on the usefulness of GPT completions.
Briefly and half-assed, Quine's argument is that because you would have to be familiar with language and culture in order to understand "All bachelors are married" that the meanings of those words are fact-like and outside the scope of the proposition.
If GPT is able to do some Frege-like substitution of synonyms it is because it has this compressed language model which seems to lend credence to Quine's arguments.
I find the quality of answers you receive out of GPT drastically changes with the way you phrase questions.
I don't think I would ever have come up with asking the question in the way you did.
As someone who has english as a second language I found GPT ofthen produced incorrect and low quality answers while most of my native english speaking colleagues were getting high quality answers. Looking at their prompts compared to mine it's all down to differences in how questions are phrased.
Our server will be able to process multiple requests from a client, to do that we need to implement some sort of “protocol”, at least to split requests apart from the TCP byte stream. The easiest way to split requests apart is by declaring how long the request is at the beginning of the request. Let’s use the following scheme.
The protocol consists of 2 parts: a 4-byte little-endian integer indicating the length of the following request, and a variable length request.
Starts from the code from the last chapter, the loop of the server is modified to handle multiple requests:
GPT suggested this instead:
Our server will process multiple requests from a client by implementing a protocol to separate requests from the TCP byte stream. The simplest method for separating requests is to include the length of each request at the start. The protocol consists of two parts: a 4-byte little-endian integer indicating the length of the request and a variable-length request. The server code from the previous chapter has been modified to handle multiple requests in the following manner:
There are no hallucinated facts because the most probable continuation of the given prompts is one that can gather all required information from the original text itself.
It's sort of like the difference between the truthfulness of analytic and synthetic claims. An analytic claim would be like "It is raining and you're outside, naked, and unsheltered so therefor water is falling on your skin from the sky." A synthetic claim would be like "It is raining outside".
Synthetic claims are said to be contingent on facts outside the text itself. These are the cases where GPT is completely useless.
The error rate for analytic claims is much lower although anyone who is writing anything should do a lot of review before publishing. Think of it like you asked your assistant to write something. You're gonna wanna read it over before you slap your name on it.
I mean, I actually don't care if you use these tools or not but your explanation of how it works will guide other readers in the wrong direction so I feel the need to correct the narrative you've presented.