Questions spanning thousands of tables force the model to hand-write 20k-character UNION ALL statements (19% of cost in one batch of sessions)
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 18/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 技术栈
- sql, typescript
调研方向
Start with the write classifier in packages/opencode/src/altimate/tools/sql-classify.ts (around lines 27 and 226-235) and the denial path in sql-execute.ts (lines 113-121) to see which session-local statements are blocked. The issue offers three alternative designs, so the scope needs a maintainer decision before any code. Done would be a question over 1,000+ tables finishing with no single model output above 2k tokens.
由索引模型根据 Issue 内容生成。
描述
Problem
A warehouse with one table per entity (2,753 tables) has no tool-supported way to query across a set of tables. Every route that would let the engine iterate over a table list is rejected or classified as a write, so the model generates the full UNION ALL text itself and re-types it into sql_execute.
Mechanism
- DuckDB
query_table([...])rejects subqueries and lateral arguments ("Table function cannot contain subqueries" 36 times, "does not support lateral join column" 34, "Invalid named parameter" 12). An engine limit. - The statements that work around it (
SET max_expression_depthwhich DuckDB's own error recommends,SET VARIABLE+query_table(getvariable(...)),EXECUTE IMMEDIATE,CREATE TEMP MACRO ... AS TABLE) are denied as writes (packages/opencode/src/altimate/tools/sql-classify.ts:27,:226-235;sql-execute.ts:113-121). - The model builds the text with
string_agg; the single huge result cell is clipped in the preview (sql-result-format.ts:40,:178,:342), so it reads the spill file viabash/readand re-types the SQL (output tokens).
Evidence
- 33 of 44 preview truncations are generated SQL.
- Median output tokens per session on the affected question: 42,355 (Claude Opus) and 23,545 (gpt-5.6-sol), against 362-3,404 on other questions on the same warehouse.
- 246-675 s and $5.98-$10.87 per Opus session, the 8 costliest of a 270-session batch; $58.2 of $307.9 (19%) for the two affected questions; context up to 144k tokens; one session used 675 of an 840 s budget; gpt-5.6-sol sessions ran 621-851 s and contributed to budget misses.
- Generations of 15-25k tokens took 100-160 s each.
Impact
Time and cost, with budget risk. No incorrect answers caused directly in Opus sessions.
Proposed fix
Pick one or more:
- A table-set primitive on
sql_materialize/sql_execute(for exampletables: "A*"or a list obtained from a scratch query) that expandsUNION ALL BY NAMEserver-side. - Allow session-local non-writing settings (
SET max_expression_depth,threads,memory_limit) on read-only connections, andCREATE [TEMP] MACROin scratch. - A
query_from: {warehouse, sql}option that classifies the generated text before running it.
Acceptance check
A question over 1,000+ tables completes without any single model output above 2k tokens; median output tokens and cost drop by at least 5x on the affected workload.
- 主要语言
- TypeScript
- 星标
- 810
- 派生
- 121
- 平均合并
- 1 天 12 小时
- 30 天内合并 PR
- 94
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
AltimateAI/altimate-code 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
AltimateAI/altimate-code#1454 ·
维护者通常 1 天内回复
-
test: MCP tests fail when the developer's ~/.claude.json has MCP servers (HOME is not sandboxed)未关闭
难度 2/5 1-3 小时 新手友好度 78/100
AltimateAI/altimate-code#1386 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 84/100
AltimateAI/altimate-code#1384 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 84/100
AltimateAI/altimate-code#1323 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 86/100
AltimateAI/altimate-code#1288 ·
维护者通常 1 天内回复
查看 AltimateAI/altimate-code 的全部 Issue
相似的 Issue
-
enhancement
难度 2/5 1-3 小时 新手友好度 68/100
equinor/prisma-decision-web#919 ·
维护者通常 1 天内回复
-
[DC] OneLogin sync imports a partial user list when an API request fails可能已有人在做 @RaphaelFakhri 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 84/100
bitwarden/directory-connector#1276 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 62/100
home-assistant/installer#324 ·
维护者通常 1 天内回复
-
Mondriaan
难度 2/5 1-3 小时 新手友好度 65/100
knaw-huc/textannoviz#733 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复