Longterm Wiki
Updated 2026-01-29HistoryData
Page StatusResponse
Edited 2 weeks ago1.6k words
37
QualityDraft
22
ImportancePeripheral
13
Structure13/15
120607%17%
Updated every 6 weeksDue in 4 weeks
Summary

SquiggleAI is an LLM tool (primarily Claude Sonnet 4.5) that generates probabilistic Squiggle models from natural language, using ~20K tokens of cached documentation to produce 100-500 line models in 20 seconds to 3 minutes. While it lowers barriers for domain experts to create uncertainty models, it's a workflow improvement tool rather than a core AI safety intervention.

Issues1
QualityRated 37 but structure suggests 87 (underrated by 50 points)

SquiggleAI

Project

SquiggleAI

SquiggleAI is an LLM tool (primarily Claude Sonnet 4.5) that generates probabilistic Squiggle models from natural language, using ~20K tokens of cached documentation to produce 100-500 line models in 20 seconds to 3 minutes. While it lowers barriers for domain experts to create uncertainty models, it's a workflow improvement tool rather than a core AI safety intervention.

1.6k words

Quick Assessment

DimensionAssessmentEvidence
InnovationHighFirst LLM integration for probabilistic programming language
Practical ImpactGrowingLowers barrier to quantitative reasoning for domain experts
Technical MaturityStableMultiple model options, reliable prompt caching
IntegrationSeamlessBuilt directly into Squiggle Hub platform
AccessibilityHighNatural language interface, no programming required
Output QualityGood100-500 line models with reasonable structure

Project Details

AttributeDetails
NameSquiggleAI
OrganizationQURI (Quantified Uncertainty Research Institute)
LeadOzzie Gooen
Launched2024
Primary ModelClaude Sonnet 4.5
PlatformIntegrated into Squiggle Hub
Websitesquiggle-language.com/docs/Ecosystem/SquiggleAI

Overview

SquiggleAI integrates large language models to assist with probabilistic model creation, addressing a critical barrier QURI identified through years of experience building forecasting tools: even highly skilled domain experts frequently struggle with basic programming requirements for probabilistic modeling.

A subject matter expert might have deep knowledge about AI timelines, pandemic risk, or cost-effectiveness of interventions, but lack the programming fluency to translate their mental model into executable Squiggle code. SquiggleAI bridges this gap by accepting natural language descriptions and generating complete, runnable probabilistic models.

The system uses prompt caching to embed approximately 20,000 tokens of information about the Squiggle language—syntax, distributions, best practices—ensuring the LLM has deep knowledge of the domain-specific language. Most workflows complete within 20 seconds to 3 minutes, producing models typically 100-500 lines long depending on the model used.

Design Philosophy

SquiggleAI is designed around the principle that domain expertise should not be bottlenecked by programming ability. The tool aims to:

  1. Lower the barrier to quantitative reasoning for non-programmers
  2. Accelerate model creation even for experienced Squiggle users
  3. Teach by example through generated code that users can read and modify
  4. Preserve human judgment by making models transparent and editable

This philosophy aligns with QURI's broader mission of making uncertainty quantification accessible to altruistic decision-makers.

Model Support

SquiggleAI supports multiple LLM backends:

ModelStatusOutput SizeSpeedBest ForCost
Claude Sonnet 4.5Primary≈500 linesMediumComplex multi-variable models$$$
Claude Haiku 4.5Available≈150 linesFastQuick prototypes$
Grok Code Fast 1Available≈200 linesFastAlternative provider$$
Claude Sonnet 3.5Legacy≈200 linesMediumStable fallback$$

The default is Claude Sonnet 4.5, which produces the most sophisticated and detailed models but at higher API cost. Users can switch models based on their needs.

Prompt Caching

SquiggleAI uses prompt caching to cache approximately 20,000 tokens of Squiggle documentation with each request. This means:

  • The LLM has consistent, deep knowledge of Squiggle syntax
  • API costs are reduced (cached tokens are cheaper)
  • Response quality is more reliable
  • Context is preserved across conversation turns

Capabilities

Model Generation

Describe a problem in natural language, receive executable Squiggle code:

Example prompt:

"Estimate the cost-effectiveness of hiring an AI safety researcher. Consider their salary, overhead costs, probability they produce useful research, and value of that research if successful."

Output: ~300 line Squiggle model with:

  • Variable definitions for each uncertain input
  • Distribution choices justified by context
  • Sensitivity analysis visualization
  • Clear comments explaining logic

Iterative Refinement

Conversation-based model improvement:

Follow-up prompt:

"Add more uncertainty to the timeline assumptions and break down the research impact by type (interpretability vs alignment)."

Output: Modified model with requested changes, preserving existing structure.

Fermi Estimation

Generate complete uncertainty models from vague questions:

Question TypeExampleOutput
Classic Fermi"How many piano tuners in Chicago?"≈100 line model with breakdown
Technology adoption"When will 50% of US households have solar panels?"≈200 line S-curve model
Market sizing"Total addressable market for AI coding assistants?"≈250 line market model

Code Debugging

Identify and fix syntax and logic errors:

User: "My model gives negative probabilities for the success rate"

SquiggleAI: Identifies issue with distribution domain, suggests truncate(distribution, 0, 1)

Model Explanation

Explain what existing Squiggle code does:

Input: Inherited 300-line model from another researcher

Prompt: "Explain what this model is calculating and what the key assumptions are"

Output: Plain-language summary with identified cruxes

Integration with Squiggle Hub

SquiggleAI is directly accessible from within Squiggle Hub, allowing users to:

  1. Generate models from the "New Model" interface
  2. Refine existing models through chat interface
  3. Immediately save generated models to their Hub account
  4. Version control AI-assisted iterations
  5. Share completed models publicly or keep private

Privacy Defaults

SquiggleAI outputs on Squiggle Hub are private by default. Users who want to share models or make them public can explicitly do so by creating new public models. This privacy-first approach encourages experimentation without concern about incomplete drafts being visible.

Technical Implementation

Architecture

User Prompt
    ↓
Prompt Engineering Layer
(Adds cached Squiggle docs, examples, constraints)
    ↓
LLM API (Claude Sonnet 4.5)
    ↓
Post-Processing
(Syntax validation, auto-fixes)
    ↓
Executable Squiggle Code

Prompt Engineering

The system prepends each user request with:

ComponentTokensPurpose
Squiggle syntax guide≈8,000Core language reference
Distribution creation examples≈3,000Common patterns
Best practices≈2,000Dos and don'ts
Common pitfalls≈1,500Error prevention
Example models≈5,500Full model templates
Total cached context≈20,000Consistent knowledge base

This large cached context ensures the LLM produces idiomatic Squiggle code rather than generic probabilistic programming.

Use Cases

Domain Expert Assistance

Expert TypeWithout SquiggleAIWith SquiggleAI
Biosecurity researcherCannot quantify risk modelDescribes model in English, gets working code
EA charity evaluatorBuilds simple spreadsheetGenerates sophisticated uncertainty model
AI safety researcherRough timeline estimatesDetailed probabilistic timeline model
Policy analystQualitative cost-benefitQuantitative cost-benefit with distributions

Rapid Prototyping

Experienced Squiggle users leverage SquiggleAI for:

  • First draft generation: Get 80% of a model in 2 minutes, refine manually
  • Boilerplate reduction: Generate repetitive parameter definitions
  • Exploration: Try multiple model structures quickly
  • Documentation: Generate comments and explanations for existing code

Teaching and Learning

SquiggleAI serves as a teaching tool:

  • New users learn by seeing working examples
  • Generated code demonstrates Squiggle idioms
  • Explanations help users understand probabilistic reasoning
  • Iteration teaches refinement process

Strengths and Limitations

Strengths

StrengthEvidence
Lowers barrierNon-programmers can create models
Fast iteration20 seconds to 3 minutes per model
Consistent qualityPrompt caching ensures reliable syntax
Transparent outputGenerated code is readable and editable
Integrated workflowSeamless with Squiggle Hub
Multiple model optionsCan choose speed vs sophistication

Limitations

LimitationImpactMitigation
Output length boundedClaude models limit ≈500 linesBreak complex models into modules
Domain knowledge requiredLLM doesn't know your specific problemUser must provide context and check outputs
Hallucination riskMay generate plausible but wrong assumptionsAlways review and validate generated models
API costSonnet 4.5 usage adds upUse Haiku for simpler models
Limited mathematical reasoningStruggles with novel math derivationsUse for structure, validate math manually

Comparison with Other Approaches

ApproachProsCons
SquiggleAIFast, accessible, integratedRequires review, output bounded
Manual Squiggle codingFull control, no AI costSlow, requires programming skill
ChatGPT + copy/pasteGeneral purposeNo Squiggle-specific knowledge, awkward workflow
Excel/GuesstimateFamiliar interfaceLimited expressiveness, no distributions
Python + NumPyFull powerMuch more complex, longer to write

Relationship to QURI Ecosystem

SquiggleAI fits into QURI's tool ecosystem:

ToolPurposeSquiggleAI's Role
SquiggleProbabilistic languageSquiggleAI generates Squiggle code
Squiggle HubModel hosting platformSquiggleAI integrated directly
MetaforecastForecast aggregationSquiggleAI could use Metaforecast data as inputs
RoastMyPostLLM blog evaluationShared LLM integration experience

Funding

As a QURI project, SquiggleAI development is funded through QURI's grants:

SourceAmountPeriod
Survival and Flourishing Fund$150K+ to QURI2019-2022
Future Fund$100K to QURI2022
Long-Term Future FundOngoing to QURI2023-present

SquiggleAI API costs (Claude API usage) are likely covered by QURI's operational budget, though specific allocation is not public.

Future Directions

Potential enhancements based on the current trajectory:

EnhancementBenefitChallenge
Multi-model reasoningGenerate multiple approaches, compareHigher cost, longer runtime
Automatic sensitivity analysisIdentify key cruxes programmaticallyRequires sophisticated meta-analysis
Citation integrationGround generated assumptions in sourcesComplex fact-checking, hallucination risk
Collaborative refinementMultiple users + AI iterating togetherCoordination complexity
Custom expert modesDomain-specific prompt engineeringRequires curated expertise per domain

External Links

Related Pages

Top Related Pages

Organizations

QURI (Quantified Uncertainty Research Institute)

Analysis

SquiggleForecastBenchMetaforecast