Both the Ecuador form-language run and the Harbor House validation run used real web search, per Salingaros - so paper.md's "stricter, source-checked mode... as well as the original's" wording asserted a methodological contrast that didn't exist. Reframe as a shared condition, and add the more defensible caveat that even with search available, current LLM tooling likely synthesized both grammars from textual search results rather than genuine visual analysis of images. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
306 lines
19 KiB
Markdown
306 lines
19 KiB
Markdown
# Form-Language Prompt Template
|
||
|
||
*A reusable prompt for generating a project-specific architectural
|
||
form-language grammar module.*
|
||
|
||
## Provenance
|
||
|
||
This template is self-contained — everything needed to run it is in the
|
||
"Placeholders" and "The prompt" sections below. This section and "Usage
|
||
notes" are background only, safe to skip.
|
||
|
||
The template generalizes a two-step prompting process Nikos Salingaros
|
||
used to produce a form-language grammar for a National Museum of Ecuador
|
||
project (his initial exploratory prompt, then a follow-up narrowing
|
||
scope), collapsed here into a single one-shot prompt with placeholders for
|
||
region, climate, site, and building typology. That original worked
|
||
example and his raw two-step prompts are project-specific files from the
|
||
originating repository and aren't included with this template; §0–§11 +
|
||
appendix below is this template's own self-sufficient output shape, not
|
||
dependent on that example.
|
||
|
||
The theoretical basis is Salingaros' *pattern language + form language =
|
||
adaptive design method*, set out in Chapter 11, "Two Languages for
|
||
Architecture," of his book *A Theory of Architecture* (2006; revised
|
||
2014): a pattern language alone cannot connect to built form without a
|
||
complementary form language of geometric/tectonic rules. This template
|
||
generates that second, complementary document. It is meant to be paired
|
||
with a pattern-language module such as Christopher Alexander, Sara
|
||
Ishikawa, and Murray Silverstein's *A Pattern Language* (1977), from which
|
||
a project-specific subset of patterns is typically curated.
|
||
|
||
## What this produces
|
||
|
||
A structured **grammar document**, not images and not a narrative — a
|
||
module meant to be handed, alongside a pattern-language module, a project
|
||
brief, and a spatial-chassis module, into a *later* prompt that asks an
|
||
LLM to write the experiential design narrative (see Section 4.2 of Postle,
|
||
B.; Salingaros, N.A. "LLM and Pattern Language Synthesis: A Hybrid Tool
|
||
for Human-Centered Architectural Design." *Buildings* 2025, 15, 2400).
|
||
Color and ornament are left as a menu of selectable registers/packages
|
||
rather than a single fixed choice, so that later narrative/image
|
||
generation can sample distinct combinations and a human can select among
|
||
them.
|
||
|
||
## Placeholders
|
||
|
||
Fill these in before sending the prompt. If a field is left as `(let the
|
||
model propose)`, say so explicitly rather than deleting the line — an
|
||
LLM asked to research and propose is different from one given no
|
||
instruction at all.
|
||
|
||
| Placeholder | Meaning | Ecuador worked example |
|
||
|---|---|---|
|
||
| `{TYPOLOGY}` | The building program/typology | a national museum |
|
||
| `{WIDE_REGION}` | The broad cultural/geographic region to draw form vocabulary from — narrow enough that its history is genuinely coherent (so the strata actually relate to one another), broad enough to give real stylistic range; usually a country or a historically-linked macro-region, not a continent | Ecuador (and neighboring Latin America for the "neighbor techniques" package) |
|
||
| `{FIXED_SITE}` | The specific city/site the climate script must be fixed to | Quito, Ecuadorian sierra |
|
||
| `{CLIMATE_SEED_FACTS}` | Known climate facts to ground the research (latitude, altitude, temperature range, rainfall pattern, sun/UV character, seasonality or lack of it) — prevents hallucinated climate data | ≈0.2° S / ≈2,850 m; 9–22 °C year-round; ~1,000–1,250 mm/yr rain, two peaks; near-zenith sun, high UV; no seasons |
|
||
| `{HISTORICAL_STRATA}` | The historical/cultural strata to synthesize across, oldest to newest (or `(let the model propose)`). Not every region has an indigenous or pre-colonial stratum in the sense the Ecuador example does — for a region without one, list whatever historical building cultures it does have instead (e.g. vernacular farmhouse, Roman, medieval, renaissance, industrial-era) rather than forcing an indigenous/colonial framing onto it. Each stratum must name a **building culture** — an ordinary construction tradition recurring across many buildings — not a single celebrated or architect-authored structure: a region's industrial-era stratum, for instance, usually means its ordinary workshop-houses, mill housing, and tenement factories, where industrial and residential use routinely overlapped in the same buildings, not one landmark 20th-century showpiece | indigenous wooden/conical-roof structures; pre-Columbian stone monumental; early colonial wood/earth; later colonial baroque |
|
||
| `{SCALE_NOTES}` | Programmatic/scale notes that affect massing (approx. size, public vs. civic character, number of principal volumes) | ~25,000 m² minimum, high-visitation civic building |
|
||
| `{DOWNSTREAM_MODULES}` | What other prompt modules this will be combined with later (fixed boilerplate unless the project's pipeline differs) | brief constraints, spatial chassis |
|
||
|
||
## The prompt
|
||
|
||
Copy everything below the line, substitute the placeholders, and send it
|
||
to an LLM as a single message.
|
||
|
||
---
|
||
|
||
I need to develop an architectural form language for {TYPOLOGY} in
|
||
{FIXED_SITE}, drawing on the broader architectural traditions of
|
||
{WIDE_REGION}.
|
||
|
||
**Research and synthesize, don't copy.** Locate and study open-source
|
||
descriptions and images of traditional buildings and urban spaces across
|
||
{WIDE_REGION}, spanning its full historical range: {HISTORICAL_STRATA}.
|
||
Synthesize what you find into a design *grammar* — a vocabulary of
|
||
elements plus rules for how they combine — not a style to be reproduced.
|
||
No historical facade should be copied whole; decompose elements,
|
||
understand their climate and structural function, and recombine them.
|
||
Treat any images only as references for the grammar you derive, not as
|
||
material to reproduce or publish. You most likely cannot actually browse
|
||
the internet or verify images within this conversation — unless you have
|
||
a real, working search or browsing tool available, treat any specific
|
||
building, site, or tradition you name as drawn from your training-data
|
||
familiarity, not from verified research, and say so plainly rather than
|
||
presenting recollection as verified fact.
|
||
|
||
**Default to natural, traditional materials.** The vocabulary (§3) should
|
||
default to natural, traditional materials — stone, brick, timber, earth,
|
||
tile — drawn from {WIDE_REGION}'s own building cultures. Modern
|
||
structural materials (reinforced concrete, steel) belong in the
|
||
vocabulary only where {TYPOLOGY} genuinely cannot achieve its required
|
||
spans, loads, or heights without them, not as an independent aesthetic
|
||
stratum or a source of decorative expression in their own right. Where
|
||
they are included, express them honestly as structure — an honestly
|
||
exposed frame, not concrete dressed up to imitate a natural material, and
|
||
not hidden behind an applied natural-material skin either — and justify
|
||
each such element in §3 by the specific structural need, not by
|
||
stylistic preference.
|
||
|
||
**Fix the climate and site, but not the vocabulary.** The building itself
|
||
is fixed at {FIXED_SITE}: {CLIMATE_SEED_FACTS}. Derive from this a set of
|
||
climate facts and the mandatory design responses they imply (roof form,
|
||
eaves, plinth/ground relationship, thermal mass placement, courtyard
|
||
proportion, orientation, ventilation, water management, and — if the
|
||
climate truly has no seasons — an explicit rule against inventing
|
||
seasonal mechanisms). These climate rules are invariant: if a form drawn
|
||
from elsewhere in {WIDE_REGION} conflicts with them, reinterpret the form
|
||
until it complies rather than dropping the climate rule. The *vocabulary*,
|
||
by contrast, should still be drawn from the whole of {WIDE_REGION}, not
|
||
narrowed to the immediate site.
|
||
|
||
**Give special attention to color and ornament traditions** across
|
||
{WIDE_REGION} and its historical strata. Do not settle on a single color
|
||
or ornament choice for the project. Instead produce a menu: several
|
||
distinct, named color registers and several distinct, named ornament
|
||
systems, each historically grounded, each internally consistent, each
|
||
usable on its own. A later step will generate several project variants,
|
||
each committing to exactly one register and one ornament system, so a
|
||
human reviewer can compare a genuine spread of options — do not
|
||
pre-select a "best" one.
|
||
|
||
**This document is a prompt module, not an image request.** It will be
|
||
combined later with other modules — {DOWNSTREAM_MODULES} — inside a
|
||
further prompt that asks an LLM to write a verbal design narrative
|
||
(images, if any, come after that, generated from the narrative). Write
|
||
for that downstream reader: precise, structured, unambiguous, using
|
||
consistent short codes for anything a later step must reference (color
|
||
registers, ornament packages, individual vocabulary elements) so a batch
|
||
of generated projects stays traceable and comparable.
|
||
|
||
**Produce the grammar in this structure, in this order:**
|
||
|
||
0. **Role of this document** — state that it is one module of a larger
|
||
prompt (brief and spatial chassis supplied elsewhere), list what this
|
||
module supplies (climate script, form vocabulary, syntax, color
|
||
system, ornament system, variation protocol), and state the precedence
|
||
order when instructions conflict (brief/chassis govern program; the
|
||
climate script is invariant and always wins; syntax governs
|
||
composition; color/ornament are the free variables chosen per
|
||
project). State that every generated description must name its chosen
|
||
color register and ornament package(s) explicitly, and must use the
|
||
glossary terms (§11) exactly as defined. State explicitly that this
|
||
document describes a formal and tectonic *vocabulary* for descriptive
|
||
and illustrative use, not a structural, seismic, fire, or
|
||
building-code specification — literal historical materials and
|
||
assemblies it names (e.g. rammed earth, masonry vaulting) may need
|
||
re-engineering or reinterpretation with modern materials/methods to
|
||
be actually buildable and code-compliant, and that determination is a
|
||
separate engineering exercise outside this document's scope.
|
||
|
||
1. **Design thesis** — one paragraph stating the stratified-fusion logic:
|
||
how the historical strata you're drawing on relate to each other
|
||
vertically or conceptually (e.g. ground/ancient logic, body/mid-period
|
||
logic, roof/vernacular logic, ornament/late-period logic, or whatever
|
||
ordering genuinely fits {HISTORICAL_STRATA} and {WIDE_REGION} — do not
|
||
force Ecuador's bottom-to-top stratification onto a region where it
|
||
doesn't apply).
|
||
|
||
2. **Invariant climate script for {FIXED_SITE} (FIXED)** — a table of
|
||
climate facts and their design consequences, then a numbered list of
|
||
mandatory climate-response rules (roof, eaves/shading, ground
|
||
relationship, thermal mass, courtyard/opening proportion, orientation,
|
||
ventilation, water management, plus a rule forbidding invented
|
||
seasonal mechanisms if the climate has none).
|
||
|
||
3. **Form vocabulary (lexicon)** — elements grouped by tectonic family
|
||
(ground/platform, wall, roof/sky, threshold/in-between, interior, or
|
||
whatever families fit this typology), each tagged with its origin
|
||
stratum and region, each given a short reusable code. Each element
|
||
should be natural/traditional material by default; if any element
|
||
uses a modern structural material instead, tag it as such and state
|
||
the specific structural necessity that justifies it.
|
||
|
||
4. **Syntax — combination rules** — numbered, always-apply rules for how
|
||
the vocabulary combines: stratification/ordering logic, relationship
|
||
of program to void/courtyard/street, threshold gradation from public
|
||
to private, treatment of the roof or fifth facade if relevant, growth/
|
||
modularity logic, ornament concentration logic (dense at few episodes,
|
||
calm elsewhere), proportional habits.
|
||
|
||
5. **Color system — one register selected per project** — placement
|
||
rules that apply regardless of register (where saturation is allowed,
|
||
where fields must stay calm, how base/trim/roof are differentiated,
|
||
material honesty of the color), then several named, coded color
|
||
registers, each historically grounded in a specific place/tradition
|
||
within {WIDE_REGION}, each with a one-line mood description.
|
||
|
||
6. **Ornament system — selected per project** — placement rules that
|
||
apply regardless of package (zoning of ornament to base/threshold/
|
||
crown or equivalent, density gradient toward the principal entrance,
|
||
structural rather than applied ornament where possible, translation
|
||
not replica), then several named, coded ornament packages (geometric
|
||
and episodic/figurative), each grounded in a specific tradition within
|
||
{WIDE_REGION}. If any stratum in {HISTORICAL_STRATA} carries motifs
|
||
with sacred, ceremonial, or otherwise living cultural significance —
|
||
as distinct from motifs that are purely decorative or historical —
|
||
say so explicitly, and mark those motifs as needing consultation with
|
||
the communities they belong to before real-world use, rather than
|
||
folding them into the ornament menu as free decorative material. This
|
||
is about protecting living meaning, not a judgment on any tradition's
|
||
aesthetic value; skip this note where no stratum carries that kind of
|
||
significance.
|
||
|
||
7. **Composition procedure (for the describing LLM)** — a numbered
|
||
procedure for how a later prompt should use this module: restate the
|
||
chassis in grammar terms, apply the climate script as non-negotiable,
|
||
assign vocabulary by stratum, check the syntax rules, select one color
|
||
register and apply its placement rules, select ornament package(s) and
|
||
apply their placement rules, check against the negative constraints
|
||
(§10), then write the description per the template (§8).
|
||
|
||
8. **Output description template** — the fixed section order a later
|
||
narrative/description must follow (concept, site/massing, climate
|
||
compliance, structure/materials by element code, color application
|
||
naming the register, ornament placement naming the package(s), and a
|
||
short camera-ready visual summary with suggested viewpoints for a
|
||
downstream image-generation step).
|
||
|
||
9. **Variation protocol** — what stays invariant across a batch of
|
||
generated project variants (climate script, syntax, placement rules)
|
||
versus what varies (chassis × one color register × one ornament
|
||
package), any recommended register/package affinities, and a coverage
|
||
target so a batch spans the historical/regional spectrum rather than
|
||
converging on one look.
|
||
|
||
10. **Negative constraints** — a numbered list of forbidden moves,
|
||
derived directly from whatever climate rules and syntax rules you
|
||
proposed above (e.g. if you required pitched roofs, forbid flat
|
||
primary roofs here; if you required a plinth, forbid meeting grade
|
||
without one; always forbid mixing two color registers in one
|
||
project, more than one figurative ornament episode, evenly
|
||
distributed ornament, literal uncredited copying of a named
|
||
historical building, applying any motif flagged in §6 as
|
||
sacred/ceremonial without the noted consultation caveat, and using a
|
||
modern structural material where §3 recorded no genuine structural
|
||
necessity for it, or disguising one material as another instead of
|
||
expressing it honestly).
|
||
|
||
11. **Glossary** — every non-English or specialist term used above,
|
||
defined in one line, to be used verbatim (not paraphrased) by any
|
||
later prompt.
|
||
|
||
**Appendix — canonical precedents by stratum.** For each stratum in
|
||
{HISTORICAL_STRATA}, list two or three named real buildings, sites, or
|
||
artifact traditions from {WIDE_REGION} that anchor it, as reference
|
||
points — not to be copied, but so a later reader can verify the grammar
|
||
is genuinely grounded in something real. Each precedent should be
|
||
representative of that stratum's wider building culture, not the sole
|
||
reason the stratum exists — if a stratum can only be anchored by one
|
||
celebrated landmark with no supporting ordinary/vernacular examples, that
|
||
is a sign it isn't really a building culture (see the {HISTORICAL_STRATA}
|
||
placeholder note) and should be broadened, merged, or dropped rather than
|
||
listed as-is. For each precedent, note briefly whether it's a
|
||
well-documented example you're confident about or a plausible-but-unverified
|
||
recollection — don't present both with equal certainty.
|
||
|
||
Scale notes for the project this grammar will serve: {SCALE_NOTES}.
|
||
|
||
---
|
||
|
||
## Usage notes
|
||
|
||
- Aim for a comparable level of precision and traceability throughout: a
|
||
short, consistent code per element/rule/register/package (e.g. a
|
||
letter-plus-number scheme such as `G1`, `G2` for ground-family
|
||
elements, `W1`, `W2` for wall elements, `R#` for roof, `CR#` for color
|
||
registers, `OP#` for ornament packages — the exact letters don't
|
||
matter, only that every reusable item gets one and later prompts can
|
||
cite it unambiguously). Every rule and vocabulary element should be
|
||
traceable to a named stratum/tradition within {WIDE_REGION}, not
|
||
presented as free invention.
|
||
- The two-step process this template collapses into one shot was: an
|
||
open exploratory first pass, then a follow-up narrowing scope (fix
|
||
climate to the specific site, keep vocabulary regional, drop a single
|
||
color/ornament choice in favor of a menu, and reframe the output as a
|
||
prompt module rather than an image request). This template
|
||
front-loads that narrowing into one prompt; if the first response
|
||
still drifts (e.g. proposes a single color and ornament choice, or
|
||
narrows vocabulary to only the immediate site), send a follow-up
|
||
correcting just that point rather than re-running the whole prompt.
|
||
- Check the output for fidelity: any climate rule, vocabulary element, or
|
||
precedent that isn't grounded in something real for
|
||
{WIDE_REGION}/{FIXED_SITE} is a hallucination to catch and regenerate
|
||
away, the same way a pattern-language narrative generated downstream
|
||
should be checked against its selected pattern subset.
|
||
- Salingaros described his original prompt as asking the LLM to "locate
|
||
open-source images of traditional buildings" and synthesize from them,
|
||
and has confirmed the session used a real web-search-enabled LLM
|
||
configuration, not training-data recollection alone. Even so, treat
|
||
"synthesized from imagery" with some caution: current LLM tooling makes
|
||
it more likely the model synthesized primarily from textual search
|
||
results and descriptions of buildings than from genuine visual analysis
|
||
of downloaded images, whatever the prompt literally asked for. Treat the
|
||
Appendix precedents as text-grounded rather than confirmed
|
||
image-grounded, unless you've specifically verified that the model/tool
|
||
you're using performs real visual analysis of retrieved images and not
|
||
just text search.
|
||
- This document is a formal/tectonic vocabulary for description and
|
||
illustration, not a construction specification: literal historical
|
||
materials it names (rammed earth, adobe, stone vaulting) are
|
||
references, not proof the resulting building is code-buildable.
|
||
Seismic, fire, and code compliance are a separate engineering exercise
|
||
— worth stating plainly, since {FIXED_SITE} may be in a seismically
|
||
active region where this matters (Quito, this project's own case,
|
||
among them).
|