公司动态
Maka Agent Ask User Question功能详解:AI如何与你就关键决策确认
Maka Agent Ask User Question功能详解AI如何与你就关键决策确认【免费下载链接】makaApache Maka (Incubating) is a local-first AI agent workspace. Model messages, tool calls, tool results, permission decisions, and termination events are recorded as an append-only log.项目地址: https://gitcode.com/GitHub_Trending/mak/makaApache MakaIncubating本地优先的 AI Agent 工作区内置了一个精巧的交互机制——AskUserQuestion 功能。当 Agent 在执行任务遇到关键决策点时它不会拍脑袋替你选择而是暂停下来向你抛出 1~3 道限定选项的选择题只有你确认后它才继续执行。本文将带你完整看懂 AI 如何与你就关键决策确认触发规则、界面体验、背后的暂停/恢复机制以及适合新手快速上手的操作要点。一、为什么 AI Agent 需要反问你大多数 Agent 工具写代码、跑命令、改配置都是单向的你说需求它埋头干完。但这带来两类典型问题决策不可逆比如删掉这个文件目录用测试库还是生产库——选错了代价很高需求有歧义模型有把握时它该直接做没把握时却硬着头皮猜结果跑偏一整轮。Maka 的AskUserQuestion正是为此设计模型在工具调用中主动举手提问把关键决策交还给人。一句话概括——该你拍板的事AI 一定会先问你。二、30秒上手AI向你提问时的完整体验 ️在 Maka 桌面端发起一次任务例如让它帮你做一次发布准备当模型判断存在必须确认的决策点时对话输入框区域会被一个问题面板接管体验分为三步步骤你看到的内容说明1️⃣ 提问问题标题 进度计数如1 / 3一次最多 3 个问题逐题作答2️⃣ 选择2~3 个选项单选每个选项可带说明文字也可选其他并输入自定义答案3️⃣ 继续提交后 Agent 立刻拿到答案继续本轮任务答案会写入会话日志全程可追溯举个例子来自官方示例 apps/desktop/stories/ask-user-question.stories.tsx 中的场景首批发布范围选哪个→ 仅邀请用户 / 公开测试 / 正式发布上线时间怎么安排→ 本周 / 下周是否同步发布公告→ 是 / 否逐题作答、进度清晰比一屏堆满所有问题更不容易出错。界面组件实现在 packages/ui/src/user-question-prompt.tsx。三、规则详解哪些情况 AI 会停下问你AskUserQuestion 工具的定义在 packages/runtime/src/ask-user-question-tool.ts规则非常克制最多 3 个问题questions数组 1~3 项防止模型把提问当聊天用每题 2~3 个选项必须是有边界的选择题不是开放问答答案必填才能继续这些问题是继续当前回合所必需的开放性问题走普通回复工具描述明确要求开放式的后续追问应该用普通文本而不是硬塞进选择题。这个设计的好处是模型不会用选择题形式跟你闲聊每一道题都是真正的决策卡点。四、幕后机制一次暂停—提问—恢复是如何发生的 从工程角度看AskUserQuestion 是 Maka 事件驱动架构的一次完整体现Maka 的所有模型消息、工具调用、权限决定都以追加日志形式记录模型调用工具本轮对话中模型调用AskUserQuestion并带上问题与选项运行时代入停车场运行时的工具循环将该工具调用挂起park生成唯一的requestId随后向会话事件流推入一条user_question_request事件——这就是界面上问题面板出现的原因你作答提交后答案按顺序回填运行时推入user_question_answer_ack确认事件被挂起的工具调用拿到答案模型继续推理可中断、可恢复若你在作答前停止任务挂起的问题会被正确拒绝并关闭回合不会留下僵尸状态在托管运行模式下提问还要经过交互权限的准入检查见 packages/runtime/src/interaction-authority.ts。核心挂起/恢复逻辑位于 packages/runtime/src/tool-runtime.ts 的askUserQuestion私有方法中数据模型问题、选项、请求、响应定义在 packages/core/src/user-question.ts简洁到只有几十个字段。五、新手常见疑问 FAQ Q1AI 是不是每一步都会来问我不会。只有模型判断继续执行前必须获得确认的关键决策点才会触发提问普通步骤照常自动完成不会打断你的节奏。Q2选项都不合适怎么办可以选择其他并输入自定义答案答案会以字符串形式返回给模型模型按你的输入继续。Q3提问记录和日志是什么关系提问user_question_request与回答确认user_question_answer_ack都会进入会话的追加式事件日志事后可完整复盘AI 当时问了什么、你答了什么——这也是 Maka 本地优先、全量留痕理念的体现。Q4这个功能在哪里可以看/改工具定义packages/runtime/src/ask-user-question-tool.ts暂停与恢复packages/runtime/src/tool-runtime.ts界面组件packages/ui/src/user-question-prompt.tsx交互示例Storyapps/desktop/stories/ask-user-question.stories.tsx六、小结Maka 的AskUserQuestion 功能用一个简单到极致的契约——最多 3 道选择题答完再继续——解决了 AI Agent 最棘手的信任问题关键决策永远由人拍板但决策成本被压缩到一次点击。配合本地优先的追加日志与完整的暂停/恢复机制你可以放心地把长任务交给 Agent该自动的它自动跑该你确认的它一定停下来问。如果你正在寻找一个既聪明又守规矩的本地 AI 工作区Maka 的这套人机协作设计值得一看。【免费下载链接】makaApache Maka (Incubating) is a local-first AI agent workspace. Model messages, tool calls, tool results, permission decisions, and termination events are recorded as an append-only log.项目地址: https://gitcode.com/GitHub_Trending/mak/maka创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考