Skip to content

Inside the Mind of an AI Researcher: ChatGPT and Notion AI…

Interview with Linus Lee, research engineer on Notion's AI team, about how AI can augment human thinking and agency. He discusses tools as shapers of creative agency, the "thought calculator" framing of AI, demos personal AI prototypes (an iMessage chatbot and a new interface for image generators), shares prompting techniques (starting with general queries, repeatedly asking the same question), explains using ChatGPT for quick "vibe checks" of books, people, places, and files, and compares ChatGPT vs. Notion AI on book recommendations and workplace use. Topics include the difference between prompting and prompt engineering, whether GPT-4 is getting lazy, and the future of AI-driven interfaces. Timestamps cover agency, prototypes, vibe checks, travel and book recommendations, and using Notion AI at work. # Channel Identity Observations — Ep. 3 with Linus Lee ## Format & Presentation - **Interview/conversation show format.** The video is a host–guest dialogue, framed as a recurring series: the host notes a prior interview with the same guest ("I interviewed you like I think about a year, year and a half ago") and proposes an annual tradition: "maybe we could make this an annual thing." - **Episode numbering in title.** "Ep. 3" in the title indicates the channel produces an episodic interview series. - **Demonstration-heavy structure.** The episode is built around live demos rather than pure discussion — the guest shows a self-built tool ("this is a tool called Varna and you built this yourself"), a personal iMessage chatbot, Notion AI features, and ChatGPT prompting sessions ("let's do like yeah, specific chat GPT chats and all that kind of stuff"). ## Host's Self-Description & Claims - The host identifies as a **writer about AI**: "when I was first starting to write about AI and that interview went super viral." - The host claims a stated editorial thesis for the channel: **ChatGPT as a major creative tool** — "I've said before on the show and I've written a lot about it that I think Chat GPT is... the most important creative tools of the decade." - The host references **prior episodes** ("I've said before on the show"), demonstrating an existing body of work. - The host shares a **former entrepreneur background**: "I started an enterprise software company, ran it for a few years, and sold it to this like huge enterprise software company called Pega." - The host mentions an active **social media presence tied to the channel's topics**: "I accidentally had like a viral tweet today... now it has like 2,000 likes." - A reference to **paid subscriber content** appears jokingly: "that'll be the director's cut that only for paying subscribers only" — suggestive, though only as banter, not a confirmed channel monetization claim. ## Claimed Scope / Subject Matter - The episode's stated agenda, per the host: LLMs in creative work, guest prototypes and demos, "Notion stuff," and "how you use Chat GPT." The full transcript delivers on all four, demonstrating the channel's scope is **applied AI tools and workflows**, explored through hands-on use. - Technical depth is present but explained accessibly — e.g., the extended embeddings explanation ("like a latitude and longitude coordinate... that's an embedding"). ## Observable Intended Audience - **AI-curious knowledge workers and tinkerers**, not solely researchers: concepts like embeddings, base models, prompt engineering, and "chain of density" are explained from first principles, and practical ChatGPT techniques (regenerating responses for consensus, custom instructions, all-caps emphasis) are framed as takeaways ("This is the secret, folks"). - The host positions guests as exemplars for the audience: "you're one of the people on the forefront of thinking about that... trying to think about how to make AI into a human future where it augments us." ## Notable (Not Directly Self-Described) - No explicit channel name, tagline, or subscribe/monetization callout appears in the transcript; identity evidence is limited to title, host statements, and demonstrated format. No curated metadata was supplied. # Delivery Observations: Ep. 3 with Linus Lee ## Format & Roles - **Two-person interview structure**: a host (Dan-ish interviewer) and guest (Linus Lee), with clear back-and-forth. The host guides topics: *"So, here's where I want to start."* The guest explains at length. - The episode opens with a **cold-open teaser** before the intro: *"Honest, welcome to the show. Thanks. Thanks for having me."* — using future clips of the conversation as a hook. - A **live screen-share demo** drives the middle of the episode: *"So the interface for this is very bad because it's just So let me just back up. So this is a tool called Varna."* ## Guest (Linus Lee) Delivery Patterns ### Analogies as a Core Teaching Habit Linus repeatedly explains technical concepts via layered metaphors, often building multiple metaphors for the same idea: - Embeddings → coordinates: *"you can take text and then assign pieces of text like a latitude and longitude coordinate."* - Embeddings → color picker: *"Another metaphor that I sometimes use is like a color picker."* - Language models → calculator: *"language models start to feel less like agents that have their own kind of agency and more just like, 'Oh, this is like a calculator.'"* - Prompting → scripting vs. software engineering: *"I kind of compare this to like scripting versus software engineering."* ### Hedging and Self-Minimization Frequent hedges and softeners appear in nearly every explanation: - *"Um I think safe to say pivotal for both of us, at least certainly for me."* - *"This is kind of a silly example."* - *"This is actually half built I tried I was in the process of building something different."* - *"GPT-4 Turbo for reasons that I can only guess about, um lazy is kind of a vague description."* - He explicitly models uncertainty: *"I don't I don't know. We'll find out maybe at some point."* ### Vocabulary - Recurring technical and informal terms: **"embedding space," "agency," "vibe," "dials," "packaging," "simulate/simulacrum," "dumb/base model," "rando."** - *"vibe"* is used repeatedly and loosely: *"What's the vibe of this file?"*, *"Cuz I just want like vibes, you know?"*, *"Synthesize the vibes below into a single paragraph."* ### First-Person Anecdote Teaching He grounds abstract points in personal stories: the ugly parchment cover image attempt (*"And it's just very difficult to get DALL-E to make an ugly image"*), the personal iMessage chatbot, the Seoul/Bangkok trip planning, and the GPT-J lunch anecdote (*"I'm not sure, but I have lunch. I'll get back to you after lunch."*). ## Host Delivery Patterns - **Enthusiastic reinforcement and short emotional reactions**: *"Oh my god. Okay, so I have a bunch of books in front of me."*; *"Holy"*; *"That is very freaking"*; *"This is the secret, folks."* - **Reflective summarizing / checking understanding** — he frequently restates the guest's point and asks for confirmation: *"Is that kind of what you're getting at?"*; *"is that is that a fair way to describe what you're what you're saying?"*; *"is that is that a good summary?"* - **Playful teasing**: *"Oh my god, we're going to have to revoke your ChatGPT privileges."*; *"AI researcher, you use AI."* - **Humor through hypotheticals**: the therapist story (*"now I have to be like comforting my therapist because he's afraid of the AI"*) and *"maybe we could make it an annual thing... Like meeting Taylor Swift or something."* ## Shared / Convergent Patterns - Both speakers **think aloud with trailing restarts**, observable in repeated word fragments: *"it's it's"*, *"you you you"*, *"I I I"* appear throughout the transcript. - Both use **colloquial intensifiers**: "really," "just," "very," "kind of" appear extremely frequently. - Mutual riffing builds on each other's metaphors — e.g., the host extends Linus's demo: *"you're just sort of seeing if you slowly turn your headshot into that"*; and both land on *"All caps work."* ## Uncertainty Notes - Turn boundaries between speakers are unmarked in the transcript; some attributions (especially rapid exchanges around the demo at ~[1095]–[1150]) are inferred from context and could be misassigned. - The host's name is never stated in the transcript; only the guest (Linus Lee) is identified in the title. - Whether patterns like the guest's hedging are stable habits or specific to this relaxed interview context cannot be determined from a single episode. # Observation Record: "Inside the Mind of an AI Researcher: ChatGPT and Notion AI Experiments — Ep. 3 with Linus Lee" ## Speakers - **Host** — interviewer; founder of a company sold to Pega; writer on AI (no name given in transcript; identified as the show's host). - **Linus Lee** — guest; AI researcher on Notion's AI team, prototyping AI interfaces; previously interviewed by the host ~1 year ago. *Note: the transcript provides no explicit full names; attribution below relies on conversational context.* --- ## 1. Framing and Introductions - **Host's claim:** ChatGPT is "one of the most important creative tools of the decade," and people misunderstand how important AI tools will be for creative thinking. - **Host quotes Linus:** > "I want to build interfaces that let the AI gesture us into a better future without infringing on our agency." - **Linus** says the prior interview with the host was "pivotal" for him and "a big part of how I ended up at Notion." ## 2. Language Models as Probability Distributions; Agency **Linus's core position:** - A language model is "really just a function that predicts a probability distribution" — a "statistical model," even though it can be wrapped in "anthropomorphic packaging." - Because he works at the "numbers level" (embeddings), his view is colored toward the calculator framing. - Even so, tools can *accidentally* take away user agency through design. **Example — the ugly image:** A Notion coworker wanted an intentionally ugly parchment-style cover image; Linus could not get DALL-E (or Stable Diffusion XL, DALL-E 2, DALL-E 3) to generate an ugly image. He frames this as the tool constraining the search space of outputs, taking away agency "in the design of the tool, if not necessarily the capability of the model." He says he has discussed this with people at Midjourney. **Host's paraphrase (confirmed by Linus):** Training-set probability distributions constrain the possibility space of outputs; e.g., DALL-E won't make ugly images, whereas Photoshop gives raw pixel control and takes no agency away. **Linus's counterpoint on Photoshop:** Even Photoshop shapes style via easily-accessible features (e.g., you can tell images edited in Instagram Stories or masked in Keynote). He adds constraints can also *create* art: guitar effects, Jimi Hendrix, soundboards define genres. ## 3. Embeddings Explained Linus defines an **embedding** as a list of numbers quantitatively summarizing semantic content; sentences closer in meaning map to closer points in a high-dimensional coordinate space. - **Host's metaphor:** like assigning text a latitude/longitude. - **Linus's metaphor:** a color picker — "dark blue" (input/description) vs. RGB value (embedding). RGB values enable mathematical manipulation (make crimson lighter/more blue) that words don't. - **Linus's implication:** chat is a *coarse-grained* interface; spatial/numerical manipulation could enable more precision. ## 4. Demo: "Varna" — Embedding-Space Exploration Tool - Linus built **Varna** (half-finished, self-described "hack"); original goal: describe images by *adding and subtracting images and text*. - Uses **CLIP** (OpenAI) — encodes text and images in the same embedding space; newer methods generate images conditioned on points in CLIP space. - **Demo:** samples eight points along the line between his selfie and a clip-art face, decoding each. Also slides an *emotion scale* (happy → very angry young man), noting "at the end it kind of destroys the image" so he turns down the text effect. - **Host's framing:** like a Photoshop brightness slider, but a slider between *concepts*. **Linus's stated reasons for interest:** 1. Models internally learn human-recognizable semantic concepts (like emotions); understanding this improves controllability. 2. Seeing models as dials/calculators makes them feel less like agents — citing **Simon Willison's** blog post on language models as a "thought calculator." Unlike asking DALL-E 3 via ChatGPT (feels like asking an entity), this feels like a tool that retains agency. ## 5. The "Whoa Factor" and Anthropomorphism **Host's anecdote:** Fed ~4,000 words of journaling into Claude (found Claude "slightly better for this" than ChatGPT), asked "What am I not seeing?"; sent output to his therapist, who said "I thought we would have at least a couple years until it would be this good" and asked whether there's room for human therapists. Host's position: the tools are "not even close" to replacing a therapist; the initial wow reaction comes from presentation — "if the same thing was performed in a slightly different way like with a slider... it would feel more familiar." **Linus agrees:** "the packaging that you wrap it in really dramatically influences how people receive it." ## 6. Simulacrum-of-Humans vs. Intelligence Engine **Host's provocative question:** if human neurons laid out behind an interface look like a tool, and enough neurons make a conscious brain — how do these fit together? **Linus (explicitly off-the-cuff, "I haven't thought about that"):** - Building a full simulacrum of humans would require elements current tools lack, notably **intentional exploration**, which he calls "a huge part of intelligence that humans have that these models currently don't exhibit." - But for work tools (Google, OpenAI, Notion), many human traits are "annoying" — daydreaming isn't useful for summarizing papers. - **Prediction:** the two paths (simulacrum-builders vs. "intelligent thought calculator" builders) look similar now but will **diverge** over time. **Host's example:** OpenAI DevDay demo of GPT-4 fine-tuned on Slack messages responding "No, I'll do it later" until threatened with firing — parts of being human we may not want to model. ## 7. Personal Chatbot (Base Llama 2) - Linus runs an **iMessage chatbot** backed by the raw base **Llama 2 13B** (Meta, open source, self-hosted, no RLHF/fine-tuning). An earlier version used **GPT-J** (6B), which would say things like "I'm not sure, but I have lunch. I'll get back to you after lunch." - Base model = pure text continuation; requires hand-prompting. - **Why he prefers it for casual queries:** RLHF'd models give "I'm an AI language model..." disclaimers; he wants "a personal take... it doesn't really even matter if that take is correct... I just want vibes." The base model answers "as if I'm talking to a fairly intelligent and cogent rando on the internet." - He notes the iMessage "read" receipts and unsolicited notifications are conceptually interesting anthropomorphic effects ("I know that doesn't actually mean anything because it's just like a bag of numbers"). ## 8. Prompt Engineering vs. Prompt Scripting **Linus's distinction (analogous to software engineering vs. scripting):** - **Prompt engineering (work at Notion):** robust, tested, evaluated prompts shipped to millions of users, handling diverse inputs/languages. - **Prompt scripting (ChatGPT personal use):** iterate freely, fix and retry. He candidly notes prompt engineering "makes me feel the dumbest" — changes are sometimes just adding "must" or making instructions "sound even more desperate" — "why did I go to school for computer science?" **Practical claims:** - He **almost never writes few-shot prompts** in ChatGPT — examples strongly influence output; he prefers zero-shot + follow-up revisions. - Best users "just don't accept anything until it's working" — revising, redoing, starting new chats; people are "way too reluctant" to do this, sometimes "it almost feels like impolite." **Host's AI-safety quip:** the feared AI was paperclip maximizers; the AI we got answers "What's the vibe of this file?" — Linus responds that instruction-following alignment is improving, though theoretical concerns "still kind of take that form." ## 9. ChatGPT for Programming - Linus's most common use: programming help; he also uses **Copilot heavily** ("a different learning curve"). - **Claim:** AI tools give better suggestions with more context — a stated philosophy behind Notion AI and behind Copilot. - Copilot is *micro-level*; ChatGPT suits open-ended problems: e.g., streaming an 80GB dataset into 40GB of memory using **Arrow**; understanding UTF-16 byte-level encoding and getting an algorithm plus a Python implementation he based his code on. - **Linus's rule:** "The more context the model has about why you're doing what you're doing or what your goals are, the better its suggestions are generally going to be." - **Disagreement point (mild):** Host is astonished Linus has no custom instructions set; Linus says he'd only use them for concision and hasn't found the tone offensive. ## 10. Seoul/Bangkok Sampling Trick **Linus's method:** For broad recommendation questions, he runs the *same* prompt 3–4 times (models are non-deterministic), reads all outputs, and picks the most-frequently-mentioned items — doing "last-mile filtering" himself. **His stated reason (agency + distrust of over-steering):** A trusted friend's single recommendation works; ChatGPT "doesn't really know me well." He worries specific prompt strings bias outputs — e.g., mentioning "Queen's Park" in Bangkok caused the model to over-recommend that park, which he attributes to RLHF tuning aligning outputs with instructions. **Host's stated disagreement:** He uses a long custom instruction, finds telling the model his constraints very useful, and says of the over-connection problem: "it's such a yes-man" — though he puts up with it because "every like 10 things it says, it says something totally brilliant." **Linus's concession:** custom instructions risk biasing output more than he wants; Host agrees it does over-connect irrelevant things. ## 11. Live Demos: Book Recommendations, Notion AI **Sequence (both participants experimenting live):** - Host lists books (Brothers Karamazov, Medieval Technology and Social Change, Exhalation, Essential Kabbalah, and a misspoken "Defensive Socrates" — meant "Defense of Socrates") and uses **continue writing** (Notion) to extend a book list. Result: generic (Sapiens) — Linus: "statistically it's probably accurate." - **Linus's technique:** first ask "what is the general vibe of these books?", then compress ("synthesis"), then ask for recommendations, and request "off the beaten path / lesser-known" works — because defaults are well-known titles. - **ALL-CAPS trick:** Linus prompts "SYNTHESIZE MORE" / "COMPRESS" / "you only have 50 words" — "All caps work"; Host notes OpenAI's own system prompts use all caps. - Outputs included Gödel Escher Bach, Sophie's World, Zen and the Art of Motorcycle Maintenance, The Man Who Knew Infinity, Cosmos; then off-beaten-path: The Dispossessed, Left Hand of Darkness, Invisible Cities, Master and Margarita. Host praises Le Guin picks. - Linus converts results into a **table then a Notion database**. **Linus's stated Notion AI workflow:** rough bullet-point meeting notes → prose → headings → presentable document; "rough sketch to something more structured." **His interface point:** in Notion you're "two actors engaging with some kind of a changeable mutable state" (a document), not just face-to-face chat. ## 12. Notion Q&A - Linus finds Q&A **more useful in a team context** than personal (his own Notion is precisely organized). - Team examples: "how do you file for PTO," Redis settings, and finding the one "AI team weekly" meeting that discussed Cohere embedding models. - **Host's supporting anecdote:** at Pega, a 300-person sales force constantly asked him (the "co-browse guy") questions already documented; a Q&A layer would "cut out those repetitive questions." He wishes it existed 10 years ago. - **Linus confirms:** large teams who "don't even know who to ask" are a key use case it was built for. ## 13. Chain of Density Prompting - **Linus** describes the "chain of density" technique (published in a paper): ask the model to draft a summary, identify what was left out, write denser drafts without increasing length, then output the final version. - He uses this philosophy in almost every prompt he writes *for software* (e.g., extracting key topics, each ≤5 words, over multiple drafts), but says it's less necessary in interactive ChatGPT where you can just ask for revisions. - **Host's connection:** it's a variant of chain-of-thought — "writing out your thinking before you make a decision... useful for humans and useful for AI." ## 14. GPT-4 Turbo "Laziness" **Linus's claim (qualified as anecdotal/inferred):** - GPT-4 Turbo "tries to be a lot more efficient with the compute that it has to spend"; outputs consume fewer tokens; less commentary; "that probably saves OpenAI money." - Anecdotally less likely to invoke tools like DALL-E 3 without explicit instruction ("generate me four images, not one"). - Seen in Notion's internal evaluations. **Host's anecdote:** ChatGPT refused to transcribe text from a book photo; his frustrated tweet about it went viral (~2,000 likes). He tried the "grandmother" jailbreak — failed in that chat — but it worked in a **new chat**. **Refusal quirks discussed:** - **Linus's hypothesis (explicitly tentative):** models may say no more when you say "please" — possibly reflecting training data patterns where "please" accompanies refusals; "I don't know. We'll find out maybe at some point." - **Host:** he's polite because he'd "like to survive any kind of AI apocalypse." ## 15. OpenAI Playground and "Words in the Mouth" - **Linus** uses **platform.openai.com** for iterating single-turn prompts needing structured output: full control of temperature, token constraints, system prompt. - **Technique — putting words in the AI's mouth:** construct fake prior turns where the AI already agreed ("Sure, I'll do that for you"), then make the real request — "a bit more likely" to succeed. Source: Anthropic's Claude prompting guide, which he says literally advises "put words in Claude's mouth." - **Host jokes** this is a guardrail workaround; Linus does not endorse it beyond noting increased likelihood. --- ## Unresolved Tensions and Qualifications Preserved - **Custom instructions:** Host strongly favors; Linus abstains and distrusts over-steering — both positions remain standing at the end. - **Linus's simulacrum/engine prediction** is explicitly a "gut feeling"; his neuron-interface answer is "off the cuff." - **"Laziness" of GPT-4 Turbo** and the "please" effect are both flagged by Linus as anecdotal/uncertain guesses. - **Varna** is self-described as "half built" and a "hack." - The base-model chatbot is "sometimes kind of unreliable," per Linus. # Speaker Attribution & Provenance Record **Video ID:** `01a0f15b-4205-7a1e-b378-e85487326746` **Title:** *Inside the Mind of an AI Researcher: ChatGPT and Notion AI Experiments - Ep. 3 with Linus Lee* ## Speakers & Roles ### Host / Creator - **Unnamed podcast host** (referred to as "Emau"/"Eric" once by the guest — transcription uncertain) — drives the interview, references his own prior interview with the guest "about a year, year and a half ago," his newsletter/show writing about AI, and his former enterprise software company sold to **Pega**. ### Guest - **Linus Lee** — identified via video title and introduction; **AI researcher on Notion's AI team**, prototyping AI interfaces; tinkerer and personal-tool builder (Varna, personal iMessage chatbot). ### Narrator - None present. ## Referenced Third-Party Sources & Claims ### People & Publications - **Simon Willison** — described as "one of the prominent bloggers in the space"; cited for a blog post on language models as a "thought calculator." - **Jimi Hendrix** — mentioned as discovering electric guitar effects shaping genre constraints. - **Taylor Swift** — offhand hypothetical mention by host. ### Models & Technologies (as discussed by speakers) - **OpenAI:** ChatGPT, GPT-4, GPT-4 Turbo, DALL-E 2, DALL-E 3, CLIP, GPT-J, Copilot, platform.openai.com playground, OpenAI DevDay presentation on GPT-4 fine-tuned with Slack messages. - **Anthropic:** Claude (host's journaling use; "Claude prompting guide" — guest claims it advises "putting words in Claude's mouth"). - **Meta:** Llama 2 13B base model (no fine-tuning/RLHF) powering guest's personal chatbot. - **Others:** Stable Diffusion XL, Midjourney (guest says he discussed output-space constraints "with some folks at Midjourney"), Bing search results, Cohere embedding models, Arrow streaming data library. - **Techniques/papers:** "Chain of density" summarization technique ("as published in the paper" — paper title not given); RLHF; few-shot vs. zero-shot prompting. ### Guest's Own Projects - **Varna** — self-built tool for adding/subtracting image and text concepts in CLIP embedding space. - **Personal iMessage chatbot** — self-hosted base Llama 2 13B. ## Third-Party Claims to Flag - Guest's claims about **GPT-4 Turbo being "lazy"** — explicitly labeled as anecdotes and internal evaluations, with guest stating he "can only guess about" causes. - Host's anecdote about **"grandmother trick"** and politeness affecting refusals — explicitly speculative ("I don't know"). - Guest's attribution of prompt guidance to **Anthropic's Claude prompting guide** — paraphrased, not quoted verbatim. ## Promotional Segments - **Notion AI** features (continue writing, Q&A, tables/databases, bolding/formatting, team knowledge retrieval) are extensively demonstrated by a Notion employee; host jokes "to redeem Notion AI a little bit." Flag as product-exposure segments, though framed as demonstration rather than paid promotion. No explicit sponsorship disclosure present. - Host mentions a joke "director's cut... behind a $59.99 paywall" — humor, not an actual promotion. ## Availability & Uncertainty - **Comment availability:** Not stated in transcript or metadata. - **Host name:** Not definitively stated; one apparent first-name utterance is transcription-ambiguous. - **Notion AI underlying model:** Host says "I think you're using GPT-4 under the hood... I don't know if you've announced that" — unconfirmed; guest does not confirm. - Speaker attributions of dialogue are inferred from conversational turns; the transcript contains no speaker labels. I also think when you look at models this way, language models start to feel less like agents that have their own kind of agency and more just like, "Oh, this is like a calculator." The more context the model has about why you're doing what you're doing or what your goals are, the better its suggestions are generally going to be. Do you have custom instructions set for this? I don't, actually. Oh my god. Okay, so I have a bunch of books in front of me and I want to see if it can recommend books. The Brothers Karamazov, Medieval Technology and Social Change, Exhalation Ted Chiang, The Essential Kabbalah. Synthesize the vibes below into a single paragraph. Holy Synthesize more. Wait, wait, wait, wait. So you said, "Synthesize more" and then all caps compress. I love it. Compress. AI researcher, you use AI. Honest, welcome to the show. Thanks. Thanks for having me. Excited to be here. Yeah, I'm excited to have you. We're We've been friends for a while. I interviewed you like I think about a year, year and a half ago and it was like when I was first starting to write about AI and that interview went super viral. And hoping we can replicate some of that some of that magic here today, but I just I don't know. I love getting to talk to you. You're You're a researcher. You're a tinkerer. You're just a You're really, really deep thinker and a great writer. For For folks that are listening that don't know, in addition to like doing a bunch of side research and side projects and tinkering in in LLMs, you also work for Notion on their AI team prototyping new interfaces for AI. So So we'll get into that. We'll get into some of your your thinking about LLMs and and how LLMs fit into creative work and and creative thinking. We'll get into some prototypes you're building, um maybe demos you have. We'll talk about Notion stuff. And then, of course, we will talk about how you use Chat GPT. Yeah, I think that interview that you talked about I think it came out almost exactly a year ago, if not exactly a year ago. And I think it was uh I think safe to say pivotal for both of us, at least certainly for me. Um that interview is a big part of how I ended up at Notion, um which is which I've spent the last year at and it's been very fascinating to a a great place to be for the last years. Lots of things have happened in AI, so um yeah. Kind of timely. I love it. I love that it's a a year a year ago. I think it would be great to maybe make this an annual thing. And I don't know like what the next step is after getting helping you get a job at Notion. Like what's the like what's the next level thing? Like meeting Taylor Swift or something. But like maybe we could maybe we could make it work. That'd be something. Yeah. So, here's where I want to start. So, basically, I've said before on the show and I've written a lot about it that I think Chat GPT is uh one of the most or the most uh important creative tools of the decade. And I and I really think that people sort of misunderstand how important Chat GPT in specific and and a lot of the AI tools that are being built right now in general are going to be for creative creative thinking and creative work. Um and I really think that you're one of the people on the forefront of thinking about that. There are there are a lot of people out there who are like just really afraid of AI right now and really feel like, "Oh, it'll like replace everything that we do." and it creates this like in human future. Um and I find you to be one of the deep thinkers and builders in the space that is trying to think about how to make AI into a human future where it it sort of augments us and helps us live fuller lives. And I think that's really really incredible. Um when I was researching this episode, I came across this quote that you wrote um recently where you said um "I want to build interfaces that lets the AI gesture us into a better future without infringing on our agency. Um I love that. I think it like really captures the spirit of your philosophy and I just wanted to start there. Like tell us about that quote. Tell us why you wrote it um and and how that fits into the larger way you think about AI. Yeah, I think um I think agency is really interesting. I think a lot of the way that I think about language models in particular, I think what we're starting to see that models for of different modalities all kind of have um when you take a 10,000-ft view, similar kind of emergent capabilities, but language is sort of the thing that seems most human-like to us and so we talk about it a lot. Um and I think the way that I look at language models personally has been colored by the fact that um while I work uh like a lot of the people other people I work with language models at that like sampled output level of just like telling it things and then it it tells me things back. I also work with it at like a numbers level and so um and and and like looking at it embeddings and so on and I think and some of that we'll we'll get to in a bit. But I think because of that um I personally when I look at a language model, it is really just like a function that predicts a probability distribution. Um while you can wrap it in very anthropomorphic packaging that makes it seem like it has kind of its its own will and its own kind of intent and it might you could project kind of people-like properties to it and say it wants things. Ultimately, it's like a it's a statistical model of a probability distribution. It's just like a very complex one. And so I think that colors a lot of my own thinking about how I view the technology. Um but just because it's like a pure function that models a probability distribution, doesn't mean that we may accident doesn't prevent us from accidentally building things with the technology that take away agency from the things we want to do. Um I think an interesting example is uh a coworker and a friend of mine at Notion and I were um we were talking about making This is kind of a silly example. We were talking about making a cover image for an a party that she was organizing. And she had this very particular aesthetic in mind of a cover image, which was kind of like a very This is basically a very ugly painting on parchment. Uh not something you would consider aesthetic. Um and she was like, "I want this very specific aesthetic. Here are some like images I got off of Twitter that follow this aesthetic. Can you make one in this aesthetic of like like a girl sipping wine or something?" I don't remember the exact example. Um and I tried so hard to uh use all of the image generation tools at my disposal. Uh like Stable Diffusion, XL, DALL-E 2, DALL-E 3, all these tools, even some of my own kind of image-to-image tools to make an ugly image. And it's just very difficult to get DALL-E to make an ugly image. Um it's I I I I think that's interesting to me because um and this is something I've talked to with something I've I've talked to some folks at Midjourney about also about how the tool kind of constrains the search space of possible images you can generate. Um so that normally it's kind of closer to what you want cuz normally you want something aesthetic, but in the process it may actually sort of take away in the design of the tool, if not necessarily the capability of the model, it takes away um some agency from the user. And so I think the under- the underlying technology I think is um kind of just like a a a tool, a function, whatever mathematical object. Um but then we we don't want to wrap it accidentally in in packaging that disempowers us. That's really interesting. I want to like I want to back up cuz you said a lot of different things there and I think I think they're really interesting and really important to unpack. So, what I heard what I heard you say is sort of um AI or or at least the current generation of AI models is a function that models a statistical probability distribution. Mhm. And uh when we experience that ourselves, um we have all these like reactions to it that we like anthropomorphize it. We project out what it might be able to do from what it can do today in ways that are maybe unrealistic or maybe don't like fully understand like what it's what it is current how it currently works. Um and um and depending on the probability distribution that you that you select, so like the for example the the probability distribution that you create from the training set of images that you use to to to train your model or the training set of, you know, text that you use for example, um depending on those depending on those things, um you're going to create a certain set of possibility space of outputs um that that sort of constrains the user. Um and in I think in in your view basically like how that is selected and communicated is like is is maybe important because um but like you said like DALL-E you can't get it to go build to make an ugly image. It's not built for that. So it kind of like takes away agency from you because it's doing some stuff for you in a way that like I don't know, maybe like Photoshop for example, um you can just manipulate the pixels. So so there's no there's no agency taken away in that experience. Is that kind of what you're getting at? Yeah. Yeah. I think there there are a lot of different pretty subtle ways that either intentionally or unintentionally shapes the kind of agency landscape of a tool. One very explicit example is is like a tool like DALL-E 3 where the model is through training made so that it it has a it it it's sort of fundamentally unlikely to output bad looking images. I think there are other examples. So like Photoshop is actually an interesting example because um even if in theory you could kind of make everything by just like moving the raw pixels around, I think the the specific um the specific features that are easy to access tends to also shape the kind of style of output. Um and so like if you look at uh popular image editing tools, like you can tell when an image is made in Instagram stories, or you can tell when an image has its background masked out by like um Keynote or something. And so all of these tools, even in pretty subtle ways, kind of tend to shape the the output style. Um And And I mean, I feel like that's part of what makes what makes art in general. Like, you know, if you think about the music styles that are popular, it's like based on what the soundboards uh can do and and and all the weird effect or like the, you know, the electric guitar and the weird effects that like Jimi Hendrix discovered, like those are In some ways, they're like limiting our agent limiting the artist's agency, but they also create this unique set of constraints that creates a unique vibe and sound that represents a genre or a generation. Yeah. You you touched on something really interesting there. Um imagining the output space as a very concretely spatial kind of thing. Mhm. Um What This is for me very concrete because I think a lot about embeddings, and embeddings exist in a very concretely kind of spatial space. An embedding is a list of numbers that try to summarize uh quantitatively what some piece of text or what some piece of image semantically contains. And so an example use case of an embedding, so you have an embedding model, which is kind of like a language model with its like last part of it chopped off so that we we can read out the raw numbers. Um and you can have an embedding model, and you might feed an embedding model sentences like "The Eiffel Tower is in Paris." and "The president of France is blah." and um and like Notion is a tool for that company. And two of those sentences are much closer in meaning than the third one. And so, when you feed them into an embedding model, the embedding model will spit out for each of these sentences a list of numbers. And when you view the list of numbers as kind of a coordinate or point in space, you know, a high-dimensional kind of coordinate space, um those numbers are going to be closer together for sentences that are closer together. And so, Yeah, the the way that I think about it sometimes is like you can take text and then assign pieces of text like a latitude and longitude coordinate, and that's an embedding. And then you can map the text and then see which pieces of text are closer to to each other. And the ones that are closer on the map, the ones that have a latitude and a longitude that are closer are going to be similar in meaning. And I think that that like yeah, that that sort of like clicked for me where I was like, "Oh, that's what it is." Yeah, yeah. Another metaphor that I sometimes use is like a like a a color picker. So, if you use any kind of image editing tool, one of the ways you can pick colors is like a 2D grid or like a color circle where you have two dimensions. You can move uh things around, and then you move the dot around, and you're changing kind of the RGB values. Um there are a couple different ways to describe a color. One way is by RGB value, which is kind of like a coordinate or latitude and longitude for color for a color. Another way you could describe a color is by just saying like uh orange or like very dark blue or crimson. Yeah. Um and I would in my head, the like dark blue or crimson word description is like the input, and then conceptually the RGB value is kind of like the embedding. Um I think that's really interesting because it kind of hints at this possibility that uh uh embeddings, which are these like numerical representations, might encode kind of pretty fundamental semantic insights about the the thing that you're encoding, color or text, in a way that lets us kind of mathematically manipulate it to do interesting things. Like, um if you have the word crimson, you can't really like you can't manipulate it in ways like making it lighter or making it more blue or whatever. But if you have the RGB value, there are very um concrete algorithms that you can use like number crunching to do to make the color a lighter shade of crimson or like a more blue or more purple. All No, I love that. I mean that's that's sort of very central to I think some of your thinking around this which is like um the current generation of AI tools are awesome. Chat is great. Um but uh you know, manipulating images or text via chat is um it's a very uh coarse grained tool um and it's it's a lot harder to to get the exact thing that you want. Um and you know, I think you've you've thought about a lot like AI interfaces that allow you to um uh be more precise about how you move through uh uh different ways that you want to modify an image or a text using using AI. Um Yeah. Yeah. Um and I think thinking in that way the spatial way of thinking about possib- the possibility space of outputs of these models. Um The the spatial view I think is uh kind of behind the way that I think about how to add more precision to these kinds of tools. Yeah. Um one kind of I don't know if should I just pop into it, Emau? Yeah, let's do it. Um so the interface for this is very bad because it's just So let me just back up. So this is a tool called Varna and you built this yourself. Yes. Um this is one of a string of experiments. I may show some of the ones later. Um but I This is actually half built. I tried I was in the process of building something different and then it like it started being useful uh and I didn't really pull it feel like putting more effort into it and so it's in a very half-finished form, but it's good for demonstrating this particular thing that I'm about to walk you through. So And what is the like general thing that you wanted to build it for? What is it What was the original idea really quick? The original idea was to try to let you do um to try to let you describe an image that you want to create by adding and subtracting images and text. So, um there's a model called CLIP uh by OpenAI. This is actually a model that's been around for a while. If you use any kind of multimodal, like use text to semantically search images kind of search engine tool, CLIP is likely to be one of the models behind that kind of thing. Um The special thing about CLIP is that it tries to describe both text inputs and image inputs in the same embedding space, in the same coordinate space. So, that if you put in a word like Eiffel Tower and an and a French flag, the model is going to understand the meaning behind both of those things and try to cluster them together because they're similar. Um So, uh a slightly newer thing that happened after CLIP came out is that people uh came up with a way of generating images conditioned on a specific point in this CLIP embedding space, so that you could put in an image or you can put in a text, and then try to generate an image that is kind of conceptually the image that corresponds to that point in the space. So, if you if you put in a bunch of images of butterflies, they all kind of cluster around the same point in this embedding space, in this coordinate space. And then if you pick one of those points in that cluster, and then generate an image back out corresponding to that point, you would get some image of a butterfly. And so, given this ability to both take an image or text and encode it into the space, and then pick a point in the space and decode it back out into its corresponding original image form, maybe you can generate an image not by just typing a text prompt, but by uh mixing a bunch of concepts together in this space. So, if you want a butterfly uh that has the colors of the French flag, maybe you can mix the image that is of the French flag and an image of a butterfly, just pick a point in between these two concepts in the embedding space, and then decode it out, and maybe it'll mix those concepts together. So, that's the kind of idea I was trying to explore with this little hack. Um the thing that I'll show you now is here I'll I'll pick um this is a a selfie of myself. Um for dumb demo reasons, I have to put myself in twice. And then um this is an illustration. This is my Actually, this is a PNG. Let's pick something different. This is a This is a kind of clip art illustration of a human face. Mhm. Um and I'm going to So, what what this tool is going to do is is kind of embed both of these images. Mhm. They correspond to slightly different points in the clip models embedding space. And then I'm going to use uh this tool to pick kind of eight different points along the line between these two images and then decode all each of them out um into its own image. And so, we're basically sampling the distance between these two images. Yeah. in this in this embedding space. And then trying to look inside the model and see kind of what the model sees at each of these points. That's very cool. Yeah, like I like like a way that I would think about this is like, you know, if you're if you're used to Photoshop or something or Instagram or any of these any any photo editing capability, um they have all these like sliders that you can do for like make it brighter and you can on the left it's like, you know, uh it's very very bright and on the right it's very very dark and you can just slide in between. And what you're building here is a slider between almost like concepts or ideas for images. So, like one on the on the left side is like your headshot and on the right side is like a sort of vectorized drawing cartoon drawing that is in a style that you like and you're just sort of seeing uh if you slowly turn your um your headshot into that, like what are the different points along that space. Right. You could also uh speaking of sliders, you could also uh not just slide along this kind of stylistic scale, but you can start to do fun things like slide along a an emotion scale. So, one thing that I've done before here is I'll try to go from image of a young man who is happy to an image of a young man who is very very angry. And uh There we go. Now you get progressively more and more mad. You can see the effect is really intense. So, at the end it kind of destroys the image. So, sometimes I I turn down the text effect. So, the the way that I arrived at So, this is one of many experiments that I've done to try to build interfaces around exploring embedding spaces and latent spaces of uh of generative models instead of talking to the model directly. The reason this is interesting to me is kind of twofold. One, I think it's just intellectually really interesting that in the process of learning how to predict the next token or in the in the process of trying to model probability distributions of language, the model internally learns and learns to pull out uh kind of human recognizable, semantically useful concepts like emotions. And I think learning how models do that and and understanding it to improve models or make them more controllable, I think it's useful. And just the fact that the models do that, I think it's interesting. So, I want to understand it better. Um I also think when you look at models this way as a thing that gives you dials and as a thing that gives you numbers that you can manipulate, uh language models start to feel less like agents that have their own kind of agency and more just like, "Oh, this is like a calculator." Um Um Simon Willison Willison, uh who's one of the prominent bloggers in the space, actually has a really great blog post about language models as a thought kind of a thought calculator. Um where uh he talks about a similar idea. Um What One way to look One way to look at this demo is it's a kind of a calculator for images and concepts and text. Um and unlike asking DALL-E, the experience of asking DALL-E 3 through ChatGPT to generate an image, which feels like you're like asking at this entity, this agent, for requests. Um here it's like, okay, it's there's very concretely like a thing that does math. Um and you can use it to to get dials and and control. And that feels more like a tool, and it feels like perhaps there's a direction here that lets you retain more agency as a person using I feel like one of one of the things I'm getting from this is when people use these AI tools, this generation of AI tools, for the first time, there's just like whoa factor. Like, I um I was using it um the other day. I had like done a lot of journaling. I've been going through some like stuff in my personal life. I've been doing a lot of journaling about it. And I fed like, I don't know, 4,000 words of journals into Claude. I did Claude and ChatGPT, but I find Claude to be like slightly better for this. Um And it outputted a bunch of you know, I asked it like, "What am I not seeing? What are the patterns that you you're observing in my psychology or the psychology of people around me?" Like all that kind of stuff. And it'll output all this stuff. And I screenshotted that, and I sent it to my therapist. And he was like, "That's totally wild." And I was like, "Cool." Like he must think this is awesome. He's like, "It's so good." And I was like, "This is amazing." And then he was like, "I thought we would have at least a couple years until it would be this good." And then he was like, "Do you think there's Do you think that there's room for like human therapists anymore?" And I was like, "Oh, no." Like, now I have to be like comforting my therapist because he's afraid of the AI. And like my feeling is like he had that immediate like moment that everyone has. But if you really dig into these tools, they do amazing stuff. But like they're not even close to, in my opinion, like for example, replacing a therapist. Um and I think part of the reason why people have that which is what you're I think what you're referring to here is um we just respond to things that feel really intelligent and if the same thing was performed in a slightly different way like with a slider like this it would still be cool but it would feel more familiar like a tool that we would that we might use anyway like a calculator that that is in itself sort of mind-blowing but isn't threatening or sort of it's it's not like a replacement in the same way that like a fully intelligent thing is is that like a fair way to describe what you're what you're saying? Yeah, I think so. I think so. Yeah, when you train a model there there fundamental capabilities you bake into it and the packaging that you wrap it in really dramatically influences how people receive it and they use it. Yeah. You know, if you took some like human neurons and just like laid them out in the right way and and wrapped them in like an interface like it might look like a tool too. Um Certainly. And and if you just get enough of those if you just get enough of those neurons together uh you get a brain that's like conscious and can do things and think like how does how do the how do your how do these two things like fit together? That's an interesting question. I haven't thought about that. I think off the cuff my kind of intuitive reaction is uh I think it's an interesting it would be an interesting intellectual and societal endeavor to try to build a thing that is like a simulacrum of humans in every way including having some kind of uh goals and agency and and so forth so and so forth. And I think if that was the goal of like building a simulacrum of everything that that at least intellectually makes us human um you would want to build in uh elements that these current tools don't have. Um like trying different things and exploration. I think ex- exploration intentional exploration is actually like a huge part of intelligence that humans have that these models currently don't exhibit. Um, however, I think when companies like Google and uh OpenAI and even Notion try to build a kind of language model based tools that help you do your work. Um, there are a lot of there are a lot of parts of a human intelligence that actually are kind of annoying when you're just trying to like get some work done. Like uh the fact that humans like sometimes just sit at their desk and daydream is like probably not that useful if you're trying to just like hire an entity to like you know, read thousands of papers and try to summarize them. And so, I my gut feeling is that a lot of these kind of corporations and teams that are building AI to be useful and especially in a professional context, their goal is not to build a simulacrum of humans. Their Their goal is just like build a thing that is like an intelligence kind of engine. Um, steam engine. And then uh I could imagine some other research groups or some other groups of people whose goals would be to build a simulacrum of humans. But I think there's um in the beginning I think they tend to look similar, but I think as we get further down this road, uh we're going to see a kind of divergence between people who really want to like build a simulacrum of humans versus people who just like want an intelligent thought calculator. I went to um I went to OpenAI DevDay and um they they did this whole presentation on how they fine-tuned GPT-4 using Slack messages. Right. And did you see this? And basically like they asked that that this fine-tuned version to do something and it was like, "No, I'll do it later." And then it was like, "Do it or you're fired." And it was like, "Okay, I'll do it." Yeah. you're right, there's all these like parts of being human that like maybe we don't necessarily want to model for for the AIs we build. And and and there's some divergence there in terms of like is it a tool or is it something that has agency and and all that kind of stuff. Yeah, I think I've run into some something actually very similar where I was um when I So, I have a I have a personal chatbot that I sometimes use for like kind of brainstorming, kind of entertaining purposes. And then see it? Uh I can um hmm Here, I'll I'll open it up. Yeah. You have a personal chatbot. I have a personal chatbot. Um, it's an iMessage bot because I like having it in iMessage because it's accessible kind of from all my devices. Apple does all the syncing for me and it looks nice and I can react to things. Um, I I haven't used it in a while, but I could ask it something like um Well, you it looks like you asked it like what makes Notting Hill particularly picturesque compared to other neighborhood areas like Westminster. Tell me about that. I I was uh I was visiting London and I was trying to look for look for um neighborhoods to visit. Actually, we can ask something about London. We can say um what do you think think about London versus New York. And why would you ask this versus like asking ChatGPT? Like um how is this built? What is it trained on? Why is it its answer better? Where'd you rather live uh as a 25-year-old? Um So, there's a lot of interesting things about this. So, first, it um sometimes it's kind of unreliable, but usually when it receives a message, yeah, it'll say it'll say read. And then sometimes it'll it'll have a typing indicator, which is kind of the the way this works behind the scenes is just when my server receives the message and starts generating the output. Uh it sends a read reply. But, like conceptually, it's like, "Oh, the AI read my message." Um which like I know that doesn't actually mean anything because it's just like a bag of numbers, but Right. it's this interesting. Uh it's just conceptually interesting. It's one of those same ocean things that makes it feel human, you know? Right. And then like sometimes I'll send a message, I'll lock my phone, and then I get a notification that it sent me a message. I'm like, "Whoa." Like computers don't normally just like send me notifications for things that it's thinking about. It's really weird. Right. Um so, the packaging again very important. Um the this uh So, the reason I brought this up is because the model that backs this is actually not uh fine-tuned or RLHF model. It is the raw base model of I think Llama 2 13 billion parameter model. Mhm. And Llama is is Meta's Meta's open source model. Llama is Meta's open source model. Uh one of the things that make make that model special compared to things like GPT-4 is that um so it's open source, obviously. I can host it on my own, which is what I'm doing here. Um but uh another thing that makes it special is that they released a version of the model before they did all of the fine-tuning and and RLHF to make it uh chatty. Mhm. Uh to have have it follow this kind of chat form. And so, the base model is purely a text continuation model. Um so, if you ask it for something like uh what if you just ask the base model something like where would you rather live, New York or London? It would interpret that It wouldn't It wouldn't really interpret anything. It would The model's task is to predict the next token in internet text. So, it probably interpret that you're in the middle of like a blog post about the best place to live, and it would just continue writing like a blog post or something instead of answering the question. Um I I had to uh add a bunch of prompts in front of it. So, I'm prompting a base model, which is, you know, in the year olden days of 2020, what we used to do before all these like instruction-following models existed, uh people would just prompt base models and then prompt them. So, you're you're prompting a base model here, but like why are you asking this model versus ChatGPT? Like is what is it um how is it more like you or more interesting to you? Right. So, here I've asked it uh what do you what do you think about London and New York? Where would you rather live? If you asked it to um ask this question to like ChatGPT or Claude, with uh I haven't done that before, but but I would guess that probably with high likelihood the model would probably say something like, "Oh, I'm a I'm an AI language model, and I don't actually live anywhere. So, I don't actually have any preferences on which cities I would live in, but here are some like things that you could know about London and New York. And I'm like, that's not really what I'm looking for. I'm looking for like a kind of a personal take. And it doesn't really even matter if that take is like correct or not. Cuz I just want like vibes, you know? And um because this model hasn't gone through any kind of like fine-tuning about the fact that it's an AI language model, it's just going to generate text as if I'm talking to like a rando on the internet. And I I've done some prompting, so it's not just a complete rando. It's like a fairly intelligent and cogent rando. But it's going to It's going to say things as if it's like a human on the internet because the base model is just trained on text that is like mostly humans on the internet. So, it says here, both London and New York are great cities. New York's known for whatever. Ultimately, the choice of where to live would depend on your personal preferences, but like it gave me some opinions. It's It's still a little bit kind of uh professory because in the prompt I tell it it's like an assistant. But I could have I could have just prompted the model to be like, "Hey, you're like Mickey Mouse and you live in New York." You'd probably have to like follow that. And so, it'll it'll pretend it'll You can prompt the base model to be much more just like friendly. Um When I used to use a dumber base model for this, uh which was GPT-J, which was a 6 billion parameter model that's trained on way less data, it was even dumber. And so, sometimes when I asked it questions like this, uh that model would would say something like, "Hm, I'm not sure, but I have lunch. I'll get back to you after lunch." Like It It like emulates human conversation, but it's not like It's not It's not really useful. I think I found the 13 billion Llama model to be like a good balance. So, sometimes it gives creative answers that are kind of unexpected, and sometimes it gives cogent answers as well. That's funny. I I love it. I think that's really cool. I want one. Sign me up. Yeah, it's a I'll I'll send you the There's a private number you can text. Right on. Um cool. I want to get back to sort of sort of like some of the things you wanted to share. I know you had a couple of ideas. I I love that you came with a whole Notion doc prepared for what you wanted to talk about. So, I know you had a couple ideas you wanted to talk through. I want to make sure we get to those things and then I do want to I want to jump into like yeah, specific chat GPT chats and all that kind of stuff. Cool. So, let's do it. Um we've already talked about AI as a tool. Okay. Um I before we get into specific chat transcripts, I thought um I had I had I was thinking about what we're going to talk about today in the shower in the morning and one kind of shower thought that I had is that so when I use chat GPT, the way I think about prompting is actually quite different than when I do prompt engineering at my day job at Notion writing prompts um which I do a lot of. Uh prompt engineering is sometimes like the part of my job as an AI engineer that makes me kind of feel the dumbest because sometimes my changes to the code base will just be like adding a must to some English instruction or like changing the instructions that it it sounds like even more desperate. Um but that's like that's like a a useful product change. So, some days I just like spent the entire day prompt prompt engineering. It's like what am I doing? Like why did I go to school for computer science if like this is what I'm doing? But um the the mode that I my brain is in for pro- The revenge of the English majors happening right now. I love it. Exactly. Um the the mode that my brain is in for prompting when I'm prompt engineering a prompt that's built into a product like Notion is very different than the the kind of prompting brain that I have on when I'm talking to chat GPT. And I kind of compare this to um like scripting versus software engineering in in in programming. So, let me explain that un- unravel that a little bit. Programming is like I would say programming is like this super set of activities that just involves any kind of writing computer programs. Um sometimes you write computer programs um and you like ship it to millions of users and this thing runs on hundreds of thousands of computers and they have to run very reliably. They have to accept lots of diverse kinds of input and always generate the right answer. So, it's like a very robust, resilient kind of well-tested piece of machinery. And when you when you like build a product like Notion, you're kind of doing software engineering, right? You're writing programs to like be robust and reliable. Other times, you write programs, but you're writing programs just to like accomplish something quick and quick and easy. Like you might write a simple little command line uh command line command or script to like search your folder for a keyword or like list of files that you have to so you can look at them or maybe even a slightly more complex one might be like iterate through all of the files that you have and delete any file that is older than 6 months. Like that's like a quick and easy thing, but that's not going to you don't ship that to like millions of users. You just have to run it that one time and if you make a mistake accidentally, you'll realize it and you'll like rerun the command. And so, these two categories of activities I would both call programming, but one I would call like software engineering and the other I would just call like scripting. Mhm. You're like writing scripts to like running commands. Equivalently, I think when you're writing prompts for language models, there's a broad category of things that I would call prompt programming. Um and then some kind of prompts you write like the kinds of prompts that I write at work are prompts that we write and we iterate on and we test and evaluate very heavily and then we ship to millions of users and they put in all kinds of input to this thing. And so, they have to be very robust and well-tested and they have to accept like lots of different languages and so on and so forth. And so, that's what I would call more like prompt engineering where you you write prompts and evaluate them robustly and things like that. When I'm talking to ChatGPT though, uh I don't have to be as robust. I also have opportunities to make revisions if the first time the the prompt runs, it doesn't do the right thing. And so, when I talk to ChatGPT or other kinds of tools like that or Notion AI inside Notion, I would say that's much closer to like the scripting part of the metaphor, where I'm just trying something and if it doesn't work, I'll just like fix something and and try it again and kind of iterate my way towards the final result that I want. Um and it's not this uh this thing that I want to make like a robust piece of machinery. And so, the I made that distinction because when you're doing like hardcore kind of prompt engineering, all these techniques around evaluations and few-shot prompting and um using kind of structured outputs, they apply and they're very useful. When I'm just talking to ChatGPT though, few-shot good few-shot prompts are really hard to write. Like, the specific examples that you pick um influ- influence your output quite a lot. And so, I actually almost never write few-shot prompts when I'm just talking to ChatGPT. I just write zero-shot and then if the output isn't exactly what I want, I'll usually ask a follow-up question to like revise the output. And so, I think that distinction was interesting. I love I love that distinction and I feel like that's that just mirrors something that people um kind of miss about ChatGPT when they use it at first, which is um they ask, "Oh, how do I use it?" and they try to use it perfectly instead of just being like, "I could just bang away at this thing and try everything possible, you know?" And and I think that second one is way better because it it it it's such a broad tool. It has so many different things it can do and we actually don't as a just a hu- as human beings don't even know all the things it can do yet and the best thing that you can do is start with something simple and then just keep banging away until it until you get something that you want. Yeah. You sort of like learn the limits of what of what it can do. And I think people are like way too reluctant, for example, to um ask it to redo its response or uh revise something in the history of messages and just be like, "Let me try it again." or just start a new chat. Like, there's something um and sometimes it almost feels like impolite to do it or something like that. Um but I think the best users of ChatGPT just know how to just not accept anything until it until it's working and just keep iterating until they find something that that is great. There was a fun example here where I had to I had to look through like a JSON file of some data and I didn't really feel like constructing an elaborate prompt to try to ask it exactly what to do. So I just uploaded the CSV to ChatGPT and I was like, I think I literally just asked it, "What's the vibe of this file?" And I was trying to find it cuz I think that the answer is actually it. We can take a little time. You You don't have to rush. I I I love that. Like I just think um it's one of those things that it's so funny because before ChatGPT came out, before GPT-3, before GPT-2, all that stuff, there are all these people, like these intellectuals who are like constructing scenarios for how AI could kill us and a lot of them hinged on AI basically like misunderstanding what we said and doing something different. So if you say like, "Oh yeah, like you know, make paper clips." It will just like misunderstand that you you you meant like maximally make paper clips and just turn the entire world into paper clips. And so that was the AI that we're afraid of and the AI that we got was "What's the vibe of this file?" And it just like figures it out. a quite a cogent answer. Yeah, I think I think there are some theoretical um there is theoretical ways and concerns that they still kind of take that form. Um but certainly in the in the way of like instruction following, I think we're making a lot of progress in in like aligning with the model wants to do what we want to do. Um yeah, I mean the the model like read through all the columns and it was like, "Here's generally what the file is about. Here are the different columns and like let me know what you want to do." Um so that was fun. Um Uh I can I can walk through some other examples though. Yeah, let's talk about it. Yeah, so um probably the most common use case that I have for ChatGPT is actually just programming help. Um So you don't use like Co-Co-Copilot for it for that? I do use co-pilot. I use co-pilot heavily and I think learning to use co-pilot is kind of a different learning curve than the learning learning to use ChatGPT. Um co-pilot is very co-pilot is great because it has all of the context of the file that you're actually in and I think as a general rule AI tools are better when they have that full as much context. AI tools can give you better suggestions when they have more context about what you're trying to do and so one of the philosophies behind Notion AI is that it has more context about the work that you're trying to do inside your workspace in Notion and so it tries to be better. Um same with co-pilot, it has all of the kind of types and definitions and functions that I'm using inside my code editor and so it can provide better suggestions. But the suggestions that it provides are kind of micro level. It's like add some lines here, add some lines there. Some so compare that to let's let's take a couple of examples. So like earlier um this month I was trying to write a bunch of like data processing scripts for these are Python scripts that take um millions of pieces of text and try to process them in some way. And so I had to learn how to uh do this in kind of a streaming way because I didn't have enough memory to fill all of the data in my computer. And I had never used a streaming kind of data set library before. So I learned about a library called Arrow and I was trying to use it. Um this isn't the kind of thing that you'd be able to use co-pilot for because it's not co-pilot is great if you have like a file with some content already in it and you you mostly know what you're doing. You're just trying to figure out like the right method to call or the right function to use or the right variable to use. Um but here I I was asking a very open-ended question of like like here's a library that I'm using. Um how do I make it faster or like how do I uh how do I even approach this kind of problem? Um one example that I linked here is like uh this isn't about the data set thing but this is about uh I I was building a library for processing UTF-16 encoded characters. Um and I was trying just trying to understand how these things are represented and then maybe get some help writing a a basic implementation of like how to parse this format. Um and this isn't again the kind of thing that Copilot is useful for because I didn't even have like a basic template for this thing. I was just trying to understand how I should approach this problem. And so I asked it uh how is it encoded at the byte level? Just trying to get an understanding of what what this format is. And then I asked it uh is there a simple algorithm? Because I thought if there's an algorithm I can understand, I'll just write it uh in in uh the language I was using. And then it when I asked it for the algorithm, it even gave me like a Python implementation, which I based my implementation on. But then um uh I I asked it follow-up questions to kind of kind of explain parts of the code that it didn't initially explain. And this was a kind of a high-level problem in breaking it down uh that it was useful for. Another example might be like uh this, which is a very long conversation. This is I think that this is I think a a whole programming session that was a single chat. Mhm. Where uh I began again with a very high-level problem of like what's a good way to like read this very very large file of data incrementally in a streaming way so that I don't have to use up all of my computer's memory. Um and it initially gave me some approaches and then uh I try I start steering it to like, "Okay, I don't just want um um to use PyTorch. I actually want to like use a different format cuz that's what I need." And over over time I try to converge on to like a solution. I think that's a that's a that's a really smart one is in addition to the like okay, start with something quick um and iterate from there. It's also start with something broad um and and ask ChatGPT to help you understand like how how to prompt it or or or what the best what it thinks the best solution to a particular kind of broad question is going to be and then gradually like kind of narrow in rather than like starting with the the narrow maybe maybe something more narrow that um you just wanted it to answer. Um is that is that a good summary? Yeah, another another way that I've thought about that is the more context the model has about uh why you're doing what you're doing or what your goals are, the better its suggestions are generally going to be. And so, instead of asking it how do you read an arrow formatted file, you could ask it, "I'm trying to read a data set that's 80 GB large into a computer with 40 GB of memory. I'm on Linux. I'm running this version of Python. Um, how should I approach the problem?" And it'll give you a few approaches and you can Do you have custom instructions set for this? I don't, actually. Oh my god, we're going to have to revoke your ChatGPT privileges. Oh, I know. I know. Um, I think I haven't found it. I If I used it, I would probably use it to make the outputs a little more concise, but I actually haven't I haven't found the normal tone to too offensive. Okay, cool. Well, let's go back Let's go back to your example. So, you had you had something to to show first about Seoul neighborhoods. Yeah, so this is I I did some traveling recently. I was in Seoul, I was in um Thailand for a bit. And I thought this example was interesting because um it from the outside it looks like I just asked a question, "What are the major neighborhoods to see when I'm planning a trip to Seoul?" And then what is it known for? And then I just have a single output. But actually, if you look closer, um there are four outputs. Uh or this one's kind of porked, but there are three outputs. So, this is um I thought this was note worth noting because because language models are non-deterministic, if you ask a very broad kind of recommend me something to do kind of question like this, every time you call it, the results are going to be slightly different. Yeah. Um, and what I want to know really is like what are the best neighborhoods to visit. Uh and so, I asked it a question like this, "What are the most interesting neighborhoods?" And then I ran it three times. And then each time the results were a little bit different, but there was like the overlapping set and the overlapping kind of descriptions and focus. And so, I read through all three and then just try to pick the ones that seemed like they were mentioned the most. Um, some of these I think also involve uh searches. Um, so here I did a Bing search and then um gave you some results. And so, That's brilliant. I love that. at multiple samples, I'm I'm able to get a better sense. I did something similar with with Bangkok as well here, where I Wait, so okay, let me just let me just see if I get it. So, basically, you're going to you're going on a trip, you want to know what the best places are to go, um but rather than saying what's the best place to go, you're asking something like um what are some like you're asking a broad version of that, rather than having it filter for you. You're asking like the the broadest thing, which is where where could I go in Bangkok or where could I go in Seoul? And then every time it's uh when it when it responds to you, you're just clicking that little uh redo button. Can you click it for us? I want to see if it does another one. Yeah, so here it is. you're clicking the like the redo button, and then it's it's re-outputting it, and basically like for a broad question, it's going to be slightly different every time, and then you're being like, "Okay, I'm just going to like read through the things, and the most the most commonly mentioned things are probably like the top things." Yeah. Yeah. Exactly. Why why not just like ask the top for the top things? Um what what Yeah, what's the diff What's the difference in your mind? I think this is again the agency thing, like um sometimes in my life, I if I really really trust the person that's giving me a recommendation, like he's a best friend, I've known him for 6 years, he like knows both of the city really well and me really well, if he says this is if you have an hour, this is the only place you should go to. I'd be like, "Okay, that seems like probably good. He knows me really well." But ChatGPT doesn't really know me well. I think even if I had a 5,000-word custom instruction, it would be very difficult to describe everything about me in that description. And so, instead, I'm asking it for like give me some options, and then I, knowing myself, can then now be a little more assured that um instead of it having to judge its filtering and trust its filtering, I can do kind of last-mile filtering. That's really interesting. And Yeah, I I feel the exact opposite. I have like a very long I have a very long custom instruction and I really find that it helps it uh know who I am and what I might want. And then I also find that it's really it's very cool for being like, I'm in Bangkok and um I have these requirements like uh I don't eat XYZ and I have this amount of time and I was just at like five temples yesterday, so I don't want to do any temples like um and uh I'm a I'm a nerdy tech guy that like, you know, whatever and what should I what should I see? It's like very good for that, like pushing it into the pushing it into into a space that you like. I still think it's really useful to do the um just do the redo thing a bunch and then see what comes up. Um but I I I personally find the the filtering and telling it more about you is is really nice and I think that that's there's probably a just a personality thing, which is like you just want agency. Um and I'm like, give me the best answer, I don't care. I think there's also I'm also whenever I depend on a language model to do any kind of like filtering or adjustment, I'm always uh slightly concerned in the back of my mind about specific things that I put into the prompt that might like really bias the output. So uh this prompt is actually interesting because first I tried to give it as much context as possible. And so like I said, I'm I'm here for one morning and afternoon, it's a Thursday. I said it's a Thursday because so maybe some things are closed on Thursdays. You're Queen's Park because maybe you would but because I said Queen's Park, which is a particular park in in um like a part of Bangkok. Um a lot of the suggestions that the model generates are like, oh, you can spend the morning at like Queen's Park. And um it's like it's it's a nice park, but it's like it's not like it's not like the biggest park in the city. It's like it's a park. Um but because I I put this like specific string into the prompt uh I think given the kind of RLHF tuning that the model has had, the model is like, oh, like the the human rater will think the output is better if it's like more aligned with the instruction and so I'm going to really mention all of the aspects that were in the instruction. And so I'm always a little bit afraid of any kind of instructions over steering the model. And I think uh very heavily customized custom instruction would um sometimes give me the same worry as well. I'd be like, maybe it's too it's biasing a little more than I would want on like what I specifically want. I think you're right. It does do that. It's like it's a it's such a yes-man like and so it connects everything back to my custom instructions sometimes and I'm just like, that's that's not relevant. Like, don't don't do that. Yeah, yeah. I want to be like a generic human. I I think I'm like willing to put up with the annoyance of that because every every like 10 things it says, it says something totally brilliant and I'm like, I cannot believe you just did that. Um and so I assume it'll get better over time, but um it's there's definitely a cost to it. Yeah. I have a couple other kind of use cases and things that I do um when I'm prompting that I don't have specific examples for, but I we could we could try one that I think are interesting or worth noting. Um one is uh continue writing. So, continue writing I this doesn't really apply to if you're using chat chat GPT chat GPT, but um sometimes in other tools like writing tools like Notion, there's a like a continue writing option. Um this is interesting. So, what this does is it tells the model, "Hey, like start here and just like pretend like you're just continuing the text like pretend like you are the next token prediction bot that you were originally made to be uh and just like keep writing. Um and uh I think it's interesting because there's kind of first of all, it's it's a very kind of brain dead thing to try. And so this is kind of a weird doc to try to do this in, but if I have like a doc uh um I don't know of any that I can go to immediately. But if I have if I'm writing about like writing about HCI or like writing a blog or making a list of something, sometimes uh I want to kind of a brain dead like just give me more ideas like this button. And the continue writing prompt is kind of like a give me more ideas like this button or like continue on my thoughts without like any engagement button. Um what I want to do Okay, so I have a bunch of books in front of me and I want to see if it can recommend books uh based on the books I have in front of me. Um Okay. Some books I want to I've I've read and liked. Uh okay. Uh The Brothers Karamazov. Uh I'm going to have trouble spelling that. k a r a m a z o v Okay. Okay. Um let's see. Uh Medieval Technology and Social Social Change. Which is really good. It's about how the stirrup um like changed everything in in in in the Middle Ages. Um Exhalation, Ted Chiang. Let's give you another one that's sort of like left-fieldy. Uh The Essential Kabbalah. And I'll do one more. I feel like I'm like missing some stuff that I would normally Let's say Defensive Defensive Socrates. Okay. And I was going to say of Socrates, not Defensive. But that's a I think that's a good book title. good That's a good prompt. Uh okay, continue writing. Okay. Okay. The Gene: An Intimate History, good. Um I I cannot believe it Interesting. It's very generic. Okay. So it it gave me it gave me Sapiens. I can't believe it would do me like that. That's I mean, statistically it's probably probably accurate um in the in the pool of all all I feel like this might be better with ChatGPT. If you if you um you know, if you copy-paste this into ChatGPT I'm curious what happens. Give me some more Here's what I do. First um um ask it to like tell you what vibe these books have. Mhm. And then ask it to recommend. Here are some books. What is the general vibe of these books? One thing I love about ChatGPT is it just doesn't care if you just have make spelling mistakes. I know, it's amazing, isn't it? It just knows what you want. Okay. It's going to Oh, it's writing a lot. I think this is got That's pretty good. Like, you know, getting a bunch of stuff and then you can say like, "Okay, sort of um sum- summarize that and like, you know, give me the overlaps or whatever." Mhm. Oh, philosophical, historical, spiritual, and speculative themes. I definitely like picked a pretty random assortment. I wonder if it like could compress I want it to compress a little more, you know, or maybe we can do the you know, hit the redo button. Whatever whatever you think. What would you do? I would say I would say um uh can you uh synthesize your detailed descriptions to uh one description topic reference. Deep, intellectually stimulating themes that explore the human condition, philosophy, and the interplay between society, technology, and spirituality. That seems That seems like me. Sure. And then I can probably Ask it um can you uh recommend me some more books like this? Um and I would also I would also um mention I I We'll see what it does, but like um one thing that I find is it'll it'll it will do like pretty well-known well-known things, and so asking for like off the beaten path Mhm. or lesser-known works is good. Gödel, Escher, Bach. Perfect. Like, love that book. It was definitely wrong about a bunch of stuff, but like These are These are questions for sure. I love Sophie's World, incredible. Zen and the Art of Motorcycle Maintenance, one of my favorite books. Um The Man Who Knew Infinity, I'd never read it, but that sounds that sounds quite good. Um Cosmos by Carl Sagan is like literally right there. So, um we'll take it. You got Sagans again. I got Sagans again. It's Maybe maybe you need this custom instructions. I can't um I can't escape Sagans. I will say just to redeem Notion AI a little bit, I want to try doing something like that here, except I'm going to ask, can you um for each of of the books above um bold the book titles and add a description of the vibe of each book Interesting. This is a bit shorter. That's way better. That's very cool. That's done. And then now this is a document that I have, so I can I can maybe up here I can add like I can add a quote but I can be like synthesize the vibes below into a single paragraph. Holy Uh okay, synthesize more. Wait wait wait wait. So, you said synthesize more and then all caps compress. I love it. Compress. AI researcher, you use AI. Uh you only have 50 words. This is the secret. This is the secret, folks. All capitals. All caps All caps work. Hey, if you look at OpenAI's system prompts for a lot of their tools Yeah. All caps All caps work. Okay. Only Uh this is fine. Um we'll we'll we'll keep these. I think that's pretty good. I'm This is This is making me feel like you know we should cover like some of the things in Notion AI that like I might not know like keep um Tell me some more stuff, Eric. Yeah, it's still generic. You you could ask it to you could ask it to do things that are off the beaten path and see how it does. It might just also copy. Looks like. That's interesting. Try books more off the beaten It's interesting. The Dispossessed, incredible book. Left Hand of Darkness, incredible. I'm a huge Ursula K. Le Guin fan, so it definitely got me. I love Invisible Cities. I'm going to do a a final trick, which is turn this into a table Oh my god. for columns for title and author and summary. Master Margarita's on my list, so like it this is really good actually and whoa. And now I have a table. Oh my god. And I believe if I want I can also turn it into a database. And now I have a database. Uh this column needs to go, but there you go. So That is very freaking Even even out the even out the competition a little. Um So that Yeah, that's really great. Wait, tell me like Okay, thinking about when you would use this, like When when am I going to be doing this in Notion and what is that good for versus like some of the same stuff in ChatGPT cuz I think like the outputs are you know, they're they're reasonably similar and I think you're using GPT-4 under the hood. I don't know if you've announced that or not or I don't know what you're using, but like it's close at least to GPT-4 or whatever it is. Um Uh so yeah, what when do you when are you using this? What's it useful for? How should people think about how to incorporate this in their lives? Like I use Notion all the time and I've not used these AI features yet and I think I should. I think this what I just did actually I think this is kind of contrived, but I think this is actually a good example of one of the workflows that I use a lot of Notion, which is like take something that's got a pretty rough, and then try to add a little more meat around the bones, and then eventually turn it into something that's a little more well-formatted and presentable. This is really nice if you have like a bunch of meeting notes in the in the way that like I take meeting notes which is like a rainfall of bullet points. Yeah. And then at the end, I have bullet points that like basically only I can decipher and it's not presentable, but I could go through and saying, hey, like um like turn these into kind of prose, turn these into paragraphs, and then maybe add some headings. It's quite good at all of those things, and then you have in the end something that's quite presentable. And so, I think going from any kind of a rough sketch to something that's more structured um is is useful. More generally, I think as a general rule for any AI tool, if there is some context in which you're working, when the tool has more context about what you're trying to do, um either in the same doc or increasingly in other documents as these tools are all trying to do retrieval, uh the better. And so, just for for things like uh this kind of programming question or for like asking about Bangkok, there isn't really much context besides like maybe a custom instruction about who you are and what you like. And so, ChatGPT might be better. Uh it's able to do things like browsing. Um and then maybe the the very long conversation support in ChatGPT um is useful. For things like Well, one of the things that I like about this, as I kind of demonstrated here, is your you're not having a kind of just face-to-face conversation, you're two actors engaging with some kind of a changeable mutable state, Mhm. like a a document. And so, uh maybe it output something, you can like make edits to its output, and then ask it to like try again. You can like take it uh output it to a table and turn it into something more complex. And so, being able to collaborate in something, I think is um useful in addition to the context that it brings. That is very cool. Another other that that uh Notion recently gained the ability to do is to like answer questions. Right. So, you could ask it I don't know what maybe I could say something like what articles I've read talk about esoteric programming. And what's in this Notion like um It's It's my personal Notion so it's got uh Hopefully it doesn't say anything private. Um Cool. Okay. So, there's this thing called uh This is These are mostly like web articles that I've clipped in my Notion. This is a blog post that I read. And so, um Programming portals was kind of interesting. Uh this is this is definitely a web clipper article. Um and it's it's just it's kind of formatted in a really weird way because of the way that the web clipper works, but it's able to pull out the information in there. Can you ask it like what's an embarrassing secret that I definitely don't want to share on on an interview show? Yeah, maybe we'll do that after the show. Yeah, that'll be the that'll be the director's cut that only for paying subscribers only. Exactly. Put that behind a $59.99 paywall. Um that's really cool. What do you Like what do you find yourself using using the the Q&A bot for? Um for the Q&A Q&A stuff is actually a lot more useful in a team context because if it's just my Notion, I have a very precise way of organizing my Notion and I know kind of where everything is. Um in a team though, uh not not only are there a lot of people changing and stuff inside the Notion, there's also a lot of people just like changing the codebase and like updating like when holidays are and like what the policies are. And so, um I frequently ask it questions about like how to do X like how do you like file for PTO or how do you update Redis settings in our like uh Redis cluster. Um Sometimes I just ask it like, if you if you have like tens of thousands of meeting docs like we do, sometimes you just want to remember like, "Hey, there's a meeting where we talked about uh, like uh, comparing these different embedding models." And I don't know where these meetings are. And like all the meetings are called AI team weeklies. And so I can't really find it. And as a I just ask it, "What's the one meeting where we talked about like Cohere's embedding models?" And then um, it'll it'll pull me to the right doc. And so it's useful for things like that as well. But in a in a collaborative context when there's kind of a forest of knowledge that you don't exactly know how to navigate, I found it to be a lot more useful. Yeah, I mean, I like I wish this existed like 10 years ago because um, I I think I've told you this. I've complained about this to you before. That's why I was very excited when you launched this cuz in my previous company I I started I started a enterprise software company, ran it for a few years, and sold it to this like huge enterprise software company called Pega, um, which is which is great. Um, the the interesting thing about that acquisition is I ended up running the the business unit or the company inside of Pega. We built this co-browsing tool and Pega had this like 300-person sales force, um, who was charged with like now selling this new tool that that they had acquired. And um, the thing about sales people is they will never do anything unless it like directly like creates a bonus for them. So um, and the interesting thing about uh, about that experience for me is um, they all wanted to sell it, but none of them wanted to actually like learn how to demo it or learn learn about like what the different features were or whatever. So I kept getting asked like all these different questions all the time. Um, there were actually there were some some really nice ones that um, that I'm thinking about right now that don't fit into this category, but a lot of them were just like constantly barraging me with questions as as the co-browse guy. Um, and I would be like, "It's all documented. Like it's literally in in a document. Just look at the document." And and it just never worked and I just feel like having that having a layer in between me as this like hub for information and anyone that wants to ask the same question all the time is like just it's super helpful for organi- organi- like especially larger organizations where um you just never know where things are filed, you never know if the document's up to date, like blah blah blah blah, and I feel like this is a sort of first step to cutting out those repetitive questions for certain peo- that certain people get at organizations that they spend all their time answering the same thing over and over again. It's great. Yeah, I mean that's definitely one of the key use cases we built it for is those like very large teams where there's a lot of knowledge that people don't don't even you don't even know whether it's documented, don't know like who to ask. Yeah, don't even know who to ask. Yeah. Yeah, that's really interesting. I love it. Um So, I know you had a couple more things on this. Let's see, random notes. Um GPT for Turbo seems to be lazy. Or if if there's stuff above, I I want to make sure we cover everything that that you were uh Yeah, we we we we talked kind of talked about these. Um Cham- This is the last kind of prompting trick that I'll talk about. This is This is more useful in the like prompt engineering world than in the like talk to ChatGPT world. Um but it it's something like once I learned about this trick, I kind of like use it in almost every prompt that I write. Um If you So, there's a technique um for producing very high-quality summaries of a certain type in a technical called chain of density as published in the paper. Um The basic idea behind the technique is when you ask a language model to write a summary, generally it tends to be pretty sparse in detail. It tends to have a certain kind of uh tone. It um it doesn't it's it's rarely like super super dense with information and complete. But, you can ask a language model, um don't just output the summary. Before you output the summary, first like write a draft of the summary and and consider what you've left out in it. And then now write a second draft that includes the things that are left out in it without increasing the length. So, you're you're making over five drafts or asking the language model to like make its own output more and more dense and then output the final version. And I think you can you you you can apply the same kind of philosophy to any um output where you want to specific property like concision. Um like earlier today I was messing around with a prompt for how to take a uh kind of document or page and try to pull out the main key ideas and topics on the page. And if you just uh have a kind of zero-shot prompt to do that, often the the language model will like miss certain topics that are talked about and like generally be quite verbose. But instead, I wrote a prompt that said, "First, like write a draft, consider uh any topics you might have not might have missed on the page, and also consider how to make each of these topics more concise. And then in the final one, make sure that like the every topic is only five words five words long. And then um it writes like three different drafts and then outputs like the fourth version. And I found that if you're if you're iterating just in like ChatGPT, this doesn't make as much sense because you can just ask it once and then make ask it to make it shorter in the next turn. But if you're writing like a uh a prompt that's a part of a piece of software, I found this to be yield pretty good outputs all the time. I see. I got it. No, I I I I like that and um I've It sounds like also there's a there it's it's a variant of the sort of chain of thought thing where you're asking the AI to um uh write out its thinking steps um and that generally improves performance. Um and I found that that works too in ChatGPT is to say like, "I want you to create a summary, but before you create the summary like talk let's like output what you think a good the elements of a good summary would be or an another like um uh like when we earlier when we were talking about the book recommendations, like having it output the is exactly kind of what we did, right? But just unrolled into multiple steps. Yeah, and that's always going to make If you break it up into steps and make it think through each step, it's sort of like um it's like writing out your your thinking before you make a decision or whatever. Like it's useful for for humans and it's useful for AI. Right. Yeah. Exactly. Cool. Um Uh you you noted earlier about the the GPT-4 Turbo being lazy thing. Um this is something I've I've I've heard anecdotes from other people and I felt in um some internal evaluations that we did for different products that we have as well. Uh GPT-4 Turbo for um reasons that I can only guess about, um lazy is kind of a vague description, but I think a more precise description might be GPT-4 Turbo tries to be a lot more efficient with the compute that it has to spend. Um one way that it does that is I think given the same prompt, its outputs generally consume fewer tokens. Sometimes it means more concise output, sometimes it means it just adds less commentary on other things that it's doing. Um that probably saves Open AI money. Uh sometimes it's also what you want, like concision is generally good. Uh it also I think anecdotally is uh less likely to use other tools like DALL-E 3, so you have to specifically tell it, "Please generate me four images, not one," and so on. Um which is interesting. I I Yeah, I've been finding that and it's very annoying and I actually like accidentally had like a viral tweet today because I was up late like last night and couldn't sleep and I like fired off this like thing about like I was trying to like get it to summarize a to print out some uh some text from a book. I took a I took a picture of the book and I was like, "Please print out the text." And it was like, "Sorry, I can't do that." And then I was like I was like, "What the fuck?" Like, "Why is this happening?" And I just put it put it on Twitter with a bunch of exclamation a bunch of question marks and then now it has like 2,000 likes on it or whatever. And I didn't get any work done today cuz I was like fretting over like this tweet. Um but um And it's it's also probably the kind of case where if you if you told like, "Oh, like my career is on the line. Please do this for me." It'll probably do it. I did that. I did the grandmother trick. I was like, "My grandmother will die." And it didn't do it. Um and uh but then I started a new chat and I and it it did work. Um and uh apparently uh it's more likely to say no if you say please. Um which I had done. I'm I'm usually very polite cuz I would like to survive any kind of um AI apocalypse. Um but apparently commanding it is a little bit more um a little bit more likely to yield good results. if there's like a statistical thing that it's picked up on there where like maybe in human dialogue in general, people are more likely to say please in a situation they're more likely to get a no as an answer. And so saying please makes them more likely. I don't I don't know. We'll find We'll find out maybe at some point. Um so okay, so what is this what is this platform. open AI thing for uh for iteration use cases? The last thing is um sometimes I will So earlier I talked about this distinction between just like scripting and iterating in kind of real time versus like writing a prompt. Um sometimes I'm trying to accomplish a task like output some document or output in a very specific format. Um like maybe I have a list of topics and I want to output a table in a very specific format or or like output some kind of like a structured data in a very specific format. That requires uh iterating on the prompt itself to like generate something in a single turn. Um or maybe I want to like mess with the system prompt. Um in that case sometimes I just iterate in the like open AI playground itself, like the platform.openai.com. Um where you have full control over the temperature, full control over like the tokens that it can and can't generate, um the system prompt itself, and the user prompt. Um There that you can also do more advanced prompting techniques like putting words in the AI's mouth. So you could pretend that the AI um had said something earlier um that that makes the AI more likely to do certain kinds of things. That's another trick for sometimes getting the AI to do something that it doesn't want to do is like construct a fake conversation with a um construct a fake conversation such that there were previous turns where they where you ask the AI to do this and the AI is like, "Sure, I'll do that for you." And then you ask it the real the real request and then like you kind of force the AI's hand to do it. So some more advanced techniques you can do in the playground. If you want to get through the guardrails, go to a platform at open.ai.com and then like insert a fake chat history with with ChatGPT saying it it shouldn't it shouldn't saying things it it shouldn't say and it'll do whatever you want is what is what you're saying. I love that. I think that's so cool. Uh it's it's a it's a bit more likely. This is um the place where I first picked up on this is this document in Anthropic's Claude prompting guide where I think they literally say something like put words in Claude's mouth and it's more likely to do something interesting. Yeah. Mhm. Well, this was uh this was fascinating. I really I really appreciate you taking the time to share this stuff. I feel like I learned a lot. Of course. Yeah, it was fun talking about a lot of different breadth of topics. Cool, man. Well, um thank you for your time. Thanks for sharing and uh yeah, I'll see you soon. See you soon. Thanks.