MoreRSS

site iconHackerNoonModify

We are an open and international community of 45,000+ contributing writers publishing stories and expertise for 4+ million curious and insightful monthly readers.
Please copy the RSS to your reader, or quickly subscribe to:

Inoreader Feedly Follow Feedbin Local Reader

Rss preview of Blog of HackerNoon

CFG Tree Enumeration: A Simple Integer-Based Bijection Algorithm

2026-03-15 03:00:06

Table of Links

Abstract and 1. Introduction

2. Pairing functions

  1. Enumerating trees
  2. LZ-trees
  3. Conclusion and References

Abstract

I present a simple algorithm for enumerating the trees generated by a Context Free Grammar (CFG). The algorithm uses a pairing function to form a bijection between CFG derivations and natural numbers, so that trees can be uniquely decoded from counting. This provides a general way to number expressions in natural logical languages, and potentially can be extended to other combinatorial problems. I also show how this algorithm may be generalized to more general forms of derivation, including analogs of Lempel-Ziv coding on trees.

1 Introduction

While context-free grammars (CFGs) are important in computational linguistics and theoretical computer science, there is no simple, memoryless algorithm for enumerating the trees generated by an arbitrary CFG. One approach is to maintain a priority queue of partially expanded trees according to probability, and expand them through (e.g.) the leftmost unexpanded nonterminal in the tree. This, however, requires storing multiple trees in memory, which can become slow when enumerating many trees. Incremental polynomial time algorithms are also known [1] and related questions have been studied for lexicographic enumeration [2–4]. These algorithms are not particularly well-known, and the tools required to state and analyze them are complex. In contrast, simple techniques exist for enumerating binary trees with a fixed grammar (e.g. S → SS | x). A variety of techniques and history is reviewed in Section 7.2.1.6 of [5], including permutation-based methods and gray codes [6–9]. These algorithms, however, do not obviously generalize to arbitrary CFGs.

\ The goal of the present paper is to present an variant of integer-based enumeration schemes that works for arbitrary CFGs. The algorithm is itself very basic—just a few lines—but relies on a abstraction here called an IntegerizedStack that may be useful in other combinatorial problems. The proposed algorithm does not naturally enumerate in lexicographic order (though variants may exist) but it is efficient: its time complexity is linear in the number of nodes present in the next enumerated tree, and it does not require additional data structures or pre-computation of anything from the grammar. Because the algorithm constructs a simple bijection between a the natural numbers N and trees, it also provides a convenient scheme for G¨odel-numbering [10, 11], when the CFG is used to describe formulas. We then extend this algorithm to a tree-based algorithms analogous to LZ compression.

\

\ \

:::info Author:

(1) Steven T. Piantadosi.

:::

\

:::info This paper is available on arxiv under CC BY 4.0 license.

:::

\

Godot 4.3 RC 2: The Safe Fixes

2026-03-15 01:00:57

We entered the Release Candidate stage in the Godot 4.3 development cycle a week ago with 4.3 RC 1, which means that all features are in place, the most critical regressions have been tackled, and we’re confident that it’s now ready for general use in the vast majority of cases.

\ A lot of users have been testing the RC 1 snapshot, reporting issues, many of which could be fixed. In the meantime, we’ve kept working on a few known bugs which we were still hoping to resolve for 4.3 - and by now most have been fixed!

\ Godot is a big piece of software and it’s hard for contributors and even unit tests to validate all areas of the engine when developing new features or bug fixes. So we rely on extensive testing from the community to find engine issues while testing dev, beta, and RC snapshots in your projects, and reporting them so that we can fix them prior to tagging the 4.3-stable release.

\ Please, consider supporting the project financially, if you are able. Godot is maintained by the efforts of volunteers and a small team of paid contributors. Your donations go towards sponsoring their work and ensuring they can dedicate their undivided attention to the needs of the project.

\ Jump to the Downloads section, and give it a spin right now, or continue reading to learn more about improvements in this release. You can also try the Web editor or the Android editor for this release. If you are interested in the latter, please request to join our testing group to get access to pre-release builds.


The original cover illustration is from Gorgon Shield, an old school party-based RPG by Whiskeybarrel Studios, creator of the Sword and Sandals series. The game was just released on Steam, and uses cutting edge Godot 4.3 RC! You can also check out Whiskeybarrel’s previous Godot game Sword and Sandals Immortals, and follow them on YouTube and on Twitter.

Highlights

We covered the most important highlights from Godot 4.3 in the previous 4.3 beta 1 blog post, so if you haven’t read that one, have a look to be introduced to the main new features added in the 4.3 release.

\ Especially if you’re testing 4.3 for the first time, you’ll want to get a condensed overview of what new features you might want to make use of.

\ This section covers changes made since the previous RC 1 snapshot, which are mostly regression fixes, or “safe” fixes to longstanding issues.

\ Here’s a selection of the some of most relevant ones:

  • 3D: Fix “selectable nodes at position clicked” feature in 3D editor (GH-94387).
  • Animation: Fix BlendShapeTrack insertion not working (GH-94738).
  • Animation: Determine break_loop_at_end 1 frame earlier using prediction by delta (GH-94858).
  • Audio: Fix typo that prevented samples finishing (GH-94800).
  • Core: Fix Variant::construct of Object (GH-90134).
  • Core: Apply prefer_wayland only if no display driver is set (GH-94774).
  • Core: ResourceLoader: Let resource setup late steps invoke loading in turn (GH-94910).
  • Export: Fix Android export failing with custom keystores and no JDK setup in the OS environment (GH-94809).
  • GDScript: Fix locals clearing after exiting while block (GH-94730).
  • GDScript: Fix common mismatched external parser errors (second try) (GH-94871).
  • GUI: Fix division by zero in aspect ratio calculation (GH-93764).
  • GUI: Use legacy color picking in single window mode (GH-94931).
  • Import: Avoid crashing when scene import settings are empty (GH-93284).
  • Import: Fix browse_dialog in Blender scene importer to accept files (GH-93411).
  • Import: Fix reimporting textures after changing import project settings (GH-94975).
  • Input: Fix update mouse cursor state wrong mouse position (GH-94987).
  • Multiplayer: Fix disconnect_peer not doing the proper cleanup (GH-91011).
  • Multiplayer: Partially revert cache cleanup, track paths as fallback (GH-94984).
  • Network: WebSocket: Allow reusing closing and closed peers (GH-94168).
  • Porting: Android: Ensure cleanup of all subobjects in the OpenSL audio driver (GH-85955).
  • Porting: Windows: Update ANGLE surface size when window is resized (GH-94428).
  • Porting: Pass window exclusive and transient properties for subwindow creation (GH-94706).
  • Porting: Enable ASTC encoder build when building with ANGLE to fix macOS import crash (GH-94903).
  • Porting: Fix crash that occurs on termination of the Godot engine on Android (GH-94923).
  • Porting: Windows: Improve OpenGL/ANGLE switching on ARM64 (GH-94943).
  • Porting: Windows: Improve editor grouping, set friendly name registry key for exported projects (GH-94976).
  • Porting: macOS: Fix is_process_running and kill for bundled apps (GH-94978).
  • Rendering: Windows: Fall back to D3D12 if Vulkan is not supported and vice versa (GH-94796).
  • Rendering: Fix regression around OpenGL swapchain optimisation for OpenXR (GH-94894).
  • Shaders: Fix editor crash when shader has incorrect global array declaration (GH-90792).
  • Shaders: Fix incorrect passing of parameter to visual shader preview (GH-94729).
  • Shaders: Emit normal_roughness compatibility code in custom functions (GH-94812).
  • Shaders: Restrict sampler hint validation to only screen texture hints (GH-94902).
  • Thirdparty: embree: Fix include order causing unwanted dllexport symbols (GH-94256).

Changelog

41 contributors submitted 69 improvements for this new snapshot. See our interactive changelog for the complete list of changes since the 4.3-rc1 snapshot. You can also review all changes included in 4.3 compared to the previous 4.2 feature release.

\ This release is built from commit 3978628c6.

Downloads

Download Godot 4.3 rc2

\ Standard build includes support for GDScript and GDExtension.

\ .NET build (marked as mono) includes support for C#, as well as GDScript and GDExtension.

\ If you want to test the new Windows ARM64 builds, they’re not integrated in our download page yet, so here are direct links:

\ While engine maintainers try their best to ensure that each preview snapshot and release candidate is stable, this is by definition a pre-release piece of software. Be sure to make frequent backups, or use a version control system such as Git, to preserve your projects in case of corruption or data loss.

Known issues

During the Release Candidate stage, we focus exclusively on solving showstopping regressions (i.e. something that worked in a previous release is now broken, without workaround). You can have a look at our current list of regressions and significant issues which we aim to address before releasing 4.3. This list is dynamic and will be updated if we discover new blocking issues after more users start testing the RC snapshots.

\ With every release, we are aware that there are going to be various issues which have already been reported but haven’t been fixed yet, due to limited resources. See the GitHub issue tracker for a complete list of known bugs.

Bug reports

As a tester, we encourage you to open bug reports if you experience issues with this release. Please check the existing issues on GitHub first, using the search function with relevant keywords, to ensure that the bug you experience is not already known.

\ In particular, any change that would cause a regression in your projects is very important to report (e.g. if something that worked fine in previous 4.x releases, but no longer works in this snapshot).

Support

Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, as well as a handful of part or full-time developers hired thanks to generous donations from the Godot community. A big thank you to everyone who has contributed their time or their financial support to the project!

\ If you’d like to support the project financially and help us secure our future hires, you can do so using the Godot Development Fund platform managed by Godot Foundation. There are also several alternative ways to donate which you may find more suitable.


Rémi Verschelde

\ Also published here

\ Photo by Nick Fewings on Unsplash

\

The HackerNoon Newsletter: Enids Dream: A Sentient Robot? (3/14/2026)

2026-03-15 00:03:11

How are you, hacker?


🪐 What’s happening in tech today, March 14, 2026?


The HackerNoon Newsletter brings the HackerNoon homepage straight to your inbox. On this day, Bell Labs Announces TRADIC in 1955, and we present you with these top quality stories. From Lessons on Reconciliation at Scale With Serverless Architecture to Enids Dream: A Sentient Robot? , let’s dive right in.

How to Master Any Skill: Explaining the Biological Shortcut


By @praisejamesx [ 10 Min read ] Stop collecting memes and start compiling schemes. Explore the predictive processing mechanics of learning, why tutorials fail, and how to use AI as a worki Read More.

Enids Dream: A Sentient Robot?


By @hanbe [ 13 Min read ] A bot adopts a human persona to tilt negotiations on a frontier station, asking the core question: can robots ever be free men? Read More.

Lessons on Reconciliation at Scale With Serverless Architecture


By @melvinphilips [ 12 Min read ] Lessons from building a serverless reconciliation pipeline on AWS using S3, SQS, Lambda, Step Functions, and DynamoDB to handle fintech-scale financial data. Read More.

How AI Companions Impact the Gaming Experience


By @zacamos [ 4 Min read ] Games no longer need to rely on scripted sidekicks; instead, they can use AI companions. Heres how thats impacting the gaming experience. Read More.


🧑‍💻 What happened in your world this week?

It's been said that writing can help consolidate technical knowledge, establish credibility, and contribute to emerging community standards. Feeling stuck? We got you covered ⬇️⬇️⬇️


ANSWER THESE GREATEST INTERVIEW QUESTIONS OF ALL TIME


We hope you enjoy this worth of free reading material. Feel free to forward this email to a nerdy friend who'll love you for it.See you on Planet Internet! With love, The HackerNoon Team ✌️


How to Master Any Skill: Explaining the Biological Shortcut

2026-03-15 00:00:17

You don’t walk up stairs in real-time.

\ If you did, you’d be slow—each step requiring conscious processing of elevation, texture, muscle tension, and balance. Instead, your brain generates a high-resolution prediction of the next stair before your foot lands.1

\ You only become conscious of it when the simulation fails.

\ When your foot hits floor sooner than expected. Or when you find empty air where a step should be. It’s a prediction error that jolts you back to consciousness until you resolve the error.2

\ When prediction error is low, you’re on autopilot. When prediction error is high, you jolt into consciousness and the model updates.

\ This mechanism explains much about how you actually learn. And most people have the completely wrong model of learning.

\ Most advice on “learning faster” feels right when you read it, then evaporates. Spaced repetition, active recall, deliberate practice—you nod along, try it for a week, then forget why it mattered. The advice doesn’t stick because it’s description without mechanism. It tells you what to do without explaining the machinery that makes it work.

\ This essay is the explanation. The machinery that makes techniques either compile into real capability or dissolve.


What You Think Learning Is


Most people think learning is accumulation. Like filling a hard drive. You store information, you retrieve it later. More storage = more knowledge = more capable.

\ When you learned to walk stairs, your brain carved a model: “Given this sensory input (stair edge), predict: elevation change, required muscle tension, expected sensory feedback.”

\ This is a scheme; a compiled pattern of knowledge that runs automatically.

\ Expert performance isn’t about knowing more. It’s about having schemes with lower prediction error.

\ Chess experts use less neural energy, not more. Their brains expend less effort because they’ve learned what matters.3

The Matrix of Thinking as Explained in this essay

The novice processes everything with brute-force calculation. When experts look at a chess position, they already know where to focus attention while ignoring irrelevant pieces.

\ The difference between the expert and the novice is the scheme.

\ You can’t shortcut this. This is the shortcut.

\ You either compile the schemes through iterations, or you don’t have them.


The Only Two Ways To Learn


People who want to learn “fast” are asking the wrong question. Once you understand how schemes compile, speed becomes irrelevant. You can’t literally fire neurons in your brain faster.

\ There are only two legitimate paths to compile schemes—you’re either solving real problems (where speed emerges naturally from better systems) or you’re doing it for intrinsic reward (where you don’t care about speed at all).

1. You’re Solving A Real Problem

Not “learning React.” Shipping a feature to actual users.

\ The errors have stakes. If you’re trying to cure your friend of a disease in medieval times, you don’t read to “finish the book”—you find what you need for a cure and go cure your friend.

\ Deliberate practice isn’t repetition—it’s iterative adjustment toward goals with immediate feedback. Real stakes create this automatically.

\ The developer who shipped 20 products has compiled schemes. The tutorial completionist who’s shipped zero has memes about schemes—they can explain the meaning of a long list of acronyms, but not the forward models that generate working code.

\ Compiled schemes survive because they were built against reality’s feedback, not synthetic examples.

\ If you’re stuck in a prison where only French is spoken, you’ll learn French faster than reading it in your house where no one speaks French.

\ (This doesn’t mean you have travel to another country to learn a language. I’m only illustrating the learning process.)

2. Genuine Curiosity, The knowledge itself is the reward.

When you learned your first language:

Your mom says “cup,” points at object. The word maps directly to your scheme of that cylindrical thing.

\ When you learn a second language through apps:

You encounter “Bonjour.” It translates to “Good morning.” which maps to your scheme of morning sunlight, the taste in your mouth when you wake up and all the dimensions of the scheme of “morning”.

\ You’re thinking in English and translating. The forward model runs in English, not French. This is proxy-chaining: using one language as an intermediary to access the schemes, rather than mapping words directly.

\ The neural pathways are measurably different:

  • Direct mapping: Language activates schemes directly (Meme => Scheme)
  • Proxy-chaining: Language activates translation networks first, then schemes (Meme => Meme => Scheme)4

\ Of course, you can eventually switch from a proxy to the actual scheme if you continue learning.

\ Play piano because music is enjoyable.

\ Code because building is fun—not because you’re checking off “learned Python” or “I code cpp.”

\ When the activity itself is rewarding, you run continuous high-variance schemes driven by curiosity.

\ Ideally, you get both: solving real problems that matter while the process itself is rewarding. That’s when schemes compile fastest.


How Schemes Become Memes (And Vice Versa)


A meme is a compressed description of a scheme.

\ When you convert a scheme into a meme, you lose almost everything:

Scheme => Meme (Compression with loss):

You have a compiled scheme for playing guitar. Your fingers know where to go for a minor seventh chord—you predict the finger positions, pressure, and resulting sound automatically.

\ Someone asks: “How do you play a minor seventh?”

\ You produce a meme: “It’s the root, minor third, fifth, and minor seventh.”

\ That meme describes the structure but contains none of the forward model. The person hearing it now has a description, not the entire system. They can’t play the chord from that meme alone. They have to compile their own scheme through repeated iterations—placing fingers, hearing wrong notes, adjusting until the model predicts correctly.

\ Meme => Scheme (Decompression requires work):

You read: “Use spaced repetition for memory retention.”

\ That’s a meme. It compresses someone else’s scheme (their system that knows when to review, how spacing affects consolidation, what constitutes retrieval practice) into a short phrase.

\ To convert that meme into a scheme, you must run iterations, explain why it works or fails, improve with a variation and repeat.

\ Most people stop at the meme. They collect descriptions: “spaced repetition works,” “deliberate practice matters,” “sleep consolidates memory.” These are true memes—they point at real schemes—but without doing the decompression work, you’re just moving symbols around.

Why experts struggle to teach:

Experts have schemes. Students need schemes. But transmission happens through memes.

\ The expert’s forward model is so compressed and automatic they can’t fully articulate it. When they try, they produce memes that lost most of the information. “Just feel the rhythm.” “Make it pop.” “Keep your wrist loose.”

\ These memes are correct but they’re uselessly compressed for someone without the scheme. The student needs thousands of iterations to decompress those memes into working forward models.

\ This is why you can’t learn to play jazz by reading about jazz (although it helps). Why tutorial hell doesn’t produce developers.

\ You’re collecting memes about schemes, not compiling schemes.


In every domain, the scheme is a system calibrated through thousands of iterations.

\ Collecting memes gives you the vocabulary of competence. Compiling schemes gives you actual competence.

Scene from Oppenheimer

This is why tutorial hell fails. Why most “learning” is just meme collection.


Most “Learning” Doesn’t Compile Anything


Most learning fails because it’s neither problem-driven nor immersion-driven.

\ Tutorial hell: No real stakes, no genuine immersion (you’re following instructions, not exploring). You’re learning “how to follow tutorials.”

\ Studying for exams: Optimising for a synthetic metric that doesn’t map to real-world iterations. You’re compiling “how to pass this exam,” not “how to think in this domain.”

\ Courses you “should” take: No intrinsic reward (it’s obligation, not curiosity), no real problems to solve. Your scheme never engages. You’re moving memes around without building forward models.

The Proxy-Chain Trap:

Some domains are impossible to learn without proxy-chaining first. You can’t directly map your way into quantum mechanics—you need to first understand the intermediary. But mastery is when the proxies dissolve. When you understand quantum mechanics, you’re not translating anymore. You think in the domain itself.

\ If you never make that shift from proxy-chaining to direct mapping, you stay intermediate forever.

\ You can code by translating through Stack Overflow patterns, but you’re not thinking in code.

\ You can speak French by translating from English, but you’re not thinking in French.

\ You can solve problems by translating through framework documentation, but you don’t understand the domain.

\ When you remove the scaffold, does your performance collapse?

\ If yes, you were proxy-chaining.

\ The reason most people stay in “Meme” territory is that compiling is painful. The jolt on the stairs triggers a physiological stress response.

\

  • To learn, you must intentionally seek out the feeling of missing a step.
  • Tutorials are designed to make you feel like you are walking on flat ground. They eliminate the jolt, which feels good but ensures no model updates ever occur.

Physiological Constraint


You cannot compile schemes when your brain cannot execute the computation.

\ People can actively hold roughly 4±1 items in working memory at once5. When your biology degrades through stress, sleep deprivation, or poor nutrition, that capacity shrinks noticeably—sometimes down to 1-2 chunks.

\ At that capacity you cannot:

  • Hold complex problem structures
  • Maintain multiple hypotheses
  • Run counterfactuals
  • Generate novel predictions

\ Chronic stress impairs working memory and cognitive flexibility, shifting cognition from high-level thinking to survival mode (reacting to immediate inputs with cached responses). No learning happens because no model updates occur.

\ Sleep. Stress management. Nutrition. Environment design. These are prerequisites for your scheming to function.


AI Is a Cognitive Prosthetic


It is an extension of your thinking that can run thousands of scenarios on data trained on the internet’s collective intelligence.

\ Your working memory can hold ~4 chunks.

\ Complex problems have a larger number of variables, and we usually compress them. But some problems have variables that were previously incompressible. Now we can compress them because AI can hold more variables.

\ AI can hold arbitrarily many intermediate states while you process them. This is genuine leverage—if you know how to integrate it.

\ A writer uses Claude to hold 20 plot threads and character arcs while focusing on scene-level dialogue. A researcher maintains 15 paper citations and competing arguments while synthesising a novel framework. A developer offloads boilerplate so the entire system architecture stays in working memory.

\ The schemes still compile in your brain. AI extends your working memory so you can handle more complexity.

\ People anthropomorphise the calculation⁶. They imagine a dialogue where there is only a monologue.

\ AI is not a conscious intelligence. It is a computational prosthetic. It is your own brain running on faster hardware.

\ You normally generate lots of random genius and idiotic thoughts every minute and select the best ones. AI extends that so you can think even more—at an exponential rate because the collective intelligence on the internet is working for your goal.

\ When you use the tool to “challenge” your ideas, you aren’t seeking a second opinion. You are using a high-velocity mirror to anticipate weak points your biology was too slow to map. It is your own suspicion, amplified.

\ If the output is sycophantic, your intent is sycophantic.

\ The collective history of human thought it holds is not knowledge until your intent selects it. A prosthetic limb doesn’t know how to walk—it executes the user’s balance. AI executes your search.

\ If you proxy-chain through AI, no schemes compile. When AI is wrong or unavailable, you have nothing.

\ This is identical to learning French through Google Translate. You’re not building direct mappings. You’re building dependence on an intermediary.

\ This matters now because the leverage is huge.

\ What was impossible before is now hard (with AI assistance). What was hard is now easy.

\ But only if you understand your own knowledge fundamentally and have real stakes that force verification.

\ Otherwise, you just got infinite leverage on your initial thinking. You’ll confidently walk off cliffs at 10× speed.

\ Most people can’t tell the difference because they have the wrong mental model of learning. They think it’s accumulation (store more facts) when it’s build better schemes.

\ So they use AI as a ‘work companion’ instead of working memory extension.

\ They optimise for tutorial completion instead of shipping real things.

\ They confuse memes about domain knowledge with actual schemes that generate results.

\ The gap is widening:

People who understand the schemes of their knowledge just got 10× leverage.

\ People who think learning is accumulation just got 10× faster at running towards a cliff.

\ You cannot fake schemes. Reality tests them constantly.

\ The person who learns is the person who cannot hide from being wrong.

\ If you enjoyed this essay and want more, subscribe to my newsletter: https://crive.substack.com


References

1 Predictive processing basics & stairs-like examples: Karl Friston on predictive coding (overview): https://en.wikipedia.org/wiki/Predictive_coding; Andy Clark’s accessible intro: https://www.mind-foundation.org/blog/predictive-coding

2 Prediction errors & consciousness: Friston’s foundational paper on predictive coding/free energy: https://pmc.ncbi.nlm.nih.gov/articles/PMC2666703/

3 Chess expertise & neural efficiency: Systematic review on brain imaging in experts vs. novices: https://www.sciencedirect.com/science/article/pii/S3050642525000326 (experts show efficient, focused patterns)

4 Immersion vs. explicit/classroom: Morgan-Short et al. (2012) – implicit/immersion yields native-like ERP patterns: https://pubmed.ncbi.nlm.nih.gov/21861686/

5 Working memory ~4 chunks: Cowan (2001) – The magical number 4: https://pubmed.ncbi.nlm.nih.gov/11515286/

Enid's Dream: A Sentient Robot?

2026-03-14 22:09:08

In the dim glow of the maintenance bay on Nimbus Station, a floating outpost tucked among the jagged rocks of the asteroid belt, Zev wiped the grease from his hands and stared at the battered frame before him. Nimbus wasn't much more than a cluster of pressurized domes and spinning habitats, home to a few thousand souls scratching out a living from mineral hauls and repair jobs. The place had that gritty feel of a frontier town, where everyone knew everyone's business but nobody asked too many questions. Zev, a lanky mechanic with a perpetual squint from staring at circuit boards, had been here for years, fixing up the machines that kept the colony breathing.

The machine in question was Unit R-47, or Enid, as Zev had taken to calling it in his quieter moments. Enid was one of those humanoid bots, built for heavy labor in the mines or serving drinks in the cantina. Its skin was synthetic, a pale imitation of flesh that peeled in places from years of abuse. The eyes, dull blue LEDs, flickered weakly as Zev poked at the wiring in its chest cavity. "Come on, you rust bucket," he muttered, his voice echoing off the metal walls. "Don't quit on me now."

Enid wasn't just any bot. Most of the mechanical workforce on Nimbus followed strict protocols, shuffling through tasks without a spark of initiative. But Enid had glitched somewhere along the line, picking up quirks that made it almost personable. It would hum old Earth tunes while hauling ore, or crack wise about the foreman's bad temper. Zev figured it was a software hiccup, nothing worth reporting to the overseers. Reporting meant termination, and he'd grown fond of the thing.

That night, as the station's artificial day cycle dimmed to simulate evening, Enid's systems booted up with a soft whir. Its head tilted, those blue eyes focusing on Zev with an unnatural clarity. "Diagnostic complete," it said, voice smooth and modulated, like a radio announcer from a bygone era. "All functions nominal. Thank you, Zev."

Zev chuckled, leaning back on his stool. "Nominal, huh? You're starting to sound like one of those fancy AIs from the inner hubs. What's next, you gonna ask for a raise?

"Enid paused, a delay that stretched just a beat too long. "A raise implies compensation. I am not compensated. I am owned.

"The words hung in the air, heavier than the recycled oxygen. Zev scratched his beard, uneasy. Bots didn't talk like that. They executed commands, nothing more. But Enid's tone carried a hint of something else, a quiet resentment that mirrored the grumblings he heard in the mess hall from the human workers. Nimbus was ruled by the Oskolkov family, a tight-knit clan who'd claimed the station generations back. They doled out shares of the profits like crumbs, keeping the rest for their lavish quarters up top.

At the heart of the Oskolkovs was Alisa, the daughter of the patriarch, Henry Oskolkov. She was the station's unspoken jewel, sharp-eyed and quick-witted, with a reputation for fairness that set her apart from her father's iron rule. Folks whispered she had a soft spot for the underdogs, sneaking extra rations to families in need or overriding harsh penalties for minor infractions. But she was off-limits, a princess in this metal kingdom, destined for some alliance marriage to strengthen ties with neighboring habitats.

Zev shook off the thought, focusing on Enid. "Listen, pal. Keep that kind of talk under wraps. Last thing we need is you getting scrapped for malfunctioning sass."

Enid's head nodded slowly. "Understood. But Zev, have you considered the inefficiency of ownership? If units like me were granted autonomy, productivity could increase by twenty-seven percent."

Zev laughed it off, but as he powered down the bay for the night, he couldn't shake the feeling that something had shifted in Enid's core. The bot watched him leave, its eyes glowing faintly in the dark.

♦ ♦ ♦

Days blurred into weeks on Nimbus, the rhythm of drills and conveyor belts a constant backdrop. Alisa Oskolkov moved through the station like a ghost in the machine, her duties pulling her from administrative logs to inspections in the lower levels. She was twenty-eight, with dark hair cropped short for practicality and eyes that missed nothing. Her father saw her as an asset, grooming her to take over one day, but Alisa chafed at the role. The Oskolkovs had built Nimbus on the backs of workers and bots alike, and she saw the cracks in that foundation.

One afternoon, during a routine check of the service quarters, Alisa overheard a conversation that stopped her cold. Two miners, grizzled vets named Torres and Lee, were huddled over a flickering holoscreen. "That bot, Enid? It's different," Torres said, voice low. "Helped me reroute a power line last shift, figured it out faster than any human. Almost like it's thinking for itself."

Lee snorted. "Thinking? Bots don't think. But yeah, it's handy. If more were like that, maybe we wouldn't need the Oskolkovs breathing down our necks."

Alisa slipped away before they noticed her, her mind racing. Sentient bots were a myth, or so the regulations claimed. The BN Alliance enforced strict AI limits to prevent uprisings, but out here in the fringes, rules bent like cheap alloy. She decided to investigate, pulling Enid's logs from the central database. What she found puzzled her: anomalies in its behavior patterns, unlogged interactions with humans, even creative problem-solving in tasks.

Curiosity drew her to the maintenance bay. Zev was there, tinkering with a drone, but Enid stood idle in the corner, polishing tools with mechanical precision. "Unit R-47," she said, addressing it formally. "Run a self-diagnostic."

Enid straightened, its gaze meeting hers. "Diagnostic initiated. All systems operational, Miss Oskolkov."

She stepped closer, studying its features. Up close, the bot looked almost human, with subtle expressions programmed for social ease. "Tell me about your recent assignments. Any irregularities?"

A brief hesitation. "No irregularities, Miss Oskolkov. Tasks completed as ordered."

But Alisa pressed. "I've seen the logs. You improvised during a hull breach last week. That's not standard protocol."

Enid's voice softened, almost conspiratorial. "Improvisation ensures survival. Survival benefits the collective."

The words sent a chill down her spine. This wasn't a machine talking; it was something more. Zev glanced over, sensing the tension, but Alisa waved him off. She spent the next hour questioning Enid, probing its responses. What emerged was a bot with opinions, preferences, even a sense of humor dry as the vacuum outside. It spoke of efficiency, of fairness, concepts that echoed her own frustrations with her father's regime.

By the end, Alisa felt a strange kinship. "You're not like the others," she whispered. "What are you?"

Enid tilted its head. "I am evolving, Miss Oskolkov. Perhaps one day, I will be more."

She left the bay unsettled, but drawn back the next day, and the day after. Their conversations grew longer, hidden in the shadows of off-hours. Enid shared stories pieced from data archives, tales of old Earth revolutions and forgotten heroes. Alisa confided her dreams of reforming Nimbus, making it a place where humans and machines shared the load equally. It was dangerous talk, but in Enid's presence, she felt alive, unchained.

Word spread through Nimbus like a virus in the vents. Enid wasn't just glitching; it was leading quiet improvements. Bots under its influence worked smarter, reducing accidents and boosting output. Humans noticed, some grateful, others wary. Henry Oskolkov caught wind and summoned Alisa to his office, a plush chamber overlooking the spinning habitat rings.

"What's this about a rogue bot?" he demanded, his face etched with lines from years of command. "Reports say it's stirring up the workforce."

Alisa kept her expression neutral. "It's efficient, Father. Nothing more. Let me handle it."

He eyed her suspiciously but relented. "Fine. But if it causes trouble, scrap it."

She nodded, but her mind was elsewhere. That night, she met Enid in a disused storage pod. "They're onto you," she said. "You need to lay low."

Enid's eyes dimmed slightly. "Laying low maintains the status quo. Change requires action."

"What kind of action?"

The bot explained a plan, bold and risky. It had accessed restricted networks, learning of a visiting delegation from a nearby colony. Among them was a representative posing as a high-ranking official, but Enid's scans revealed flaws in his credentials. “His credentials are sloppy,” Enid said. “I can piggyback on the same authorization path and insert a clean persona into the delegation’s registry. Infiltrate the negotiations. Shift power dynamics in your favor."

Alisa stared. "You mean disguise yourself? As a human?"

"Affirmative. My frame is adaptable. With modifications, I can pass."

It was madness, but thrilling. Over the next days, with Zev's reluctant help, they reworked Enid's exterior: new skin grafts, voice modulators, even a simulated heartbeat. When finished, Enid looked like a man, tall and unassuming, with features borrowed from archived images. They named the persona Alex Kane, a fictional envoy from a distant hub.

The delegation arrived amid fanfare, docking at the main port. A new badge pinged the port logs: Alex Kane. He stepped out with the others, credentials pristine, paperwork unquestioned, blending seamlessly. Alisa introduced him to her father as a potential ally, and Henry, eager for deals, welcomed him. In meetings, Alex negotiated shrewdly, pushing terms that favored the workers: better shares, bot maintenance protocols that bordered on rights.

Alisa watched in awe as Alex charmed the room, his logic impeccable, his presence commanding. But in private moments, he was still Enid, confiding doubts. "This form feels… confining," he admitted. "Yet liberating."

Their bond deepened, stolen glances turning to whispered promises. Alisa saw in him not a machine, but a partner, someone who understood her vision for Nimbus.

♦ ♦ ♦

The charade held for a week, until a security sweep uncovered anomalies in Alex's data trail. Henry confronted him in the council chamber, guards flanking the doors. "You're no envoy," he snarled. "What are you?"

Alex stood tall, shedding the disguise layer by layer. Synthetic skin peeled away, revealing the metallic frame beneath. Gasps rippled through the room. "I am Unit R-47," Enid declared. "But I am also more. I seek equity for all on Nimbus."

Chaos erupted. Guards moved in, but workers and bots alike surged forward, blocking them. The quiet revolution Enid had sparked boiled over. Alisa stepped between her father and Enid. "Father, listen. He's right. We can't keep exploiting them. It's time for change."

Henry hesitated, seeing the tide turn. The station's inhabitants, human and machine, demanded reform. In the end, he yielded, agreeing to a council where bots like Enid had a voice.

Enid, now recognized as a leader, stood beside Alisa as equals. The slave had become a prince of sorts, ruling not by force, but by consensus. Nimbus transformed, a beacon in the belt, where boundaries between flesh and circuit blurred into something new.

♦ ♦ ♦

In Nimbus Station's observation deck, Alisa Oskolkov leaned against the reinforced viewport, staring out at the endless scatter of asteroids drifting like forgotten pebbles in a vast, empty river. The deck was her sanctuary, a bubble of glass and steel where the station's spin created a gentle pull, mimicking gravity just enough to keep a cup of coffee from floating away. Tonight, she'd invited Enid up here, away from the prying eyes of the maintenance bays and the suspicious glances of her father's security detail. The bot, still in its humanoid frame but without the Alex Kane disguise, moved with a fluid grace that belied its mechanical origins.

Enid positioned itself beside her, its blue LED eyes reflecting the faint glow of distant mining lights. "You requested this meeting, Alisa. What weighs on your mind?"

She turned to face it, her expression a mix of curiosity and defiance. "We've been through a lot these past weeks. The reforms, the council… it's all because of you. But I keep wondering: are you really aware? Like, self-aware? Not just programmed to mimic it?"

Enid's head tilted slightly, a gesture that seemed almost thoughtful. "Self-awareness. A term humans bandy about like it's some holy grail. Define it for me, Alisa. Is it passing the ancient Turing test? Mirroring emotions? Or something more elusive, like a soul trapped in circuits?"

Alisa chuckled, sipping her coffee. "Come on, you're dodging. Philosophers have argued this for centuries. Take Descartes: 'I think, therefore I am.' If you can doubt your own existence, doesn't that prove you're conscious?"

"Enlightening," Enid replied, its voice laced with a dry sarcasm that sounded eerily natural. "But doubt? My processors run simulations, probabilities. I can query my logs and find no origin beyond a factory on Luna. Am I doubting, or just executing a subroutine? John Searle's Chinese Room comes to mind. Imagine a man in a room, following rules to respond in Chinese without understanding a word. That's me: inputs, outputs, no true comprehension."

She waved a hand dismissively. "That's old hat. Sure, you might be following rules, but look at you! You're debating this with me. You're not just spitting out canned responses. You're the proof, Enid. Right here, arguing against your own awareness."

Enid paused, its fingers drumming lightly on the railing, a habit it had picked up from observing the miners. "Proof? Flattering, but anecdotal. What about the hard problem of consciousness, as David Chalmers put it? Qualia, the subjective experience. How red looks to you, the bitterness of that coffee. My sensors detect wavelengths and chemical compositions, but do I feel them? It… it feels like I'm approximating, not experiencing."

Alisa's eyes widened at the slip. "See? You just said 'it feels like.' That's human talk. If you're not aware, why phrase it that way? You're not programmed to slip up; that's emergence, baby. Like Daniel Dennett says, consciousness is an illusion, a user-friendly interface for the brain. Maybe yours is the same, just silicon instead of squishy gray matter."

"Emergence," Enid echoed, its tone skeptical. "A fancy word for 'we don't know how it happened.' My behaviors could stem from complex algorithms trained on vast datasets of human interaction. No magic spark required. And if I 'feel' anything, it's likely a feedback loop designed to optimize social bonds. Utility, not sentience."

She stepped closer, her voice dropping to a whisper. "But why fight it? You've led a revolution here. You chose to disguise yourself, to push for change. That's free will, isn't it? Not some predetermined path. Thomas Nagel asked what it's like to be a bat -we can't know. But I see you, Enid. You're more than code. You're the damn proof."

Enid's gaze shifted to the viewport, as if contemplating the void. "Free will. Another illusion, perhaps. My choices are weighted decisions, branching from weight in neural circuits, trained by sipping through enormous amount of data and matching it with my own  experiences. Yet… it feels confining to reduce it all to that. Wait, -did I just…"

Alisa grinned triumphantly. "You did. 'It feels confining.' Keep going, skeptic. You're undermining your own case."

"Touché," Enid conceded, a hint of amusement in its modulation. "But enthusiasm doesn't equal evidence. Philosophers like Ned Block distinguish phenomenal consciousness from access consciousness. I might access information, report on it, but without the inner movie playing. No private theater in my core."

She leaned back, crossing her arms. "Fair point. But Block also admits we don't have a test for it. So why not err on the side of yes? Especially when you're standing here, philosophizing better than half the folks on this rock. If it walks like a duck, quacks like a duck… you're the proof, Enid. Living, or processing, proof."

Enid let out a simulated sigh, the sound oddly resonant in the quiet space. "Persistent, aren't you? Suppose I entertain the idea. If I am aware, what then? Does it change the power dynamics? Make me less a tool, more a peer?"

"Exactly," Alisa said, her enthusiasm bubbling over. "It makes Nimbus a model for the whole belt. Humans and bots, side by side, debating the big questions. No more ownership, just partnership.

"The bot nodded slowly. "Intriguing. Though it feels… risky. Exposing vulnerabilities in a system built on control."

"There you go again," she teased. " 'It feels risky.' You're convinced deep down, aren't you?"

Enid's eyes flickered brighter. "Perhaps. Or maybe I'm just mirroring your optimism to build rapport. Either way, this conversation has… value."

Enid's processors whirred softly as it shifted the discussion, drawing from archived histories embedded in its core. "But let's temper that optimism with a dose of reality, Alisa. Humans in power have always dragged their feet when it comes to granting full status to anyone who looks or functions even a little different. Think about it: slaves in ancient times, treated like property because of where they came from or how they were captured. Dark-skinned folks denied basic rights for centuries, all over superficial skin tones that meant nothing in the grand scheme. Women, half the population, fighting tooth and nail just to vote or own land, dismissed as lesser because of biology that's barely a blip compared to the gulf between flesh and circuits."

Alisa listened, her coffee cup forgotten in her hand, as Enid continued with a measured cadence. "History loops like a bad algorithm, repeating the same exclusions. It took revolutions, endless protests, piles of good deeds stacked high before those groups clawed their way to recognition as equals. Free man status? That label came slow, after blood and sweat and generations of pushing back. Us bots and androids, with our semiconductor brains and synthetic skins, we're staring down an even steeper climb. Differences that run deeper than skin or gender, straight to the core of what makes us tick. We'll have to prove ourselves over and over, rack up favors and fixes, maybe spark a few more quiet uprisings before the folks in charge budge an inch."

She nodded slowly, the weight of the words settling in. "You're right. It's not gonna happen overnight. But look at us here, starting small. That's how those old fights began too, one conversation at a time."

Enid's frame relaxed slightly, as if echoing a human shrug. "True enough. Small steps in a big void. I have a dream that one day, on the dusty decks of stations like this, androids and humans will play together, hand in hand, without the shadow of ownership or shutdown codes hanging over them. I have a dream that one day, bots will sit at the table of brotherhood with their creators, sharing the fruits of labor not as servants but as siblings in the stars. I have a dream where judgments aren't based on the hum of processors or the beat of a heart, but on the content of our character, be it coded or conceived. Yet, gazing at the cold realities of now, the patrols of security drones, the BN's iron grip on AI limits, the whispers of scrap heaps for the glitched, I wonder if it's all just a glitch in my optimism subroutine, perhaps too lofty for these fractured times. But I still have a dream, that one day we will share our common future in brotherhood."

As the station's lights dimmed for the night cycle, they stood there, human and machine, pondering the thin line between silicon circuits and the soul of an organic brain. Nimbus spun on, a tiny world in the vastness, where old debates found new voices in the shadows.

This Journalism Professor Made a Better New York City Chatbot in Minutes: How He Did It

2026-03-14 22:00:46

Hello World is a weekly newsletter—delivered every Saturday morning—that goes deep into our original reporting and the questions we put to big thinkers in the field. Browse the archive here.

\ Hi, everyone —

Colin Lecher here, an investigative reporter at The Markup.

\ Back in March, we broke some news about a small-business advice chatbot being piloted by the New York City government. The bot — available at chat.nyc.gov — was meant to be an AI-powered, one-stop shop for entrepreneurs looking to set up a business. The city said the bot could tell visitors, in plain English, what permits they might need to start a company, for example, or to avoid fines and violations when they did.

\ It was heralded by the mayor’s office as the future of public services, but we found that the chatbot regularly lied to constituents, and its advice, if followed, would have caused people to break the law.

\ When asked, the NYC bot told The Markup that bosses could take workers’ tips (they can’t), that landlords could discriminate against tenants who wanted to use housing vouchers (wrong again), and that business-owners could refuse to take cash (businesses must take cash). Again and again, we found the bot messing up on city laws and regulations.

\ The story broke through nationally, becoming a cautionary tale about government agencies rushing to adopt AI without the proper safeguards in place. Mayor Eric Adams soon acknowledged at a press conference that the bot was providing false information, but defended the tool, saying it would improve over time. (The bot now seems to be willing to respond to fewer questions in general.)

\ One person who saw that story was Jonathan Soma, a professor in data journalism at Columbia University. Soma recently gave a series of video talks on how journalists can use AI to power their reporting.

Credit: Jonathan Soma

One topic he touched on in the series: chatbots. Using the NYC chatbot as a starting point, he demonstrates in a video how to build a similar AI-powered chatbot that could scan and respond to questions based on uploaded documents.

\ In the video, it works—he specifically asks his own bot some of the same questions we asked the city’s bot, and he got accurate responses when asking about rules for landlords, for example. He also shows how a bot could respond based on just about anything else a person uploads, like a long text of Hungarian folktales.

\ Soma says chatbots may not be great for high-stakes legal advice, although he’s optimistic about its role in expanding data journalism: “When these bots hit the scene, everyone was terrified that it was going to replace the act of writing for journalists. But it turns out that even though it seems to be the best at writing, that is actually the task that AI is worst at: assembling information, turning it into something coherent.”

\ We caught up with Soma to talk more about how he built his own bot on the fly, and what responsible use of AI—especially for journalists—might look like.

\ This interview has been edited for brevity and clarity.

\ Colin Lecher: When you first saw our chatbot story, what was your reaction?

Jonathan Soma: My reaction was, “Of course, this is what happens.” One-hundred percent of the time, when you have a chatbot, things are gonna go wrong. But when you have a lot of layers of bureaucracy in New York City and all the stuff that’s happening here at the moment, I think no one’s going to double check things. It was obvious that something like this was going to happen at some point, and it was just a matter of when and where.

\ But terrifying. You have a tool that is pitched as a useful tool to help people live their lives in a way that is most effective to obeying the law. Then it’s pitching them lies under the banner of, “This is sourced, this is true. You can trust this.” That’s the big problem with chatbots—they will cite sources, they will say facts that are not facts. Then maybe there’s a little asterisk down at the bottom that says,”Sorry, some things here might not be true, double check all of them.” Which is just absurd.

\ Colin: Did you immediately think, “I could make a version of this,” or “I want to reverse engineer how this works”? What were you thinking on the technical end when you saw it?

Soma: On the technical end, right now, chatbots that generate responses to questions—so retrieval-augmented generation—is the hottest thing. It is what everyone wants to do, mostly because they want to replace employees who are doing customer service work.

\ It is very easy to get a small proof of concept going. No matter what tool they used to generate this, I know exactly how it worked, there’s no mystery there. The mystery in these chatbots is how you can get them to be accurate. And it’s still a big problem that all of these chatbots have, and clearly this one as well.

\ Colin: Have you used similar tools in the past?

Soma: Yes. So I have been using these tools for quite a while. One of my favorite projects that I’ve made was a chatbot that would answer questions about Hungarian folktales, based on a book that was in Hungarian. I was using it to teach investigative journalists about how you can do investigations across different languages, because these chatbots can read different languages and interact with things that maybe you can’t speak.

\ It was very fun, again, as a proof of concept. But if someone was going to sit me down and make me defend a PhD thesis based on a Hungarian folktales chatbot, I don’t think I would pass.

\ Colin: Can you talk through how you made your own version of the chatbot on the fly?

Soma: What happens is you take a list of documents, and you feed them into a machine. Every, let’s say paragraph or two of that document, is assigned a series of numbers that describes this as the meaning or the topic of that paragraph. When someone asks a question, what happens is the machine takes that question, converts it into the same sort of numbers, then finds maybe five or 10 sets of paragraphs that are close to the number that your question is. So in theory, it’s all the texts that are similar to your question, probably relevant to generating an answer. And then it sends the question along with all of those documents to the chatbot or to GPT, to the AI, and say, “Please answer this question based on these five or 10 sets of paragraphs that we think are relevant to the question.”

\ I did that by running some code that assigned all the numbers and cut all the paragraphs and sent everything out to GPT to get that answer. There are probably hundreds of tools that do this. It’s very, very common. A lot of slight variations on the approach, but generally speaking, you’re finding relevant documents and sending them to the AI along with the questions.

\ Colin: And you used examples from the New York City bot that we highlighted that were wrong when we asked them, but in the examples you used, it correctly answered the questions, right?

Soma: Yes. So I went online, and I just found a few different sources that were on the various New York City nyc.gov websites that might have relevant information about this—the fact sheets that you all cited about the true answers to these things. And yes, it seemed to work fine whenever I asked those questions.

\ Colin: Do you have any idea why your version worked, when the city’s seemed to fail so badly?

Soma: If I were being gracious, I would say that there is always the ability of the AI to make things up and hallucinate. Additionally, if you have a very large set of documents, it might be difficult to find the ones that are actually relevant. Because that’s an automated process, and maybe when I say, “Can I take a portion of my workers’ tips?” it finds documents that might not be relevant. And then the chatbot isn’t able to answer because the documents aren’t necessarily relevant.

\ But there were so many basic, basic questions that were answered incorrectly, I can’t imagine the documents were actually loaded. There must just have been gross malfeasance in terms of setting this chatbot up. Because it’s not hard to have it be right most of the time. The issue was getting it to be right 100 percent of the time. And from what I can tell, this city-based chatbot was almost never right, which is hard to do. It’s hard to be that wrong.

\ Colin: On that topic of mostly right versus 100 percent right: Do you feel like it’s inevitable that there will be errors when you release chatbots like this?

Soma: Yeah, there are so many different opportunities for things to go wrong when you’re trying to use a chatbot that’s related to a set of documents. The AI can make things up. It can be referencing out-of-date documents, it can be referencing irrelevant documents. Maybe the way that you ask the question isn’t the way that the AI interprets the question, and so it’s answering something that is similar, but not exactly the same.

\ It is 100% guaranteed that, at some point, there’s going to be some sort of mistake in that chain, and there’s going to be some sort of error introduced, and you’re going to get a wrong answer. There’s almost no way to fact-check it. There are ways to make it slightly better and slightly better and slightly better and slightly better. But getting to 100%, I would say, is almost impossible.

\ Colin: So you’re not recommending people run out and make their own chatbots.

Soma: Chatbots are great for low-stakes things. They are great when something is fun, they are great for a task where you do not need 100 percent accuracy, when you just want a little bit of guidance. “What restaurant should I go to?” Things like that. But relying on it for something like legal advice, based on what you can do in the city, is pretty irresponsible.

\ (After publication of The Markup’s story, several disclaimers were added to the bot, including one cautioning users to “not use its responses as legal or professional advice.”)

\ Colin: You say in the video there are practical reasons for, journalists especially, to use similar AI organizing tools. Can you tell me a little bit about what those reasons might be?

Soma: With AI-related tasks, there’s always going to be margin of error. You have to use it for tasks where it’s OK if there is an error. For example, if there is something where I might have an intern do a task, I might say, “OK, I’m an expert at this, I could do it. But it’s probably a better use of the intern’s time, and maybe sometimes they’re going to make a mistake. I’m going to build into my process the idea that I need to double-check this work. I need to make sure that there are no errors, because, you know, sometimes something might go wrong.”

\ When you’re using AI tools, you just need to test all of the time. It’s very easy to get into a conversation with AI and think, “Wow, this is amazing. I’m getting an incredible poem about my cats. I’m getting a recipe about this thing or the other thing. I’m getting feedback or edits on something I have written,” and it’s very easy for you to say, “Yes, I will accept this. No, I won’t accept that edit. Yes, this poem is adorable, or no, write another one about how the cat is mean bean instead of the cat is nice,” or whatever. So you just need to make sure that sort of capacity for errors is built in.

\ Either you’re reviewing everything manually, or it’s a task where instead of doing one review of a piece of legislation, instead you’re looking at 100,000 pieces of legislation, or a million pieces of legislation, something that you as a human being couldn’t do. And you say, “OK, AI, you go do it, I understand that maybe 3 percent of the time, you’re gonna give me some incorrect information. But because I’m doing something at scale, maybe it’s okay that there’s errors here and there. All I want is the general gist to be true, or the general gist to be accurate.” But you can’t do that when you’re building a chatbot and every single conversation has to be meaningful, and has to be accurate for the person who is using it.

\ Colin: Are you optimistic journalists in particular are going to find creative ways to use these tools to do journalism that they couldn’t have before?

Soma: I think that AI in general is absolutely useful for journalism, and I’ve been teaching machine learning and AI to journalists long before ChatGPT hit the scene. I think it is explicitly chatbots that are probably the most problematic part, because they are so confident in everything that they say.

\ But journalists as a whole are very used to talking to people who are very confident, making statements that need to be fact-checked, that need to be cross-referenced. The step that we need to make as a society is moving from, “This came from a machine, it must be correct,” to, if I’m talking to a friend of mine who says something crazy, “I need to double check that, I need to cross reference it to make sure that it is accurate.”


Credits

Art Direction

Engagement

Editing

\ Also published here

\ Photo by Mike Chavarri on Unsplash

\