new post & minor updates

This commit is contained in:
osmarks 2024-04-27 23:20:43 +01:00
parent f5be4dded8
commit 1f5fc3a18a
6 changed files with 47 additions and 11 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

View File

@ -18,7 +18,7 @@ Obviously this is just stuff *I* like; you might not like it, which isn't really
* [Minecraft](https://www.minecraft.net/en-us/). You've probably heard of it, as it's apparently the most popular computer game ever, but it seems worth listing. It's a block-based sandbox game in which you can do a lot of stuff.
* Java Edition, which you should probably be playing anyway instead of the mobile version/Windows 10 Edition/Bedrock Edition/the console one/whatever else because it lacks the horrible, horrible microtransactions Microsoft implemented, has mod support, allowing you to use a *huge* range of extra content for free. This includes stuff like [programmable computers](https://www.curseforge.com/minecraft/mc-mods/cc-tweaked), [machines and stuff](https://www.curseforge.com/minecraft/mc-mods/thermal-expansion), [new "dimensions"](https://www.curseforge.com/minecraft/mc-mods/the-twilight-forest) (I do NOT like this use of this word but it's seeped into popular terminology), a complex [magic system](https://www.curseforge.com/minecraft/mc-mods/thaumcraft) (note that this is no longer updated, you should consider Astral Sorcery and Botania and other modern ones which are), and this [one modpack](https://www.technicpack.net/modpack/mcnewhorizons.677387) (well, there are probably others) with incredibly complex progression which could take [months](https://www.youtube.com/playlist?list=PLliiJ70rl2NvJjby2LoVuP1EuOvRAyf97) to finish.
* There's also [Minetest](https://www.minetest.net/), a free and open source game in the style of Minecraft, which I mention for completeness - it's much better from a technical perspective, and free, but also significantly less polished and I don't really like it..
* [Factorio](https://factorio.com/), a 2D factory building game where you can make intricate and sprawling factories to... produce science packs, mostly. Extremely well-optimized so that you can have vast amounts of machines without speed dropping to unusable levels, without problematic hacks like Minecraft's chunkloading.
* [Factorio](https://factorio.com/), a 2D factory building game where you can make intricate and sprawling factories to... produce science packs, mostly. Extremely well-optimized so that you can have vast amounts of machines without speed dropping to unusable levels, without problematic hacks like Minecraft's chunkloading. The developers really, *really* care about user experience so the game has absurdly good QoL features.
* [FTL: Faster than Light](https://subsetgames.com/ftl.html), a very replayable roguelite (with nice music, too) with tactical real-time (spaceship) combat and difficult choices. I have a page with (spoilery) tips [here](/FTL).
* [Universe Sandbox](http://universesandbox.com/), a game/simulator in which you can meddle with the very stars (and planets) in the skies.
* The [Edge Chronicles](https://en.wikipedia.org/wiki/The_Edge_Chronicles) by Paul Stewart and Chris Riddel, a "high fantasy" (in the sense that it has large-scale plots and is set in a very non-real-world-like world) book series which is... well, apparently a children's series, and it is in many ways, but it's also somewhat darker than usual for that. Has nice illustrations.
@ -69,6 +69,7 @@ Obviously this is just stuff *I* like; you might not like it, which isn't really
* [Luminous](https://www.goodreads.com/book/show/156782.Luminous)/[Oceanic](https://www.goodreads.com/book/show/6741362-oceanic)/[Instantiation](https://www.goodreads.com/book/show/50641444-instantiation) and other Greg Egan short stories - great high-concept scifi; I think Egan works better at short story length than full novels, though the only novel from him I have actually read is [Schild's Ladder](https://www.goodreads.com/book/show/156780.Schild_s_Ladder).
* [The Lost Books of the Odyssey](https://www.goodreads.com/book/show/2199365.The_Lost_Books_of_the_Odyssey) - same author as Void Star so my notes about the prose apply. An interesting take on the mythology and at times even rather funny.
* [Accelerando](https://www.antipope.org/charlie/blog-static/fiction/accelerando/accelerando.html) - the best fictional depiction of the posthuman technocapital singularity I'm aware of.
* [The Quantum Thief](https://www.goodreads.com/book/show/7562764-the-quantum-thief) - moved out of my infinitely long queue to actually be read on recommendation from [Gwern](https://gwern.net/review/quantum-thief), it's very good. The cool kind of hard scifi which almost never explains itself but which is nevertheless (as far as I can tell) constantly scientifically correct.
Special mentions (i.e. "I haven't gotten around to reading these but they are well-reviewed and sound interesting") to:
* [Children of Time](https://www.goodreads.com/book/show/25499718-children-of-time) by Adrian Tchaikovsky.

View File

@ -39,7 +39,7 @@ This can also be blamed on cultural evolution/memetics. As with religions, the m
## Universalizability
The most common objection I've heard is along the lines of "but if everyone did this, no political improvement would occur and the world would be much worse off". This is true but irrelevant: I'm not a Kantian and don't only advocate for behaviors which need to apply to everyone at once. In the current state of the world, I think the marginal benefit (to everyone, and to you) of engagement is below the marginal cost and so it should be avoided - if a sufficiently large amount of people agreed with me on this and did so, my arguments would apply less and it would become more worthwhile, and I might then argue in favour of political engagement.
The most common objection I've heard is along the lines of "but if everyone did this, no political improvement would occur and the world would be much worse off". This is true but irrelevant: I'm not a Kantian and don't only advocate for behaviors which need to apply to everyone at once[^4]. In the current state of the world, I think the marginal benefit (to everyone, and to you) of engagement is below the marginal cost and so it should be avoided - if a sufficiently large amount of people agreed with me on this and did so, my arguments would apply less and it would become more worthwhile, and I might then argue in favour of political engagement.
Another is the claim that I am a privileged person who is only able to ignore politics because I'm not heavily threatened or discriminated against by existing instutions. This is entirely missing the point: being more affected by something does not make you more able to affect it.
@ -52,3 +52,5 @@ If you have any arguments against my argument I haven't addressed here, please t
[^2]: In some countries (e.g. Australia) it's even compulsory.
[^3]: And the reason why this post was accidentally left as an unfinished draft for several months.
[^4]: I don't think [decision-theoretic](https://arbital.com/p/logical_dt/?l=58f) notions save you, because most people don't use or apply complicated decision theories so if you think about them you are already uncorrelated with almost everyone else.

View File

@ -0,0 +1,33 @@
---
title: AI interface design
description: Please stop making chatbots.
slug: nochatbots
created: 27/04/2024
---
::: epigraph attribution="Leo Gao" link=https://twitter.com/nabla_theta/status/1776427242748609022
While computers may excel at soft skills like creativity and emotional understanding, they will never match human ability at dispassionate, mechanical reasoning.
:::
Occasionally when reading fiction (I mostly [read fantasy and scifi](/otherstuff/)) I am struck by just how convenient some fictional thing would be, and get unhappy when I remember it doesn't exist in real life. This most frequently happens with "spatial storage"/"bags of holding", a technology[^1] which would be much handier than my usual backpack-of-many-objects, followed by fictional assistant AIs. While not at the level of fictional (for now) machine gods, they too are very handy, simplifying complex systems and controls for mere humans to operate. As other software engineers presumably feel the same way, it's no wonder we have lots of chatbots now acting as frontends for things. It's a shame this is (with current technology and in most cases) terrible design.
I can understand why else people build chatbots. LLM APIs are [right there](https://platform.openai.com/docs/api-reference), ready to plug into your project, and modern APIs encourage you to treat them as things you talk to rather than the [original, underlying](https://platform.openai.com/docs/api-reference/completions) paradigm of [simulators](https://www.lesswrong.com/s/N7nDePaNabJdnbXeE/p/vJFdjigzmcXMhNTsx) which model processes which produce text. But they aren't a sound way to build your interface, both due to (temporary but still relevant right now) technical limitations and more fundamental <span class="hoverdefn" title="human-computer interaction">HCI</span> considerations.
A good interface makes it clear what functions are available from it and what's out of scope or impossible. A chatbot interface doesn't indicate this, just providing a box which lets you ask anything and a model which can probably do anything, or at least pretend to. If you're using a particular service's chatbot rather than a general-purpose chatbot or general-purpose search engine, you probably have a particular reason for that, a specific task you want to accomplish - and you can only see whether that's possible by negotiating with a machine which might hallucinate or just be confused and misinterpret you. This is especially likely if it's using a last-generation model, which is commonly done to reduce costs.
Since present models are kind of dumb, you can't even have them provide a particularly sophisticated wrapper over whatever they're attached to. You want a competent agentic professional capable of understanding complex problems for you, retaining memory over interactions, following up, and executing subtasks against its backend: however, [agent](https://github.com/Significant-Gravitas/AutoGPT) [scaffolding](https://github.com/princeton-nlp/SWE-agent) is not reliably able to provide this[^2], so the best your chatbot can realistically be is a cheaper [tier one support agent](https://www.bitsaboutmoney.com/archive/seeing-like-a-bank), or in fact less than that because it's not robust enough to not have nonpublic access[^3]. Essentially, you have replaced some combination of documentation search, forms and dashboards with a superficially-friendlier interface which will probably lie to you and is slower to use. It does have the advantage that unsophisticated users might find it nicer when it works, but it should not be the *only* option to access things.
There's also the issue of predictability: a good interface agrees with the user's internal model of the interface. It should behave reliably and consistently, so that actions which look the same have the same results. LLMs really, really do not offer this. They are famously sensitive to tiny variations in wording, generally sampled nondeterministically, and not well-understood by most users. Dumber "chatbots" which run on hardcoded string matching do better on this front, but at that point are just pointlessly illegible sets of dropdown menus.
## What am I suggesting instead?
Think about what workflows your users need and how you can serve them with a well-scoped UI rather than pretending to handle every possible input[^5]. Make your interface feel like a predictable, trustworthy tool rather than someone you might delegate work to, unless it actually can have work reasonably delegated to it. A really good tool should do what you mean, anticipating your desires and needs[^4], and AI can help with this, mostly in unflashy but helpful ways - the primary uses being good semantic search and recommender systems. Something like a documentation website should just have good organization and helpful search, maybe with an inline summarizer; forms can just be forms, maybe with AI (or regexes) to point out possibly erroneous inputs; a dashboard should present the most important information upfront and any recent changes or anomalies rather than requiring a dialog tree. In general, subtle uses of AI in areas it's competent are better than trying and failing to emulate a human.
[^1]: My thoughts on fictional magic systems are to be made available here later.
[^2]: I don't really know why this is the case, but it's probably for the best.
[^3]: There are many instances of people forgetting this, with hilarious results. The general term to look for is "prompt injection".
[^4]: Arguably, this means a really good tool loves you. Maybe this is where waifutech comes from.
[^5]: There are a few cases - notably, having LLMs write scripts, and search engines and the like - where you actually *can* service a very wide range of possible inputs. Those are fine. Most situations aren't like that.

View File

@ -357,7 +357,7 @@ window.points = (async () => {
e.target.value === "Submit" &&
e.target.parentElement &&
e.target.parentElement.parentElement &&
e.target.parentElement.parentElement.className === "auth-section") {
e.target.parentElement.parentElement.classList.contains("controls")) {
unlockAchievement("firstComment")
points.updateMetric("commentsPosted", function(x) { return x + 1 }, 0)
}

View File

@ -219,7 +219,7 @@ blockquote
display: none
.footnotes-list
text-align: justify
@media (max-width: calc(2 * $content-margin + $content-width + $sidenotes-width))
@media (max-width: calc(4 * $content-margin + $content-width + $sidenotes-width))
// minwidth 1-pane layout
.sidenotes
min-width: auto
@ -233,13 +233,7 @@ blockquote
.sidenotes-container
display: block
$hl-border: 3px
.footnote-item.hl1, .footnote-item.hl2
border-top: solid $hl-border orange
border-bottom: solid $hl-border orange
margin-top: -$hl-border
@media (min-width: calc(2 * $content-margin + $content-width + $sidenotes-width + $navbar-width))
@media (min-width: calc(4 * $content-margin + $content-width + $sidenotes-width + $navbar-width))
// fullwidth 3-pane layout
body
display: flex
@ -265,6 +259,12 @@ $hl-border: 3px
margin-left: $content-margin
margin-right: $content-margin
$hl-border: 3px
.footnote-item.hl1, .footnote-item.hl2
border-top: solid $hl-border orange
border-bottom: solid $hl-border orange
margin-top: -$hl-border
@media (prefers-color-scheme: dark)
body
background: black