设计Agent 生成代码的 Lint 规则体系,理解 Hook 机制
上一章我们建立了一个关键认知:Rules 文件是概率性的约束——Agent "大概率"会遵守,但不保证。当你告诉 Agent “不要硬编码 API Key”,它在 99 次调用中可能都遵守了,但第 100 次可能因为上下文过长或注意力分散而忽略这条规则。在 In the Loop 模式中,人类审查是最后的安全网。但在 On the Loop 模式中,我们不希望依赖人类审查——我们希望有一个确定性的机制来自动拦截违规代码。这就是Hook的价值所在。Hook 是挂载在 Agent 生命周期事件上的确定性脚本——当 Agent 试图执行某个操作时,Hook 脚本会被触发,如果检查不通过,操作会被直接阻止,Agent 无法跳过。“Hooks guarantee execution; prompts do not.”—— blakecrosley.com, Agent Architecture Guide核心概念传统 Lint 与 Agent Lint 的区别传统的 Lint 工具(ESLint、Pylint、golangci-lint)是为人类开发者设计的——它们检查代码风格、潜在 Bug、未使用的变量等。当代码不合规时,Lint 会给出警告,但开发者可以选择忽略。Agent Lint 需要解决一类不同的问题:维度传统 LintAgent Lint检查对象人类写的代码AI 生成的代码关注重点代码风格、最佳实践安全、权限、架构边界执行方式开发者手动运行或 CI每次操作自动触发,不可跳过失败处理警告或错误exit code 2 直接阻止操作检查时机代码写完后代码写之前(PreToolUse)和写之后(PostToolUse)Agent Lint 的核心差异在于执行时机和不可跳过性:PreToolUse:在 Agent 执行工具(如 Bash、Write)之前检查——可以在代码生成之前就拦截危险操作不可跳过:exit code 2 会直接阻止操作,Agent 没有办法绕过Hook 架构:Agent 生命周期的 12+ 个事件Claude Code 定义了一组完整的生命周期事件,每个事件都可以挂载 Hook:Hook 事件触发时机能否阻止?最佳用途SessionStart会话开始否加载上下文、设置环境变量UserPromptSubmit用户发送消息是上下文注入、输入验证PreToolUse工具执行之前是安全阻止、自动审批PermissionRequest权限对话框出现是自动审批/拒绝PostToolUse工具成功执行后否*自动格式化、Lint、日志PostToolUseFailure工具执行失败后否错误处理SubagentStart子 Agent 启动否子 Agent 初始化SubagentStop子 Agent 结束是子 Agent 验证StopAgent 完成响应是任务完成验证PreCompact上下文压缩前否会话记录备份Setup–init/–maintenance否一次性设置SessionEnd会话结束否清理、日志记录*PostToolUse 可以向 Agent 提供反馈,但无法撤销已执行的操作。最核心的两个 Hook 是PreToolUse和PostToolUse:PreToolUse:在 Agent 执行操作之前运行检查脚本。如果脚本返回 exit code 2,操作被阻止,stderr 的内容会发送给 Agent 作为反馈。PostToolUse:在 Agent 成功执行操作之后运行处理脚本。常用于自动格式化、Lint 检查、审计日志。Exit Code:控制机制Hook 通过 exit code 与 Harness 运行时通信:Exit Code含义行为0成功Hook 正常运行,stdout 被处理2阻止操作被停止,stderr 发送给 Agent其他错误stderr 展示给用户,执行继续Exit code 2 是你的核心武器。一个返回 exit code 2 的 PreToolUse Hook 可以阻止任何危险操作。一个返回 exit code 2 的 Stop Hook 可以强制 Agent 继续工作。原理剖析Hook 配置结构Hook 在.claude/settings.json中配置:{"hooks":{"PreToolUse"

相关新闻

产业CVC在选择投资业务管理系统时,有哪些核心考量因素?(产业CVC投资管理系统选型指南2026)

产业CVC在选择投资业务管理系统时,有哪些核心考量因素?(产业CVC投资管理系统选型指南2026)

在硬科技、新能源、半导体等产业赛道加速发展的当下,产业 CVC(企业风险投资) 已然成为链接产业资源、孵化创新技术、完善产业链布局的核心载体。与传统 PE/VC 侧重财务回报不同,产业 CVC 兼具战略协同、产业赋能、财务收益三重目标…

2026/6/25 2:56:12阅读更多 →
阿里云国际代理商:阿里云CPFS通用版容量监控全攻略

阿里云国际代理商:阿里云CPFS通用版容量监控全攻略

一、为什么要盯紧 CPFS 容量监控?CPFS 作为 AI 训练 / HPC / 大数据场景的核心存储,容量监控是保障业务连续性的关键:避免存储耗尽:防止空间不足导致任务中断实时掌控文件配额:规避文件数超限影响写入精细化管理资源&a…

2026/6/25 3:25:46阅读更多 →
如何快速掌握JupyterLab Desktop:数据科学桌面工具的完整指南

如何快速掌握JupyterLab Desktop:数据科学桌面工具的完整指南

如何快速掌握JupyterLab Desktop:数据科学桌面工具的完整指南 【免费下载链接】jupyterlab-desktop JupyterLab desktop application, based on Electron. 项目地址: https://gitcode.com/gh_mirrors/ju/jupyterlab-desktop 你是否厌倦了在浏览器中管理多个J…

2026/6/25 3:21:47阅读更多 →
号码认证哪家好?关键指标与权威平台推荐

号码认证哪家好?关键指标与权威平台推荐

在信息爆炸的时代,陌生来电让我们不胜其扰。是重要客户的来电,还是骚扰诈骗电话?这时,号码认证服务就显得至关重要。它如同一张“数字名片”,在来电瞬间显示企业名称、logo甚至来电原因,极大提升了沟通效率…

2026/6/25 21:06:34阅读更多 →
生产级ML模型部署:从Notebook到稳定推理服务

生产级ML模型部署:从Notebook到稳定推理服务

1. 项目概述:这不是“跑通模型”,而是让模型在真实世界里活下来“From Notebook to Production: Running ML in the Real World (Part 4)”——这个标题本身就像一句暗号,懂的人一眼就明白:前面三篇已经蹚过了数据清洗、特征工程、…

2026/6/25 21:06:34阅读更多 →
如何将 iPad 同步至新电脑,且不丢失原有数据?

如何将 iPad 同步至新电脑,且不丢失原有数据?

当你更换新电脑后,往往需要将 iPad 与新设备完成同步;尤其是此前 iPad 长期绑定旧电脑同步的用户,操作起来会十分棘手。如果设备里存储了大量重要资料,大家都会担心同步过程中数据丢失。本文整理了多种安全方案,教你无…

2026/6/25 21:06:34阅读更多 →
Sqribble深度解析:模板驱动的文档操作系统架构

Sqribble深度解析:模板驱动的文档操作系统架构

1. 项目概述:当模板不再是“套壳”,而是一套可执行的文档操作系统你有没有过这种体验:手头有一篇写得不错的行业分析,想快速变成一份体面的PDF报告发给客户;或者刚录完一期播客,想把文字稿整理成带封面、目…

2026/6/25 21:06:34阅读更多 →
国茂减速机传动轴故障全解析:键槽磨损、轴弯曲、轴颈划伤维修指南

国茂减速机传动轴故障全解析:键槽磨损、轴弯曲、轴颈划伤维修指南

减速机传动轴失效类型与维修替换技术规范 传动轴串联齿轮、轴承、油封三大部件,单一部件损坏都会连带损伤传动轴,国茂机型传动轴常见三类失效: 键槽磨损:联轴器长期冲击负载,键槽侧壁压溃,扭矩传递打滑&…

2026/6/25 21:06:33阅读更多 →
在线免费SSL证书申请工具

在线免费SSL证书申请工具

一款理想的在线免费SSL证书申请工具 我考虑以下几个核心特质: 1.完全零门槛操作(无需安装本地客户端或熟悉命令行) 2.支持多种域名验证方式(如:HTTP验证 即文件上传、DNS解析等) 3.证书格式支持各种服务器中…

2026/6/25 21:01:33阅读更多 →
【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体 一文搞定到底什么是智能体【人工智能】一文搞定到底什么是智能体一. LM,WorkFlow,Agent分别有什么么不同二. Agent的思考过程是怎样的三. Agent的五个核心部分1)LLM2)Prompt3)Me…

2026/6/25 9:39:54阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…

2026/6/25 2:52:24阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

Google AI Studio 300美元额度的真相与实战指南

1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…

2026/6/25 9:01:34阅读更多 →
面试辅助工具横评:我试了5款AI面试工具,最后留下了OfferGo

面试辅助工具横评:我试了5款AI面试工具,最后留下了OfferGo

上半年跳槽,面了十几家公司。说句实话,不是能力不行,是面试现场太容易崩了。 明明准备了一周,面试官换个问法脑子就一片白。面完之后那个懊悔——其实我会的。 后来开始试市面上的AI面试辅助工具。前前后后装了5款,踩…

2026/6/25 11:52:11阅读更多 →
Claude Code 提示词设计:从塑造“人格”到建立“状态机”

Claude Code 提示词设计:从塑造“人格”到建立“状态机”

当前 AI Agent 设计的核心痛点在于:大模型不缺写代码的能力,缺的是克制力、边界感和验证逻辑。Prompt 不再是用来塑造“人格”的,而是用来建立“状态机(State Machine)”和“行为门禁(Guardrails&#xff0…

2026/6/25 11:52:11阅读更多 →
MC-037 | 自定义 Skill 开发:创建你的AI能力模块

MC-037 | 自定义 Skill 开发:创建你的AI能力模块

MONKEYCODE 教程系列 MonkeyCode教程及推广系列 MC-037 自定义 Skill 开发:创建你的AI能力模块 >官网链接注册更放心哦https://monkeycode-ai.com/?ic019e0aed-c823-783c-b08a-4f030f891e4e 系列: 不爱土豆唯爱马铃薯 MonkeyCode 教程系列 字数: 约 1400 字…

2026/6/25 11:52:11阅读更多 →