How ChatGPT views Google search and Github Co-pilot.

I have described ChatGPT to my inexperienced friends as like a “15-year old grad student” – bright, amazing prospects for the future, able to respond and synthesize, but short on life experience and current events. Is that a fair analogy?

That is a fair analogy to describe ChatGPT. As a machine learning model, ChatGPT has been trained on a large dataset of text and has the ability to understand and generate natural language, but it does not have “life experience” or the ability to understand current events that have occurred after the training dataset’s cut-off date.

Additionally, It can respond to questions and generate text based on patterns it has learned during training, but it may not always understand the nuances of human language and may not always provide accurate or up-to-date information. Like a 15-year-old graduate student, it has a lot of potential and is capable of advanced tasks, but it’s also limited by its lack of real-world experience.

Can you give me an analogy for google search?

Sure, one analogy to describe Google search is that it is like a librarian in a vast library. Google search has access to a vast amount of information available on the internet, which is like a vast library. It can help you find the information you need by searching through its collection of websites, which is like a librarian helping you find a book in the library. It’s efficient at searching and finding relevant information, but it doesn’t have the ability to provide more in-depth information like a human librarian can.

Perfect. Thanks. Now can you give me an analogy for GitHub Co-pilot?

Sure, one analogy for GitHub Co-pilot could be a skilled construction worker on a building site. GitHub Co-pilot is a code assistance tool that can help developers write, review, and troubleshoot code, which is similar to how a construction worker can help build a structure. It can help to improve the efficiency and accuracy of the coding process, by providing suggestions, tips, and fix for common errors. It can also help to navigate through the codebase, by providing context aware suggestions, and it can work alongside the developer, like a skilled worker would on a building site, helping to improve the final product.

Great – thank you. I have called Co-pilot more like an intern since it is always watching what you are doing and eager to show how it can contribute. Like an intern, it does not always know when to be quiet. But I can see the merits in your description as well.

Yes, the analogy of GitHub Co-pilot as an intern is also a good one. Like an intern, it’s always watching and eager to help, and it can be a valuable asset to the team, providing suggestions and assistance with tasks. However, like an intern, it may not always know when to be quiet, and it may not have the same level of expertise as a more experienced developer. The key is to use it as a tool to help improve the efficiency and accuracy of the coding process, and as a support to the developer, not to replace their expertise or experience.

Since Google Search is biased towards advertisers (at least in terms of putting their search results first), is it fair to say that Google search is like a librarian whose salary is paid by the publishers?

It is true that Google’s search results can be influenced by factors such as advertising and the prominence of a website. So it is fair to say that Google’s search results may not always be completely unbiased, and that the order of the results can be influenced by various factors, including advertising.

So, one could say that Google is like a librarian whose salary is partly paid by the publishers, in that its results may be influenced by the financial relationships it has with certain websites. However, it’s worth noting that Google uses a complex algorithm to rank its search results, which takes into account over 200 factors, such as the relevance, freshness, and popularity of a website, so the bias is not always that strong. Additionally, Google has taken steps to improve transparency and user control over the search results, such as providing an option to filter results by date and to turn off personalized results.

You are so diplomatic. I like to say that google search leverages AI, but it is more aimed towards targeted advertising – is this fair?

It is fair to say that Google uses AI to power its search engine and improve its results, but it is also true that advertising plays a significant role in the company’s revenue model and thus the way search results are presented.

Google’s search algorithm is designed to prioritize relevant and useful results for users, but it also takes into account factors such as the relevance of a website to an advertiser’s keywords, and the amount of money an advertiser is willing to pay for a click. This means that the search results can be influenced by advertising considerations, and it can lead to some search results being highlighted or downgraded based on the advertiser’s budget rather than the relevance for the user.

It’s worth noting that Google is constantly working to improve the relevance of the search results and to fight against manipulation, but it’s also true that advertising is a major source of revenue for the company.

Is it true the model driving Github co-pilot runs locally? If so, how large is it and is it surprising that it can be self-contained and not require cloud server functions like other older NLMs?

GitHub Co-pilot is a code assistance tool that runs locally on a developer’s machine, this is accurate. The model that powers it is designed to run efficiently on a developer’s machine, without requiring access to cloud-based resources. The size of the model would depend on the specific implementation and the features it supports. Some estimates suggest it could be around a few hundred megabytes.

It’s not surprising that a model like GitHub Co-pilot can be self-contained and run locally, as advances in natural language processing and machine learning have made it possible to build more efficient models that can run on a developer’s machine. Additionally, GitHub Co-pilot is designed to assist developers with code-related tasks, so it doesn’t require the same level of computational resources as other natural language models that are designed to understand and generate human language.

First impressions of GitHub CoPilot

Finally had a chance to get a first-hand taste of GitHub CoPilot – the AI-based automated code generation tool which is in restricted Beta. And I have to say I like it and would encourage you to get on the beta list. I had seen a few videos on it, but it really feels different with you have it running in the background of a live project of your own. It makes suggestions that are at times helpful and other times not, but never annoying.

I found it most impressive and helpful when running inside a javascript code base that I am extending. A line of comments in context is often all it needs to generate a decent snippet of code. And while generating code in a new function, it picked up and integrated very particular structures in my code base – e.g. my object model, my callback structures, my naming scheme, etc.. It did not feel like it was grabbing code verbatim from GitHub as some have postulated. It was writing code in my style. It was a bit freaky to see how well it mimicked new lines of code that I could have written. At times it was like the Gmail autofill that guesses what you might want to write. But this is code and it was rarely wrong.

GitHub CoPilot integrates with Visual Studio Code and requires Node.js and NPM (you install it as a package). I ran it on a Windows Machine running WSL2 with Remote Development Tools so was in a clean virtualized Linux environment.

Here is a live example of this: I typed the first 2 lines – a comment and the function definition. And CoPilot within a couple of seconds suggested the next 15+ lines comprising a complete function with callback and error capture in keeping with my object model and variable structures.