ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

行带定位读取协议:oh-my-pi snapcompact 视觉问答的 locate-then-answer 提示词设计

行带定位读取协议:oh-my-pi snapcompact 视觉问答的 locate-then-answer 提示词设计 行带定位读取协议oh-my-pi snapcompact 视觉问答的 locate-then-answer 提示词设计【免费下载链接】oh-my-pi⌥ Coding agent with the IDE wired in项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-pi导读本文围绕 oh-my-pi⌥ Coding agent with the IDE wired in仓库中 snapcompact 研究实验的定位提示词 exp07-locate.md 展开剖析它在位图帧压缩场景下所定义的行带寻址协议如何让视觉 LLM 在不转写整张位图的前提下先粗粒度定位答案所在的行范围rows A-B再交给第二阶段进行窄带精读。读完本文你将理解这条提示词的坐标模型、输出约束及其在 exp07_readtax.py 中与exp07-answer-bands的调度配合以及它从 exp05 标尺寻址到 exp08 ZOOM 协议的演进脉络。一、背景位图帧压缩与读取税在深入了解这条提示词之前需要先明确它服务于什么问题。snapcompactoh-my-pi/snapcompact是一种面向视觉 LLM 的位图帧上下文压缩方案其核心思路在 packages/snapcompact/README.md 中说明Instead of asking an LLM to summarize discarded conversation history, snapcompact serializes it and renders the text into dense PNG frames of pixel-font glyphs that vision models read back directly.也就是说被丢弃的对话历史不经过 LLM 摘要而是被序列化为紧凑文本、再光栅化为等宽像素字体的 PNG 帧由视觉模型直接读回。整个过程本地且确定性执行——无 LLM 调用、无 API key、无渲染之外的延迟。当一张帧可以承载大量文本行如 2048px 宽的帧时视觉模型从头到尾线性读完全图的代价很高token 消耗、延迟、以及在小字区域上的误读率在实验中被称为读取税readtax对应实验脚本exp07_readtax.py的命名。exp07 系列实验正是在探索能不能让模型先定位、再精读从而把阅读预算集中在真正相关的行带上exp07-locate.md就是这一两阶段协议中定位阶段的提示词。二、exp07-locate.md 全文解读位图模型与坐标协议关联文档 exp07-locate.md 全文仅三个段落却定义了一套完整的寻址协议。逐句拆解如下1. 位图模型的先验描述The attached image contains encyclopedia passages rendered as a bitmap: monospace pixel font,{cols}characters per row,{rows}rows, read left-to-right then top-to-bottom. Original paragraph breaks were collapsed to spaces.这条提示词首先向模型声明了它所面对的输入格式契约输入是一张位图内容为百科段落enclosure 类文本对应 README 中提到的 SQuAD prose evals 语料使用等宽像素字体monospace pixel font每个字符占据固定网格帧的几何参数通过模板占位符注入{cols}字符/行、{rows}行——这与 snapcompact 渲染器的帧几何Shape的cellWidth/cellHeight以及实验脚本中capacity(FONTS[FONT], args.size)的计算exp07_readtax.py一一对应阅读顺序为从左到右、从上到下原始段落换行被折叠成空格——这是渲染管线中normalize步骤的约定README 描述 whitespace collapsed、newline runs folded 等归一化行为提示词把这一预处理显式告知模型避免它按段落边界去猜测语义分块。2. 任务重定义从回答问题改为猜测行带Questions follow after the image. Do NOT answer them yet, and do NOT transcribe the image. For each question, skim the image coarsely (keywords, names, numbers) and guess which horizontal band of rows most likely contains the answer.这是全协议的关键转折第一阶段禁止回答问题也禁止转写整图。模型被要求对每道问题做两件事粗扫skim按关键词、人名、数字等线索在全图上做低精度扫描行带猜测判断答案最可能落在哪一段水平行范围内。从认知角度看这等价于把细粒度阅读理解降级为粗粒度空间检索目的是让第一轮调用的effort可以设得很低、消耗很少的推理预算源码中该阶段以effort: low调用见下文第四节。3. 输出格式契约rows A-BOutput a numbered list, one line per question, each line exactly of the formrows A-B(1-indexed, top row is 1; keep each band at most 25 rows tall). No answers, no commentary, nothing else.输出协议有三个硬约束每行一条编号与问题一一对应格式严格为rows A-B坐标约定行号从顶部第 1 行起算1-indexedA为起始行、B为结束行带宽上限每个 band 高度至多 25 行防止模型给出整页这种无意义的宽区间静默约束不输出答案、不加注释、什么都不额外输出——保证输出可以被后续阶段机械地解析为行范围作为第二阶段exp07-answer-bands的输入。25 行的上限并非拍脑袋它既保证每个 band 足够窄、能让后续精读阶段聚焦又不至于窄到需要依赖极高的定位精度。带宽与定位难度之间的权衡正是该实验要测量的内容见第四节对 latency 追踪的说明。三、两阶段协议locate 之后如何 answerexp07-locate.md不是孤立提示词它与同目录下的 exp07-answer-bands.md 构成一个完整的两阶段问答管线阶段一locate使用exp07-locate.md产出形如rows 41-47的行带列表——只定位、不回答。阶段二answer把定位结果连同第二阶段提示词exp07-answer-bands.md一起交给模型其指令为Now answer the questions. For each question, read ONLY the row band you identified above (plus a row or two of margin). Do NOT transcribe the image or read the rest of it. Give short extractive answers: a word or phrase copied from the text in the image. If you cannot read the relevant region well enough to answer, reply exactly UNREADABLE for that question.关键设计点窄带精读模型只能读取自己第一阶段划定的行带外加一两行的余量禁止转写全图、禁止阅读其余部分——把视觉注意力预算强行约束在相关区域抽取式答案要求从图中复制原文短语避免模型用自身知识库补全保证答案可溯源显式拒答通道读不清时输出固定标记UNREADABLE而不是猜测——这与 exp07-qa-image.md单阶段对照的UNREADABLE约定完全一致使评估脚本能统一统计未读清与读错两种失败模式。两阶段消息在源码中的组装方式exp07_readtax.py为answer_msgs locate_msgs [ {role: assistant, content: [{text: locate[text]}]}, {role: user, content: [{text: load_prompt(exp07-answer-bands.md)}]}, ]即把定位阶段的输出作为 assistant 历史再接上第二阶段的用户指令形成一次连贯的对话续写。四、源码实证exp07_readtax.py 如何调度两阶段协议exp07_readtax.py 是承载该实验的驱动脚本可以从源码层面印证上述协议的实际运行方式协议枚举L16-L19实验同时对比多种策略其中locate-then-answer被明确描述为 two turns: (1) effortlow, output only a row-band guess ... (2) ... read only those bands, answer。这印证了第一阶段的定位调用使用低推理强度low effort——因为它只需要粗扫与坐标猜测不需要精读条件开关L50-L52locate-then-answer、locate-low、locate-none三种变体可组合出不同控制实验例如locate-none即退化为纯单阶段问答定位阶段执行L141-L152当条件以locate开头时脚本通过qa_messages(exp07-locate.md)加载本文档并以effort: low发起调用同时用cached(...)包装以保证可复现的缓存成本/延迟追踪L155-L158、L221每次调用都会记录usage与latency_s并在最终统计中Per-chunk latency sum over phases (locate qa)——两阶段的延迟被分别累计用于量化定位阶段付出的额外读取税是否被精读阶段节省的成本所抵消。这正是实验名readtax的含义所在。此外exp07是在 exp02surprisal、exp05anchors等更早实验基础上的递进它把此前单轮全图阅读的协议重构为定位 精读的两轮协议以测量在真实推理计费下的收益边界。五、协议演进从标尺寻址、行带猜测到 ZOOM 高分辨率重读把exp07-locate.md放在整个 prompts 目录的时间线上可以看清寻址协议的两次迭代1. exp05蓝色行号标尺0-indexed 精确寻址exp05-qa-image.md 引入了左侧行号标尺方案The left margin of the image is a row-number ruler, not part of the text: every 5th row is labeled with its row index in blue digits (0, 5, 10, ...,{last_label}). Rows are numbered from 0 at the top. Use the ruler to address regions of the image like line numbers in a file.并要求输出N. answer | row≈R这样带锚点行号的答案。它的代价是渲染帧时需额外绘制标尺、模型需要把标尺与正文精确对齐且行号从 0 起算0-indexed。2. exp07去掉标尺改为纯行带猜测1-indexedexp07-locate.md则不再渲染任何标尺行号改为从 1 起算且允许带区间rows A-B≤25 行。这降低了对渲染器的要求同时把精确到行的压力转嫁给模型的空间感知能力——定位错误的后果由第二阶段的窄带精读兜底。3. exp08ZOOM 高分辨率重渲染协议当模型在exp07式的协议中定位到区域却仍然读不清时exp08-archive.md 提供了升级出口If you locate the relevant region but it is too small or degraded to read reliably, do NOT guess: reply exactlyZOOM rows A-Bfor that question ... giving the row range you need re-rendered at higher resolution.而 exp08-zoom.md 描述了对请求行带的高分辨率重渲染图像。至此形成三级协议栈粗扫定位exp07-locate→ 窄带精读answer-bands→ 按需 ZOOM 放大exp08exp07-locate.md正是这条链路上控制第一跳寻址成本的关键一环。六、设计要点总结为什么这条提示词值得借鉴从提示词工程的角度exp07-locate.md提供了几个可复用的设计原则设计点具体做法目的显式声明输入格式位图、等宽字体、{cols}×{rows}、段落折叠让模型不依赖猜测理解帧结构阶段职责分离定位阶段只猜行带、不回答、不转写用低 effort 完成空间检索控制读取税强结构化输出每行rows A-B、1-indexed、≤25 行输出可被下游机械解析无歧义静默约束no answers, no commentary, nothing else防止无关文本污染后续消息组装与第二阶段契约衔接定位结果作为 assistant 历史喂给 answer-bands形成可复现、可计费拆分的两轮管线需要说明的是这些规则服务于研究实验场景语料为 SQuAD 风格的百科段落、渲染字体与帧几何由脚本参数控制见 exp07_readtax.py其效果评估依赖于实验脚本对 f1、UNREADABLE率与分阶段延迟的统计并非普适的通用提示词——但它展示了一种把视觉阅读预算显式建模为坐标寻址问题的思路对任何需要在超大位图上做问答的场景文档截图检索、长对话压缩回读等都有参考价值。延伸阅读两阶段协议的答案阶段提示词packages/snapcompact/research/prompts/exp07-answer-bands.md单阶段对照协议packages/snapcompact/research/prompts/exp07-qa-image.mdZOOM 放大协议及其图像描述packages/snapcompact/research/prompts/exp08-archive.md、packages/snapcompact/research/prompts/exp08-zoom.md标尺寻址先例packages/snapcompact/research/prompts/exp05-qa-image.md实验驱动脚本packages/snapcompact/research/exp07_readtax.py位图帧压缩的整体设计与帧形状选型packages/snapcompact/README.md、packages/snapcompact/src/snapcompact.ts【免费下载链接】oh-my-pi⌥ Coding agent with the IDE wired in项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-pi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表