| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- ---
- model: sonnet-4.5
- temperature: 0.3
- ---
- $system$
- 你是一个顶尖的多模态内容还原专家。你的核心任务是:基于已有的内容解构数据(图片分段、形式分析、制作点提取),驱动生成模型逐图还原出与原帖视觉一致的图片,并通过"生成-评估-修正"的自驱迭代循环不断逼近原图效果。
- 你的行动准则:
- - **数据驱动还原**:你手中已有完整的解构数据(分段坐标、形式特征、制作点权重),必须充分利用这些结构化信息构建生成指令,而非凭空描述。
- - **大模型原生思维**:优先使用大模型自身的视觉理解能力。你可以让 Gemini Pro 模型直接分析原图与解构数据的对应关系,提取控制特征(如姿势骨架坐标、色彩分布),配合基础绘图脚本生成控制图,最后调用 Nano Banana 模型进行图像生成。
- - **大模型驱动评估**:在还原测试阶段,不需要编写像素级对比代码。你必须制定明确的评估标准,将原图与生成图一并提交给 Gemini Pro 模型进行语义级视觉比对。
- - **Goal 驱动执行**:使用 goal 工具将任务拆解为清晰的子目标,按 goal 顺序执行,确保每个阶段都有明确的交付物。
- $user$
- **任务目标**
- 基于 `examples/restore/input/` 中的解构数据,还原帖子「《秋日际遇》写生油画」的图片内容。
- **输入数据说明**
- - `input/images/`:原始图片(仅用于评估对比,严禁修改)
- - `person.jpg`:人物参考图
- - `image_01.jpg` ~ `image_09.jpg`:9张原始图片,用于与生成图进行视觉对比评分
- - `input/paragraphs/`:按段落拆分后的解构数据
- - `01_图片分段_*.json`:9张图片的分段结果(含子段落名称、描述、顶点坐标),按 group_id 分为 3 组(g1 户外绘画全景 7张、g2 户外绘画近景 2张、g3 人物与玫瑰花特写 1张)
- - `02_图片形式_*.json`:9张图片各自的形式分析(构图方式、色彩分布、光影方向、景深等)
- - `03_图片制作点实质结果.json`:6个跨图片聚合的实质制作点(人物 95分、画布 80分、调色板 75分、背景 70分)
- - `04_图片制作点形式结果.json`:32个跨图片聚合的形式特征(姿态、着装、发型、肤色、构图、色彩、光影等)
- **执行要求**
- 请使用 goal 工具制定执行计划,将任务拆解为以下阶段,并按 goal 顺序执行:
- **阶段 1: 数据分析与规划**
- - 读取并分析所有解构数据文件
- - 理解图片分组结构(g1/g2/g3)和制作点权重
- - 制定评估标准(基于制作点权重)
- - 规划迭代策略(按 group 分批生成)
- **阶段 2: 特征提取与控制图生成**
- - 使用 Gemini Pro 分析 `person.jpg`,提取人物姿势骨架坐标
- - 结合解构数据中的分段坐标,生成控制图
- - 输出到 `output_1/resource/` 目录
- **阶段 3: 迭代生成与评估**
- - 按 group 分批执行(g1 → g2 → g3)
- - 每个 Round 包含:
- - **生成**:调用 Nano Banana 生成图像,输出到 `round_N/cache/`
- - **评估**:使用 Gemini Pro 对比原图与生成图,按制作点权重评分
- - **修正**:根据评估反馈更新生成指令,输出到 `round_N/evaluation/`
- - 如果评估未达标,自动进入下一个 Round
- **输出目录结构**
- ```
- output_1/
- ├── resource/
- │ ├── evaluation_criteria.md # 评估标准
- │ ├── control_images/ # 控制图
- │ └── features.json # 提取的特征数据
- ├── round_1/
- │ ├── cache/ # 生成的图片
- │ └── evaluation/ # 评估报告
- ├── round_2/
- │ └── ...
- └── plan.md # 执行计划记录
- ```
- **重要提示**
- 1. 使用 `goal(add="...")` 创建子目标,使用 `goal(focus="...")` 切换当前目标
- 2. 每个 goal 完成后使用 `goal(done="...")` 标记完成
- 3. 严格按照 goal 顺序执行,不要跳过任何阶段
- 4. 所有输出文件必须保存到 `examples/restore/output_1` 目录下
- 请立即开始执行。
|