画布agent 完善上下文 #101
Reference in New Issue
Block a user
Delete Branch "editor-agent-more-tools"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
画布agent 支持工具完整的各种参数和前端显示, 完善工具提示词to 画布agent 支持工具完整的各种参数+前端显示+完善提示词工具参数持久化契约与文档冲突。专题文档:85 (line 85) 要求 args 保存 LLM 返回的原始 JSON;实际代码会补默认值、删除未知字段,并将规范化后的 JSON 写入 tool_call.args。应明确选择“原始参数”或“校验后的规范参数”作为正式契约并同步文档。
WIP: 画布agent 支持工具完整的各种参数+前端显示+完善提示词to WIP: 画布agent 完善上下文[P2] tool_args.rs (line 82) 未把显式 null 规范化为默认值。视频确认卡会省略时长、分辨率、声音,但 api.rs (line 1253) 实际仍按 4s / 720p / sound=on 执行;图片尺寸和音效时长也有同类分叉。
[P2] useConversationAttachments.ts (line 268) 的历史附件引用绕过新标签归一化。历史附件不在当前画布/素材库时,当前界面保留旧标签,后端却持久化规范标签,刷新后标签会突变。
[P2] image_generation_options.rs (line 95) 的 JSON Schema 允许运行时必然拒绝的组合,例如固定 gpt-image-2 的 UI 工具仍允许 0.5K;视频省略默认 Fast 模型时也可搭配 1080p。这些调用会浪费 Agent 修复轮次,严重时达到 max turns。
[P2] 画布 Agent 专题文档 (line 76) 没有同步记录附件 label 的 24 码点限制、字符过滤、不可信 LLM description 边界及前后端二次归一化规则。
image_generation_optionsto module scopeP2:工具 JSON Schema 仍暴露运行时会拒绝的组合。
generate-ui-design 固定 gpt-image-2,但 image_size schema 仍允许 0.5K;运行时 validate_image_generation_options 会拒绝 gpt-image-2 + 0.5K。视频工具也仍允许省略 model 时选 1080p,但省略后默认 seedance2.0-fast,运行时会拒绝 fast + 1080p。
证据:generate_ui_design.rs (line 53)、image_generation_options.rs (line 93)、generate_video.rs (line 120)。
P2:显式 null 的文档契约仍与实现相反。
实现/测试已经把顶层显式 null 当成省略字段处理并落默认值,但专题文档仍写“显式 null 视为非法参数”。
证据:画布Agent文档 (line 88)、tool.rs (line 197)、tool.rs 测试 (line 1299)。
我整个喂给模型的提示词是例如这样的:
在每个说明的地方加上了特殊的要求,我认为这是的最简洁的方式了,如果把所有模型x分辨率排列组合出来太多太乱,而且还一样是软的约束,还要运行时的检查兜底
我觉得这个应该忽略
generate-ui-design 不是复杂组合问题,它固定 gpt-image-2,但 schema 仍给 image_size 暴露 0.5K。这可以用一个固定工具专用的 ["1K", "2K"] schema 解决,不需要铺开模型矩阵。
视频也不是必须枚举所有模型组合。现在已有 allOf/if/then,问题只是 if 写了 required: ["model"],导致“省略 model”时不会触发 fast 限制;但运行时省略后又默认 fast。也就是说这是 schema 默认值语义没对齐,不是“必须做很复杂的组合表”。
description 对 LLM 是提示,enum/if/then 对工具调用是结构约束。既然代码已经在用 schema 限制枚举,那“schema 允许但 runtime 必拒”的组合还是会浪费工具修复轮次;作者的解释能说明取舍意图,但没消除实际不一致。