- 博客(13)
- 收藏
- 关注
原创 Agent 重启后,任务依赖怎样继续生效
本文介绍了Claude Code系列第12篇中的任务系统机制,解决了待办列表无法处理跨会话任务依赖的问题。系统通过在工作目录创建.tasks文件夹存储任务JSON文件,记录任务状态、负责人和依赖关系。关键机制包括:1) 任务状态流转(待开始→进行中→已完成);2) 依赖检查确保前置条件满足;3) 任务完成自动解锁下游任务。文章指出当前教学实现尚缺并发控制、中断恢复和依赖环检测等功能,但已建立任务持久化基础,使Agent能可靠地恢复项目进度。后续将优化长时间任务的异步执行。
2026-07-31 23:59:30
539
原创 Agent 请求失败后,别再疯狂点击重新生成了
本文介绍了Agent在任务执行过程中处理三种常见错误(输出截断、上下文过长、接口过载)的恢复机制。当模型输出被截断时,程序会先扩大输出空间而非直接保存半截内容;上下文过长则触发紧急压缩,仅保留最近5条消息;接口过载时采用指数退避策略重试。文章指出当前教学代码存在备用模型切换失效等实现缺口,并对比了应急恢复与常规压缩的差异。这些机制通过针对性调整输出空间、消息历史或请求节奏,使Agent能在部分可恢复错误中继续任务,但需注意恢复逻辑本身也需要充分测试。
2026-07-31 23:58:28
621
原创 系统提示词越写越长,Agent 的说明书该怎么拆?
本文是《从零理解 Claude Code》系列第10篇,探讨了Agent系统提示词的设计优化。当系统功能逐渐增多时,传统的单行提示词会变得难以维护。作者提出将提示词按主题拆分为身份、工具、工作目录和记忆等区块,在每轮调用前根据运行状态动态组装。这种分层设计解决了固定文本修改困难的问题,同时支持记忆等动态内容的按需加载。文章还分析了提示词缓存机制、区块间潜在冲突等实现细节,并指出下一步将处理模型调用失败等异常场景。该方案为后续复杂系统的提示词管理提供了清晰的实现路径。
2026-07-30 23:53:59
425
原创 压缩完上下文后,Agent 怎么还记得你的开发习惯
本文介绍了Claude代码项目中Memory机制的实现,用于跨任务保存关键信息。Memory分为用户偏好、反馈意见、项目背景和参考线索四类,存储在.memory/目录下的独立Markdown文件中,并通过MEMORY.md目录索引。Agent通过轻量模型调用选择相关记忆加载,每次最多读取5条。记忆提取发生在消息压缩前,以保留原始完整信息。当记忆文件达到10条时会触发合并整理,但存在信息失真的风险。该机制适合保存工作偏好和稳定项目背景,高风险信息仍需版本控制。测试显示记忆能跨会话保留并影响后续任务执行。下篇将
2026-07-30 23:53:01
685
原创 Agent 读了 30 个文件之后,为什么会突然停住?
本文探讨了AI代理在处理长任务时面临的上下文超限问题及其解决方案。当代理执行读取文件、运行测试等操作时,历史消息会积累大量工具结果,导致后续调用因上下文过长而失败。文章详细分析了压缩机制的四个关键步骤:1) 将大工具结果转存到磁盘;2) 裁剪过远消息;3) 替换旧工具结果为占位信息;4) 生成历史摘要。特别强调了处理顺序的重要性——必须先保存可恢复的大内容,再处理可丢弃的旧内容。还介绍了紧急压缩机制,当请求被拒时保留最近消息并重试。这种压缩方案有效解决了长任务中的容量管理问题,通过回收已失效信息占用的空间,
2026-07-29 13:58:53
492
原创 把 6500 行规范塞进 System Prompt 后,Agent 为什么更难用了?
本文探讨了在AI Agent项目中管理规范文档的方法,提出了基于技能加载(Skill Loading)的分层信息管理机制。传统做法将所有项目规范塞入System Prompt会导致成本增加和干扰问题。作者建议将信息分为两层:启动时加载技能目录(名称和描述),任务执行时按需加载完整技能内容。文章详细介绍了技能目录生成、技能内容动态加载的实现逻辑,以及如何通过工具调用将特定规则引入上下文。这种设计既避免了冗余信息传输,又能确保任务执行时获取相关规范。最后,文中还给出了技能文件的编写建议,强调应聚焦任务操作规则而
2026-07-29 13:57:20
397
原创 一个 Agent 看完 30 个文件后,为什么该让它先退出?
本文是「从零理解 Claude Code」系列的第6篇,探讨了如何通过子Agent机制处理复杂任务中的上下文隔离问题。文章指出,待办列表(TodoWrite)虽能记录任务进度,但无法解决单个任务复杂度高的问题。子Agent的引入创造了一条上下文边界,允许主Agent将独立探索工作委派给子Agent执行,最后仅接收精简结论而非完整过程,从而避免主对话过度膨胀。 关键点包括: 子Agent从全新消息列表启动,独立执行任务后返回总结 上下文隔离仅限于对话历史,文件系统和命令执行环境仍共享 实现上限制子Agent不
2026-07-28 21:31:41
578
原创 Agent 最怕的不是不会写代码:一个 TodoWrite 如何让它不跑偏?
摘要: 本文探讨了复杂任务中Agent容易偏离目标的问题,并介绍了todo_write机制如何通过维护可追踪的任务状态来改善这一现象。当任务步骤变长时,Agent容易陷入局部反馈而忽略全局目标。todo_write将任务拆解为带状态的待办列表(pending/in_progress/completed),通过动态更新帮助Agent在工具调用间隙回溯任务全貌。该工具不直接参与执行,而是作为“工作记忆”锚点,配合提醒机制防止模型长时间忽略计划。实现上,它通过工具调用记录嵌入模型上下文,无需改造主循环,仅需维护状
2026-07-28 21:29:39
613
原创 一堆 if 把 Agent Loop 写乱了:Hooks 到底解决了什么?
本文探讨了如何通过Hooks机制优化Agent Loop的设计,解决核心逻辑与扩展功能混杂导致的代码臃肿问题。文章指出,随着权限检查、日志记录等附加功能的增加,主循环逐渐变成各种规则的汇合点,导致维护困难。作者提出将Agent运行过程拆分为四个事件节点(用户提交、工具执行前、工具执行后、任务结束),通过注册表实现Hook的灵活挂载。重点分析了权限检查如何从硬编码转变为PreToolUse Hook,并讨论了多个Hook的执行顺序对系统行为的影响。文章还展示了PostToolUse Hook的应用场景,如输出
2026-07-27 23:00:00
412
原创 Agent 能调用工具以后,谁来决定这条命令能不能执行?
本文探讨了在AI Agent工具调用中引入权限检查机制的必要性与实现方案。当Agent能够实际修改文件和执行命令时,必须建立安全边界以防止危险操作。作者提出三层防护机制: 硬性拒绝清单:直接拦截高风险命令(如sudo、rm -rf); 用户确认机制:对潜在风险操作(如文件删除)需人工确认; 工作目录隔离:限制文件操作范围防止越权访问。 这些检查在工具执行前完成,形成"直接执行/用户确认/立即拒绝"的分级处理流程。通过保持默认拒绝策略和合理的检查顺序(先危险判定后用户确认),在保持Agent功能性的同时确保系
2026-07-20 15:15:46
496
1
原创 多加一个工具,只加一行:Agent 是怎么管理工具的?
本文介绍了如何为Agent添加多个工具并实现工具分发管理。核心思路是通过工具分发表(TOOL_HANDLERS)将工具调用与具体实现解耦,使主循环保持简洁。文章以添加read_file、write_file等文件操作为例,展示了从单工具(bash)到多工具的演进过程:定义工具描述、实现处理函数、注册到分发表。这种设计让新增工具只需添加映射关系,无需修改主循环。同时文章也提到路径校验等安全考虑,并指出多工具设计通过提供更细粒度的能力,减少了模型处理无关细节的负担。最终强调工具分发的设计模式比具体工具更重要。
2026-07-20 00:57:36
421
原创 一个 while True 循环,为什么可以成为 Agent 的起点?
本文是「从零理解 Claude Code:20 个 Agent Harness 机制」系列的第2篇,探讨了Agent的核心工作循环机制。文章指出,Agent的核心逻辑其实是一个while True循环,该循环负责在模型需要调用工具时自动执行工具,并将结果反馈给模型继续决策,直到任务完成。循环通过判断模型的stop_reason字段决定是否继续(tool_use时继续,否则退出),并通过不断累积的messages上下文保持任务连贯性。文中通过Python代码示例展示了如何实现这一核心循环,包括模型请求、回复保
2026-07-19 21:50:11
311
原创 别再只聊 Prompt 了:用 20 个机制拆解 Claude Code 的 Agent Harness
本文是「从零理解Claude Code」系列的开篇,提出构建AI Agent的核心在于设计Harness环境而非仅关注Prompt或工作流编排。作者将Agent比作"驾驶员+车辆系统"的组合,其中Harness提供工具、知识、观察和权限边界等支持。文章揭示Agent的基本运行逻辑是一个持续循环:模型推理→工具调用→结果反馈→继续推理,强调复杂任务需要动态决策而非预设流程。系列后续将分6个阶段逐步拆解20个机制,从基础循环到多Agent协作,帮助读者掌握构建实用Agent系统的核心方法。
2026-07-19 21:09:15
561
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅