@jakevin7: Maka 的 Harness 工程让 DeepSeek Flash 的测试集效果接近了 GLM-5.2 的水平 ----------------------------------- maka + DeepSeek Flash V4,te…
摘要
Maka的Harness工程通过改进self-check机制,使DeepSeek Flash V4在terminal-bench样本集上达到接近GLM-5.2的评测效果,仅用4元人民币和97.5%的缓存命中率完成10道编程Agent任务。
查看缓存全文
缓存时间: 2026/07/03 06:30
Maka 的 Harness 工程让 DeepSeek Flash 的测试集效果接近了 GLM-5.2 的水平
maka + DeepSeek Flash V4,terminal-bench sample 打出 0.8 分。
实际接近 0.9——有道题其实做对了,只是“产物污染“没被评分系统算上。
已经快赶上了 GLM 5.2 的评测效果了。
terminal-bench sample 是 terminal-bench 完整 84 题集的样本子集,共 10 道编程 Agent 任务。
这次跑下来:
总 token 消耗:6000 万,其中 cache 命中:5850 万(97.5% 命中率)。全程花费:约 4 元 RMB。10 道题,4 块钱,接近满分。
这是 DeepSeek Flash 变强了吗?
不是。用的就是 DeepSeek Flash V4,同样的模型。
让分数从 baseline 跳到 0.8 的,是对 agent loop 里 self-check 机制的两轮迭代——借鉴了 Claude Code 的 self-check 实现,加强了模型在完成任务后的自我验证逻辑。
两轮迭代之后,Flash 在 terminal benchmark 上突然“悟道“了。
这说明什么:模型的能力有上限,但 harness 的工程质量能大幅影响模型在特定任务上表现的上限。self-check 不是魔法,只是让模型在“提交答案之前自己先验一遍“。这一步,让 DeepSeek Flash 打出了接近 GLM-5.2 的水平。
为什么 97.5% 的 cache 命中率是关键
terminal-bench 是长程任务,每道题要跑几十个 tool call,上下文累积到几百万 token。
maka 的上下文管理在这里发挥了作用:
前缀保持稳定,DeepSeek cache 大量命中 6000 万 token 里,5850 万是 cache token,只有 150 万需要全量计算 所以 10 道难题只花了 4 块钱,而不是几十元 这也是为什么用 maka 跑 DeepSeek Flash 比直接用 reasonix 更经济——maka 把 DeepSeek 的 cache 机制发挥到了极致。
下一步目标是跑完整的 84 题 terminal-bench。
把 Flash 搞得这么强,不是模型的功劳,是 harness 工程的功劳。
maka-agent/maka-agent
Source: https://github.com/maka-agent/maka-agent
Maka
Maka 是一个本地优先的桌面 AI 工作台。它把模型连接、会话、工具权限、文件读写、终端执行、搜索、机器人入口和运行恢复放在一个 Electron 应用里,目标是让用户在自己的电脑上跑一个可观察、可控、可持续恢复的 agent。
这个仓库还在活跃开发中。README 先服务两类人:
- 第一次打开 Maka 的用户:知道为什么要先配置 AI、数据放在哪里、哪些能力已经可用。
- 继续开发 Maka 的工程师:能快速启动、验证、定位关键包和设计文档。
你会看到什么
首次进入 Maka 时,如果还没有可用模型连接,首屏会引导你完成 AI 配置,而不是直接给一个不能发送的空聊天框。推荐路径是:
- 打开
设置 -> 模型。 - 选择一个真实模型供应商,填写 API key 或完成已接入的账号登录。
- 测试连接并选择默认模型。
- 回到首屏,用快速输入开始第一条对话。
已接入的模型类型包括:
- 海外 API:Anthropic、OpenAI、Google Gemini。
- 国内 API:DeepSeek、Moonshot、Z.AI Coding Plan、Kimi Coding Plan。
- 本地模型:Ollama。
- 自定义网关:OpenAI Compatible endpoint。
- 账号订阅入口:Claude Subscription、Codex Subscription、Gemini CLI 等仍按实验/可用状态分开呈现,未接入发送链路的入口不会伪装成可用。
当前能力
Maka 当前不是简单 chat demo,已经有这些核心面:
- 桌面会话:创建、切换、归档、搜索、重命名、停止、重试、重新生成、从 turn 分支。
- 模型运行时:基于 Vercel AI SDK 的 provider runtime,支持模型流式输出、工具调用、usage 记录、错误分类和启动恢复。
- 本地工具:
Read、Write、Edit、Bash、Glob、Grep,写文件和命令执行走权限策略。 - 首跑引导:根据真实连接状态展示“补配置 / 选默认连接 / 选默认模型 / 开始对话”的不同状态。
- 设置中心:模型、账号、使用统计、每日回顾、本地记忆、语音模型、开放网关、机器人对话、联网搜索、网络代理、权限与能力、健康状态、数据与关于。
- 本地记忆:
MEMORY.md管理、手动添加、归档/恢复、agent 读取开关。 - 联网搜索:Tavily 凭据配置、测试和 agent tool 边界。
- 机器人入口:Telegram、飞书、企业微信、微信 iLink、Discord、钉钉、QQ 的配置/测试/运行状态框架。
- 开放网关:本地 HTTP/SSE API,用 token 保护外部读取会话状态、事件、能力和健康摘要。
- Office 文档工作流:通过本地
officecli探测后启用读取、校验和按次授权编辑。 - 运行内核:
AgentRunledger、RuntimeEventread model、ToolRuntime、ModelAdapter、RunTrace和恢复逻辑。
本地与隐私边界
Maka 默认把工作数据放在 Electron userData 下的工作区目录:
<Electron userData>/workspaces/default/
llm-connections.json
credentials.json
settings.json
sessions/
重要边界:
- Provider 连接元数据和 session JSONL 在本地文件系统。
- Provider/API key、bot token、proxy password、gateway token、Tavily key 等运行凭据写入本地
credentials.json;当前格式是 file-first plaintext JSON,依赖 OS 账号边界,并在 POSIX 上强制目录0700、文件0600。 - Claude、Codex、Cursor、Antigravity 等 subscription OAuth token 使用各自独立的 Electron
safeStorage存储路径;safeStorage不可用时这些 token store 会 fail closed。 - Renderer 不直接拿明文密钥;Settings 只显示 masked 状态和测试结果。
- 文件读写、shell、危险操作需要经过 permission engine。
- Incognito / privacy context、memory、voice、workspace instructions 等能力有单独 contract 文档约束。
快速开始
仓库使用 npm workspaces。虽然存在 pnpm-workspace.yaml,当前脚本和 lockfile 以 npm 为准。
npm install
npm run dev
npm run dev 会先 build 全部 workspace,再启动 Electron desktop app。
如果安装依赖时设置过 ELECTRON_SKIP_BINARY_DOWNLOAD=1,启动前需要补 Electron 平台二进制:
node node_modules/electron/install.js
常用开发命令:
npm run build
npm run typecheck
npm --workspace @maka/desktop run test
npm --workspace @maka/runtime run test
npm --workspace @maka/core run test
桌面视觉和真实窗口验证:
npm --workspace @maka/desktop run screenshots
npm --workspace @maka/desktop run screenshots:diff:stable
npm --workspace @maka/desktop run smoke:real-window
Release 前的基础检查:
npm run check:release
可选环境变量
这些变量只影响本地开发或特定能力:
| 变量 | 用途 |
|---|---|
ANTHROPIC_API_KEY | 首次启动时可用来 bootstrap Anthropic 连接。 |
OPENAI_API_KEY | 首次启动时可用来 bootstrap OpenAI 连接。 |
TAVILY_API_KEY / MAKA_TAVILY_API_KEY | 联网搜索的 Tavily 凭据来源。 |
MAKA_RIVE_BIN / RIVE_BIN | 指定 Rive workflow 使用的 rive CLI。 |
MAKA_VISUAL_SMOKE_FIXTURE | 启用确定性视觉 fixture,仅限 dev/test build。 |
项目结构
apps/desktop/
src/main/ Electron main process, IPC, settings, OAuth, bot, gateway
src/preload/ window.maka preload bridge
src/renderer/ React desktop UI and Settings surfaces
packages/core/ Pure contracts: sessions, events, settings, permissions, model connections
packages/storage/ File-backed session, settings, connection, run-ledger stores
packages/runtime/ SessionManager, AgentRun, AI SDK runtime, tools, bots, telemetry
packages/ui/ Shared rendering components, markdown, artifacts, redaction helpers
docs/ Product, runtime, design-system, privacy and test-plan contracts
scripts/ Build hygiene, screenshot, smoke and release helpers
Runtime 架构
当前 runtime 已从单一大流程拆成更清楚的内核边界:
SessionManager
-> AgentRun
-> AiSdkBackend
-> ModelAdapter
-> ToolRuntime
-> RunTrace
-> AgentRunStore
关键原则:
SessionManager仍是对桌面、bot、gateway 暴露的公共 runtime API。AgentRun负责单次 turn 的 durable run 事实和启动恢复。ToolRuntime负责工具输入校验、权限、watchdog、abort、telemetry、artifact candidate 和错误分类。ModelAdapter隔离 provider stream / error / usage normalization。RunTrace是 best-effort,不允许因为 trace 写失败影响用户对话。
更多细节见:
docs/runtime-kernel.mddocs/runtime-v2-architecture-evolution.mddocs/runtime-v2-implementation-notes.md
UI 与产品质量契约
Maka 的 UI 不是随手堆页面,已有单独的设计系统和测试计划:
docs/design-system.md:颜色、密度、状态、动效、Settings IA、copy 和 a11y 契约。docs/ui-quality-plan.md:真实窗口、视觉截图、交互状态、回归验证策略。docs/full-product-test-plan.md:从首跑、设置、会话、工具、搜索、bot、gateway 到失败路径的完整 QA 路线。
改 UI 时不要只跑 TypeScript。至少要配套:
- 对应 surface 的 node:test contract。
check-console/check-a11y通过。- 必要时补视觉 fixture 或真实窗口 smoke。
贡献前检查
常规代码改动建议至少跑:
npm run typecheck --workspaces --if-present
npm run build
git diff --check
涉及 desktop renderer / Settings / IPC 的改动,再跑对应 focused suite,例如:
npm --workspace @maka/desktop run test -- settings-form-a11y-contract visible-copy-hygiene-contract
涉及 runtime / storage 的改动,再跑对应 workspace 测试:
npm --workspace @maka/runtime run test
npm --workspace @maka/storage run test
相关文档
CHANGELOG.md:当前未发布变更摘要。SECURITY.md:安全边界和报告方式。docs/workspace-privacy-context.md:工作区隐私上下文。docs/search-service-threat-model.md:搜索服务威胁模型。docs/memory-threat-model.md:本地记忆威胁模型。docs/voice-threat-model.md:语音能力边界。docs/maka-capability-audit-v1.md:能力成熟度审计和后续路线。
相似文章
@jakevin7: DeepSeek cache hit 命中率 95%,舒服了。 Maka 在最新一轮的长程任务 Deepseek 模型下的表现太出色了。 全跑完接近 18 小时,接近 4 亿 token,33块消耗。 Make builder 们太给力了…
DeepSeek cache hit 高达95%,Maka 桌面AI工作台在长程任务中表现出色,支持多种模型和工具,开源且本地优先。
@jakevin7: 越来越觉得 Maka 很适合用来学习 Agent。 比如最近一个maka core dev提了 issue 在讨论 DeepSeek 的缓存优化。 全过程透明:1 个 issue + 8 个 PR 一路推上来,从 usage 归一化 → …
一篇介绍 Maka 桌面 AI 工作台的推文和项目说明,探讨了 Agent 开发中的缓存优化、运行时工程问题,以及 Maka 作为本地优先工具的功能架构。
@jakevin7: Maka 这两天密集冲刺,最值得关注的东西出来了。 Autonomous Task Loop v1 上线。 之前 maka 跑一次 agent 就结束。现在是一个持久化循环: preflight → runtime → SelfCheck…
Maka 发布 Autonomous Task Loop v1,实现了 agent 的持久化循环:preflight → runtime → SelfCheck → FeedbackObservation → Decision,支持自我检查、预算控制和状态恢复,使 Maka 桌面 AI 工作台具备了运行持续任务的基础能力。
@geekbb: MCP 工具,把 Codex 的低风险活甩给 DeepSeek 干,贵的模型只做判断。五任务测试平均省 48%,延迟 6 秒左右。 CodexSaver 一个 MCP 工具,把 Codex 编码会话中的低风险任务(写测试、写文档、代码解释…
CodexSaver is an MCP tool that offloads low-risk coding tasks (tests, docs, lint fixes) from Codex to a cheaper model like DeepSeek, achieving ~48% cost savings with ~6s latency.
@jakevin7: 分享一下maka 最近在做一件很有意思的事:让 agent 自动优化自己的 system prompt,完全闭环,不需要任何人工介入。Karpathy 的 autoresearch、AEGIS 等都做过类似方向,一个有目标的自我强化学习系…
Maka是一个本地优先的桌面AI工作台,其新功能让agent自动优化自己的system prompt,通过生成变体、容器评测和acceptance policy迭代改进,无需人工介入。