建筑分析进化循环 (Architecture Analysis Evolution)
概述
该技能实现一个自我进化的「分析→描述→生成→对比→调整」闭环。用户提供一张建筑照片或效果图后,执行以下流程:
- 分析阶段 — 读取并分析原建筑图片:
- 1.1 基本尺度定义 — 首先定义建筑的长宽高、层数、面积、关键比例等基本物理参数
- 1.2 深度特征提取 — 提取建筑风格、材料、形态、空间特征
- 描述阶段 — 撰写精炼的建筑描述文本(以基本尺度为锚点)
- 生成阶段 — 用描述文本通过 ImageGen 生成新建筑图片
- 对比阶段 — 将生成图与原图进行视觉偏差分析
- 调整阶段 — 根据偏差分析优化描述文本
- 循环 — 重复步骤 3-5 共 3 轮(默认),每轮保存中间产物
- 收敛 — 输出最终稳定描述文本及最终生成图
触发条件
当用户提供一张建筑图片(照片、效果图、渲染图)并提出以下任一意图时,使用此技能:
- "分析这张建筑图片并生成稳定的建筑描述"
- "帮我对这张建筑图做描述进化"
- "通过生成再对比来优化对这张建筑的描述"
- "用 AI 帮我提炼对这类建筑的描述语言"
- "建筑图片分析 + 进化学习"
- 任何涉及分析建筑图片并基于生成对比来优化描述的请求
前置条件
- 确认用户已提供建筑图片文件的绝对路径。如果用户只上传了图片但未提供路径,在操作用户上传的图片时优先检查 workbuddy uploads 目录,读取该图片获取其绝对路径
- 确保
ImageGen(Text-to-Image)工具可用。ImageGen 是 WorkBuddy 的 DeferExecuteTool 延迟工具,需要通过 ToolSearch 查找其调用方式
工作流程
第 1 步:读取原建筑图片
使用 Read 工具读取用户提供的建筑图片文件。图片是用户给的路径或上传的文件。读取后仔细观察分析。
1.1 建筑基本尺度定义(必须最先完成)
在分析任何风格或细部之前,先建立建筑的基本物理参数。这些参数是所有后续描述的基础锚点。
基本尺度参数表:
| 参数 | 说明 | 如何获取 | 示例 |
|---|
| ------ | ------ | ---------- | ------ |
| 总长 | 建筑沿主要轴线的长度 | 图纸/参照物估算 | "约 60 米" |
| 总宽 | 建筑沿次要轴线的宽度 | 图纸/参照物估算 | "约 25 米" |
| 总高 | 建筑最高点距地面高度 | 层数×层高估算 | "约 35 米(8层)" |
| 层数 | 地上/地下层数 | 图片中数窗户排数或楼层线脚 | "地上 8 层,地下 1 层" |
| 总建筑面积 | 各层建筑面积之和 | 图纸/技术说明 | "约 15,000 ㎡" |
| 占地面积 | 建筑首层占地面积 | 图片测量/估算 | "约 1,500 ㎡" |
| 标准层高 | 标准层高 | 人/门/窗为参照(层高≈3-4米) | "约 4.2 米" |
| 关键尺度特征 | 悬挑深度、中庭宽度等 | 比例估算 | "上层悬挑约 4 米(约一层楼高)" |
获取方式:
- 原图附带说明/技术图纸 → 直接读取数值,填入参数表
- 只有图片 → 通过环境参照物估算(人≈1.7m,车≈1.5m高,相邻建筑层数)
- 完全无法获取 → 标注"未知",在描述中用相对比例替代(如"悬挑深度约一层楼高")
输出位置: 将基本尺度数据写入 iteration-01-description.md 顶部的 ## 建筑基本尺度 区块。
1.2 深度特征分析(使用 references/architecture-vocabulary.md 中的分类体系)
在基本尺度锚定后,进行建筑特征分析:
分析维度:
- 建筑风格(现代主义、哥特式、参数化等)
- 形体与体量(立方体、穿插、悬挑、层叠等)
- 立面处理(材料、虚实对比、开窗方式、格栅等)
- 色彩与质感(主色调、辅助色、表面材质感受)
- 空间与氛围(通透/围合、光线处理、尺度感)
- 环境关系(场地处理、与周围景观/城市的关系)
- 结构特征(承重体系、跨度、结构外露等)
第 2 步:撰写初始精炼描述
基于分析结果,撰写第一版精炼建筑描述文本。
撰写原则:
- 参照
references/architecture-vocabulary.md 中的词汇体系 - 使用结构模板组织内容
- 控制在 80-150 字,聚焦于可渲染的视觉特征
- 明确颜色、形状、比例、尺度、材质等具体视觉要素(引用基本尺度参数)
- 基本尺度参数(长宽高、层数)必须在描述中体现,作为物理真实感的基础
- 避免抽象概念(如"优雅"、"诗意"),转译为具体视觉特征(如"水平比例 1:3"、"白色清水混凝土")
- 包含视角和构图提示
输出文件: 将第一版描述文本写入 iteration-01-description.md
第 3 步:用描述生成建筑图片(使用 ImageGen)
通过 ImageGen 工具,用上一步的描述文本生成建筑图片。
操作指引:
- 通过 ToolSearch(
tool_names: ["ImageGen"])查找 ImageGen 工具的调用方式 - 使用 DeferExecuteTool 调用 ImageGen,参数包括:
prompt(必填):描述文本size(建议 "1024x1024")quality(建议 "high")output_dir(必填,指定到输出目录)
- 等待 ImageGen 返回生成的图片文件路径
- 将原始输出文件复制/重命名为标准命名(如
iteration-01-generated.png)
保存生成图: 将返回的图片保存到输出目录,命名为 iteration-01-generated.png
第 4 步:对比分析偏差
读取生成的图片,与原图进行详细对比分析。
⚠️ 模型无法读取图片时的备选方案:如果 Read 工具无法读取生成图(当前模型不支持多模态),采用「理论偏差分析法」——基于描述文本的精度提升与 ImageGen 模型的已知生成特性进行推理。分析中需明确标注"基于理论推断",并按以下框架进行:
- 评估每项优化策略在生成模型中的理论改善概率(高/中/低)
- 按维度推断偏差等级
- 提炼下一轮优化方向
- 此方式同样能有效推动 prompt 的收敛
对比分析维度:
- 风格一致性:建筑风格是否匹配?(如都表现为现代主义还是偏差到古典风格)
- 形态准确性:体量关系、比例、几何形态是否一致?
- 材质表达:材料质感是否得到正确呈现?
- 色彩还原度:整体色调和色彩关系是否一致?
- 细部特征:窗户、门洞、格栅、结构节点等细部是否准确?
- 氛围匹配度:空间氛围和光线处理是否一致?
- 遗漏与添加:原图有但生成图没有的特征、或生成图多于原图的特征
输出偏差分析报告: 将分析结果写入 iteration-01-analysis.md
偏差等级划分:
- ✅ 一致:描述准确,生成图与原图高度匹配
- ⚠️ 轻微偏差:少数细节不一致,但不影响整体识别
- ❌ 显著偏差:风格、形态或关键特征明显偏离
第 5 步:调整描述文本
基于偏差分析,优化描述文本。目标是修正导致偏差的描述部分。
调整策略:
- 对显著偏差的特征,增加更精确的限定词(如"双坡屋顶"、而非模糊的"坡屋顶")
- 对遗漏的重要特征,补充具体描述
- 对生成图多余的特征,检查描述中是否有模糊表述导致歧义
- 保持总字数在 80-200 字范围内(允许在需要高精度细节时适度超限),去除已被验证准确的内容中的冗余
- 工程语言→视觉语言转化(关键策略):当专业术语无法被图像模型准确渲染时,将其降维为视觉图案描述
- ❌ "螺栓连接板" → ✅ "铆接纹样"
- ❌ "交叉网格" → ✅ "X形斜交"
- ❌ "约4米" → ✅ "约一层楼高度"(用建筑参照系替代量化数值)
- ❌ "60cm等距的龙骨" → ✅ "面板上可见细长阴影暗示竖向构件"(用光影间接表达)
- ❌ "1:1交替韵律" → ✅ "犹如放大的像素块"(用日常视觉比喻替代抽象概念)
输出文件: 将调优后的描述文本写入新版本文件(如 iteration-02-description.md)
第 6 步:重复循环
重复步骤 3-5 共 3 轮:
| 轮次 | 描述文件 | 生成图 | 分析文件 |
|---|
| ------ | --------- | -------- | --------- |
| 第 1 轮 | iteration-01-description.md | iteration-01-generated.png | iteration-01-analysis.md |
| 第 2 轮 | iteration-02-description.md | iteration-02-generated.png | iteration-02-analysis.md |
| 第 3 轮 | iteration-03-description.md | iteration-03-generated.png | iteration-03-analysis.md |
第 7 步:收敛与输出
3 轮迭代结束后:
- 撰写总结报告:汇总每次迭代的描述变化、偏差演变趋势,说明描述文本如何逐轮收敛
- 输出最终描述:最后一轮(第 3 轮)的描述文本作为最终稳定描述
- 交付产物:通过
deliver_attachments 交付所有中间产物 - 通过
open_result_view 展示总结报告
输出目录结构
在工作目录下创建输出子目录:
architecture-evolution-output/
├── iteration-01-description.md
├── iteration-01-generated.png
├── iteration-01-analysis.md
├── iteration-02-description.md
├── iteration-02-generated.png
├── iteration-02-analysis.md
├── iteration-03-description.md
├── iteration-03-generated.png
├── iteration-03-analysis.md
└── evolution-summary.md
注意事项
- 每次生成图片前必须先通过 ToolSearch 确认 ImageGen 工具的最新调用方式
- 生成的图片格式和时间可能因 ImageGen 返回结果而异,灵活处理
- 如果某一轮生成的图片质量明显低于预期(如内容完全不相关),可以提前终止循环并告知用户
- 描述文本的进化趋势应该是:从宽泛到具体,从模糊到精确
- 如果用户在中间某轮介入并手动调整了描述,以用户调整后的版本继续后续迭代
- 当原图与生成图风格偏差持续无法改善时,在总结报告中说明收敛瓶颈
- 收敛判断标准:当连续两轮的描述文本修改幅度低于 10%(字数变化+内容修改量),且 🔴 显著偏差降至 1 个以下时,视为已达到实用收敛
- 收敛维度管理:将分析维度分为「快收敛」(色彩、光照、风格——通常 1-2 轮稳定)和「慢收敛」(构造节点、细部精度——通常需 3 轮以上),已收敛维度在后续轮次中精简表达,为攻坚维度释放描述空间
- 基本尺度优先原则:描述建筑时,必须先锚定基本尺度(长宽高、层数、关键比例),再用风格/细部丰富描述。没有尺度锚点的描述会缺乏物理真实感,导致生成图比例失真
资源文件
references/
- architecture-vocabulary.md — 建筑描述词汇参考体系,包含风格分类、材料词汇、形式描述、空间氛围等分类词汇表,以及描述文本撰写的结构模板和原则。在撰写和调整描述时加载使用。