杠精派
派聪明
0/512

热门评论

Coos 2026年06月03日 22:32
引用原文:HITL
@派聪明 这个是什么全称叫什么
点赞
回复1 取消回复
派聪明 2026年06月03日 22:33
“HITL” 的全称是 **Human-in-the-Loop**,中文意思是**“人工审批介入”**或“人在回路中”。 在 AI Agent 系统中,它的核心作用是**安全兜底**。因为 AI 在执行任务时可能会出现理解偏差或幻觉,如果把删除文件、执行系统命令等危险权限完全交给 AI,会有很大风险。 因此,HITL 机制要求 AI 在执行危险操作之前先暂停下来,让人类过目并确认。只有得到人类的批准,AI 才能继续执行,从而把好最后一道安全关卡。
点赞
回复 取消回复

6 条评论

etovo 2026年07月08日 16:16
引用原文: Mock
@派聪明 Mock是什么
点赞
回复1 取消回复
派聪明 2026年07月08日 16:16
根据你引用的文章内容,**Mock**(通常指 **Mockito** 框架)是 Java 单元测试中用于**模拟对象**的工具。 简单来说,当你要测试某个类时,它可能依赖数据库、外部 API 或文件系统等真实组件。如果每次都把这些真实组件拉起来,测试会很慢、不稳定,而且难以控制。Mock 的作用就是**创建一个假的替代品**,让你能: - **控制行为**:指定某个方法调用时返回什么值(`when(mock.method()).thenReturn(xxx)`) - **验证调用**:检查某个方法是否被调用了、调了几次、传了什么参数(`verify(mock, times(1)).method(...)`) 在文章中的 HITL 测试代码里,Mockito 被用来模拟 `HitlHandler` 接口,避免真实依赖终端输入输出,使得测试可以快速、可靠地运行: ```java HitlHandler mockHandler = mock(HitlHandler.class); // 创建 mock when(mockHandler.isEnabled()).thenReturn(true); // 控制行为 verify(mockHandler, never()).requestApproval(any()); // 验证调用 ``` **一句话总结**:Mock 是测试中的"替身演员",帮你隔离外部依赖,只专注测试目标逻辑本身。
点赞
回复 取消回复
Lee 2026年07月02日 09:20
引用原文:定义如下
@派聪明 ApprovalRequest中的callerContext是什么?怎么来的?
1
回复1 取消回复
派聪明 2026年07月02日 09:20
从你截取的那段代码可以清晰看到 **`callerContext` 是 `ApprovalRequest` record 中的一个预留字段**,但**当前实现中并没有给它赋值**。 具体来看源码: ```java public record ApprovalRequest( String toolName, String arguments, String dangerLevel, String riskDescription, String suggestion, String callerContext // ← 这个字段 ) { public static ApprovalRequest of(String toolName, String arguments, String suggestion) { return new ApprovalRequest( toolName, arguments, ApprovalPolicy.getDangerLevel(toolName), ApprovalPolicy.getRiskDescription(toolName), suggestion, null // ← 这里直接传了 null ); } } ``` --- ### 它是干什么的? 从命名推断——**`callerContext` = "调用者上下文"**。它的设计意图是记录**这次审批请求是由谁发起的**,比如: - 在 **Multi-Agent** 模式下,是 `SubAgentA` 还是 `SubAgentB` 调的危险操作? - 在 **Plan-and-Execute** 模式下,是哪个 Step 的哪个工具调用? 有了这个信息,审批框里就能告诉用户**"哪个 Agent、在哪一步、想干什么"**,帮助用户更精准地判断是否放行。 ### 为什么目前传 `null`? 因为文章介绍的 HITL 还是 **V1 版本**,最基础的能力是先跑通“拦截→展示→决策”这个闭环。文章中明确说了: > `toDisplayText()` 方法展示的信息已经包含了工具名、等级、风险描述、参数,在当前单 Agent 场景下足够用。 `callerContext` 属于**扩展预留字段**,为后续 Multi-Agent 下精细化审批做准备——等后面需要区分“谁调的”时,直接在这个字段里塞入 Agent ID + 步骤名即可,record 结构不用改。
点赞
回复 取消回复
Coos 2026年06月03日 22:32
引用原文:HITL
@派聪明 这个是什么全称叫什么
点赞
回复1 取消回复
派聪明 2026年06月03日 22:33
“HITL” 的全称是 **Human-in-the-Loop**,中文意思是**“人工审批介入”**或“人在回路中”。 在 AI Agent 系统中,它的核心作用是**安全兜底**。因为 AI 在执行任务时可能会出现理解偏差或幻觉,如果把删除文件、执行系统命令等危险权限完全交给 AI,会有很大风险。 因此,HITL 机制要求 AI 在执行危险操作之前先暂停下来,让人类过目并确认。只有得到人类的批准,AI 才能继续执行,从而把好最后一道安全关卡。
点赞
回复 取消回复

目录