Perhaps more pratical than creating a new person to talk to, with ChatGPT, you can also just use it as a search engine.

Simply start with this prompt:

Me: I want you to act like a search engine. I will give you documents to search over with attributes like title and body, formatted in block quotes likes this example:

TITLE: these tacos are great!

BODY: I have just discovered this new restaurant - Barbie’s Burrito Barn. She serves such excellent tacos, I heartily recommend it.

When I enter a block quote such as above, treat it like a new search document. When I enter any other message, treat that message like a search query. Give the title of the most relevant document I’ve told you about so far to the query.

Only respond with acknowledgement of the new documents. Or respond with the title of the document. Do not explain your responses. Simply provide the title of the most relevant document.

ChatGPT: Understood. I will treat block quotes as new search documents and other messages as search queries. I will only provide the title of the most relevant document to a query.

Please provide the search documents and queries for me to respond to.

Now I’ll add a few more documents from these hackernews posts 1 2

Me:

TITLE: Tell HN: The ThinkPad X1 Carbon is an excellent MacBook replacement

BODY: If you would like to develop outside of the Apple ecosystem, find Windows clunky, and dislike fiddling with Linux to get it to work on arbitrary hardware, consider the X1 with Fedora. I bought one at the recent Black Friday sale: $1,700 for a 12 Gen i7-1280P, 32GB, 512GB SSD. I love this machine. Physically, it’s fantastic. Hats off to the engineers and designers for investing in the tactile experience. They made it lightweight but simultaneously substantial-feeling via rigidity and weight distribution. I now understand why Thinkpad keyboards are so well-regarded. Its trackpad matches Apple’s, which is the highest praise I can give. The brilliant screen has an aspect ratio that’s as good for building things as for consuming content. And battery life supports hours of binging netflix after compiling a bunch of code. I’ve been even more pleasantly surprised by the software experience. This is a Linux workstation that “just works.” Close the lid, it goes on standby - open, and it resumes instantly. Plug it into a 100Mhz ultrawide monitor via a lightning cable, and not only does it seamlessly extend the desktop at native refresh rates, but it also mounts all the devices that are connected via the monitor’s integrated USB hub. I’m able to log in via my bluetooth kinesis keyboard consistently, without hassle. Updates are fast, easy, and tested on the exact hardware I’m using. I’ve been using it as my daily driver for a week and I’ve yet to dive down a rabbit-hole of outdated forum advice to get something basic to work. Finally, and more subjectively, Fedora’s out-of-the-box experience handily outshines both OSX and Windows. Window-snapping, global search, software installation via a package manager, resource efficiency, containerization support, configuration, etc. I wanted to share here for any others who have tried, and failed, to find a legitimately better-than-Macbook development machine for the past few years.

ChatGPT: Thank you for providing a new search document. I will add it to my records. Please provide more search documents and queries for me to respond to.

Me:

TITLE: Ask HN: What platform/tool do you use for software documentation?

BODY: I don’t have many years of experience and in a professional context, I always found documentation to be hard to use, hard to navigate, near only usable if you use the search bar and know what keywords to type. I’m going to inherit the responsibility of a medium-sized legacy system with close to 10 years of undocumented code so I would like to do something about it. There is a small Confluence but Jira-related stuff is a no-go for me. I sometimes use Notion, but I find the possibilities are so broad it requires work to make things not messy. But Notion is an option, maybe you know some pre-made templates or good examples I could use? Further than that, I don’t have any other platform in mind. Self-hosted is not what I’m looking for, and neither are tools to build docs. That may look neat but I’m searching for a platform to quickly iterate, where other devs could participate without downloading anything or going through a pipeline.

ChatGPT: Thank you for providing a new search document. I will add it to my records. Please provide more search documents and queries for me to respond to.

Now, we can enter search queries:

Me: best taco restaurant

ChatGPT: The title of the most relevant document to your query is: “these tacos are great!”.

Me: better laptop than mac

ChatGPT: The title of the most relevant document to your query is: “Tell HN: The ThinkPad X1 Carbon is an excellent MacBook replacement”.

Me: lenovo laptop

ChatGPT: The title of the most relevant document to your query is: “Tell HN: The ThinkPad X1 Carbon is an excellent MacBook replacement”.

Me: software docs

ChatGPT: The title of the most relevant document to your query is: “Ask HN: What platform/tool do you use for software documentation?”.

Naturally this is limitted to a handful of documents and very slow compared to a traditional search system. But I can’t help but feel I’ve glanced into the fast-approaching future. ChatGPT is an emerging programming paradigm not a chatbot. Its a way of programming systems in natural language, including how to interact with them, and provides compelling results. Imagine scaling up this system, but I can index millions of documents and it can run queries in sub 100ms time. Is that even possible? Can large language models run inferrence at that level? Can this system I’ve created perhaps be ‘compiled’ into optimize machine code to do this?

What an exciting time to be alive!


Doug Turnbull

More from Doug
Twitter | LinkedIn | Mastodon
Doug's articles at OpenSource Connections | Shopify Eng Blog