- 博客(200)
- 收藏
- 关注
原创 CrewAI 高级04:输出格式、缓存与工作流编排
将多个 Crew 按顺序组合,形成复杂的多阶段流程。研究 Crew → 写作 Crew → 编辑 Crew↓ ↓ ↓研究报告 文章初稿 最终文章# Prompt 中指定格式 task = Task(description = """请严格按照以下 JSON 格式输出:""") # 解析结果 import json✅ 使用 Prompt 工程控制 JSON 输出✅ 任务缓存机制(cache=True)✅ 上下文传递(context 参数)✅ 工作流编排(多 Crew 组合)
2026-05-28 16:18:51
394
原创 CrewAI 实战03:多 Agent 协作与层级管理
✅ 顺序协作模式(Sequential)的使用✅ 层级管理模式(Hierarchical)的使用✅ 两种模式的区别和适用场景✅ 任务间数据传递(context 参数)✅ 完整的实战项目。
2026-05-26 20:10:43
290
原创 CrewAI 进阶02:自定义工具扩展 Agent 能力
✅ 为什么要使用工具✅ 如何创建自定义工具(@tool 装饰器)✅ 工具的两个关键参数(name 和 description)✅ Agent 如何自主选择和调用工具✅ 工具设计的最佳实践。
2026-05-26 20:04:50
361
原创 最终篇:Harness Engineering 的未来
在 README 的开头,作者写了一段话。这段话是整个 repo 的基石。这就是全部了。全系列完。共 12 篇,对应 learn-claude-code 项目的 12 个 Session。标题主题1Harness Engineering 核心概念智能来自训练,能力来自 Harness2Agent Loopwhile 循环是一切的基础3工具腰带的艺术4规划与任务系统TODO List → 持久化任务图5Subagent 与团队从进程隔离到微服务式 Agent6技能加载按需注入领域知识7。
2026-05-05 17:21:16
177
原创 第十一篇:Worktree 任务隔离 —— 目录即边界
这就像是:做完实验后,你可以保留实验环境以便复盘(keep),也可以直接拆掉回收空间(remove)。——你可以从任务找到 worktree,也可以从 worktree 找到任务。而且它用的是 JSONL——每一行独立 JSON,可以 grep、awk、或者用 jq 分析。到 s11 为止,所有 Agent、所有任务、所有工具调用,都跑在同一个工作目录下。s07 的任务板解决了"做什么"(控制平面),但没解决"在哪做"(执行平面)。简单到极致,但解决了"Agent 系统里到底发生了什么"这个关键问题。
2026-05-05 17:19:23
139
原创 第十篇:自主 Agent —— 让 Agent 自己决定做什么
回顾之前的演进:都是"要我干"。s11 把最后一层依赖也去掉了。 Agent 可以:这是一个从"被动执行者"到"主动工作者"的跃迁。s11 的 Agent 生命周期变成了三个阶段:代码实现比描述更直白:“idle” 工具:模型可以主动说"我没事干了"一个特别有意思的细节是那个 工具:这不是强迫 Agent 闲置的机制——是让 Agent 主动说"我干完了"的工具。当 Agent 完成当前任务,没有更多 TODO 可以做,它会主动调用 :这就像你团队里最积极的同事。他干完手里的活,不会干坐着等—
2026-05-05 17:18:16
111
原创 第九篇:团队协议 —— Agent 之间的握手与谈判
下次检查 inbox 时,可能收到了 shutdown_response,用 request_id 匹配就知道是哪个请求的答复。如果说 Shutdown Protocol 是经理和员工之间的对话,Plan Approval Protocol 就是员工对经理说"这是我做的方案,你看看行不行"。这两个字典是所有协议的"状态寄存器"。这允许异步通信——请求方发完请求就可以继续干别的,响应方处理完后用 request_id 配对回执。这是一个真正协作的 AI 团队——不是"一组 Agent 各干各的",而是。
2026-05-05 17:16:37
208
原创 第八篇:后台任务 —— Agent 边推理边等结果
但所有工作仍然发生在"一个 Agent"的范畴里。s09 和 s10 把格局拉大了——多个 Agent 组成团队,通过协议协作。两者可以组合:Subagent 可以在执行过程中启动后台任务来跑测试,然后一边等测试结果,一边继续分析代码。不是 Agent 不能等——是人不能等模型在那空转。这 300 秒本来可以做别的事——读另外的代码文件、做代码分析、写文档。基础的并发优化,但在 Agent 的语境下,很多人居然没想过。Agent 不再是一个"一问一答"的聊天机器人。和 Agent Loop 的集成方式。
2026-05-05 17:15:57
182
原创 第八篇:后台任务 —— Agent 边推理边等结果
但所有工作仍然发生在"一个 Agent"的范畴里。s09 和 s10 把格局拉大了——多个 Agent 组成团队,通过协议协作。两者可以组合:Subagent 可以在执行过程中启动后台任务来跑测试,然后一边等测试结果,一边继续分析代码。不是 Agent 不能等——是人不能等模型在那空转。这 300 秒本来可以做别的事——读另外的代码文件、做代码分析、写文档。基础的并发优化,但在 Agent 的语境下,很多人居然没想过。Agent 不再是一个"一问一答"的聊天机器人。和 Agent Loop 的集成方式。
2026-05-05 17:15:24
207
原创 第七篇:上下文压缩 —— Agent 永续工作的秘密
这里没有用外部的摘要算法。就是同一个模型,读自己的对话历史,然后写摘要。完成了什么当前状态关键决定压缩后,messages只剩下一个[{user: 摘要}]。上下文从 50K 骤降到几千。但代价是——模型丢失了所有细节。这就是为什么要有存档。
2026-05-05 17:11:39
242
原创 第六篇:技能加载 —— 别什么都往 System Prompt 里塞
你把 8000 tokens 的数据库 schema 放在 system prompt 里,模型在处理你的代码时,那 8000 tokens 就像背景噪音。为了回答这个简单的问题,模型被迫阅读了 8000 tokens 的无关知识,然后才找到真正需要的那 200 tokens。s06 要解决的是另一个方向的问题——“对话太长”。:创建任务时把需要的技能名写在任务描述里,Agent 认领任务后自动加载对应的技能。技能加载不是孤立的——它和其他机制一起,构成一个完整的 Agent 生态系统。
2026-05-05 17:07:23
302
原创 第五篇:Subagent —— 进程隔离就是上下文隔离
但你可以给模型配合伙人(Subagent),可以给模型建团队(Teammate),可以给团队设计协作协议(Protocol),可以让团队自发地找活干(Autonomous)。,但同时 Harness 的复杂度几乎没变——还是那个 while 循环,还是那个 tool dispatch map,只是多加了几行工具注册。模型的上下文窗口就是它的"工作记忆"它不知道父代理之前聊了什么,不知道之前的文件内容,不知道之前的决策。每个 Teammate 运行在自己的线程里,有自己的 agent loop:。
2026-05-05 17:01:32
457
原创 第四篇:让模型学会列清单 —— 规划和持久化
因为上下文压缩(s06)随时可能把你的对话变成一个摘要。如果任务只存在于 messages 里,一压缩就没了。你:“帮我重构这个模块,分三步:第一步提取接口,第二步实现新逻辑,第三步迁移测试。坏的做法:框架强定 workflow,模型只是管道里的一环。第 5 轮对话后,模型突然开始写一个完全不相干的文件……下一篇:Subagent —— 进程隔离就是上下文隔离。好的做法:提供状态管理工具,让模型自己规划。s07 把 TODO 从内存列表升级为。最初的计划被挤到了不知道哪个角落。模型:“好的,我来处理!
2026-05-03 22:49:13
207
原创 第三篇:工具即双手 —— 从 Bash 到 Tool Dispatch Map
s02 只有 4 个工具。到了 s12,同一个 pattern 被扩展到了 16 个——基础工具、任务工具、worktree 工具、事件工具。但核心循环还是那几行,没变。下一篇:TodoManager —— 一个让模型自己写 TODO List 的工具,以及一个讨人厌的提醒器。和 s01 相比,唯一的变化就是把 run_bash 换成了 TOOL_HANDLERS.get。如果说 Agent Loop 是操作系统内核,那 TOOL_HANDLERS 就是系统调用表。一个函数名到处理函数的直接映射。
2026-05-03 22:47:03
236
原创 第一篇:Agent 的核心秘密 —— 智能来自模型,能力来自 Harness
repo 说了句大实话:这个 repo 选择了 Claude Code 作为解剖对象,不是因为它是"最牛的 Agent",而是因为它是最优雅的 Harness 工程范例。作者说,Claude Code 最美的地方不在于它做了什么,而在于它没做什么它没有强行设定死板的工作流它没有用一堆决策树来质疑模型它没有把自己当成 Agent一个循环 + 一组工具 + 一些基础设施。剩下的交给模型。
2026-05-03 22:43:07
397
原创 16种RAG技术详解(附作用、缺点案例+场景适配)| AI应用开发必看
技术名称核心作用(大白话)核心缺点(血的教训)适配场景(直接对号入座)Naive RAG毛坯房,搭好RAG基础架子,能跑就行切块愣,易截断语义,答案不完整Demo开发、小型短文档、快速验证功能嘴替,多问法检索,解决用户表述乱的问题延迟高,易混入无关文档,成本上升电商客服、个人助手,用户口语化提问多HyDE戏精,编假答案检索,解决短问题匹配难假答案易跑偏,误导检索结果短问题、语义模糊,大模型有基础认知的领域语义分块RAG精细木匠,按语义切块,保证答案完整。
2026-04-23 22:08:58
545
原创 UltimateRAG 学习笔记
Stage 1:跑通基础 RAG 闭环,验证可行性;Stage 2:优化检索环节,提升召回率和精准度;Stage 3:引入 Agent 能力,实现动态决策和工具调用;Stage 4:突破向量检索边界,结合图和微调适配领域场景;这里先做简单笔记,等后续完善。
2026-04-20 00:02:43
221
原创 Claude Code 50+命令全解析
Claude Code 从来不是简单的AI聊天工具,而是可编程的智能编码伙伴。50+命令覆盖从启动到开发、从调试到归档的全流程,核心10命令搞定日常,进阶命令解锁高效,隐藏功能拓展边界。别再只用3-5个命令浪费潜力,从今天起,按本文的分类和工作流练习,每周掌握2-3个新命令,很快就能成为 Claude Code 高手,让AI真正成为你的开发外挂!
2026-04-12 21:20:07
528
原创 常用注册中心大全(主流 5 个)介绍
目前微服务注册中心国内企业首选 Nacos,功能强、性能好、持续更新;Eureka 是经典但已停更;Consul/etcd 多用于云原生;Zookeeper 逐渐退出主流。
2026-03-31 20:48:15
399
原创 八股-Java并发常见面试问题
Semaphore即是Java并发包中的计数信号量,本质就是维护了一个许可计数器,用来控制同时访问某个资源的线程数量。
2026-03-08 23:18:53
395
原创 滴滴后端一面
不同服务器的系统时间不一致(比如A服务器时间快2秒,B慢1秒),导致Redis锁的过期时间判断出错,比如锁实际该过期了,但因时钟漂移,线程误以为还没过期,继续执行。并发控制:优先无锁(CAS)→ 本地锁 → 分布式锁,缩小锁粒度提升吞吐;Redis锁:加锁/解锁必须原子(SET NX EX+Lua),解决时钟漂移用看门狗;索引:联合索引遵循最左前缀,for update的锁类型由索引决定,避免表锁;线程/死锁:设置超时避免死等,破坏循环等待解决死锁;
2026-03-05 21:52:26
385
原创 力扣-省份数量
的数量,当多个城市相连时,这些城市只能算是一个省,如果直接在遍历时,即在visited[j]后面就将provinceCount+1的话,就会导致每个城市相连就像省份数量+1,从而导致省份数量严重被高估。provinceCount要在这个省份的所有城市都遍历结束后再去+1,而不要写到visited[j]后面。一定要理解好题目,题目是要求。
2026-02-07 15:38:03
313
原创 力扣-电话号码组合
核心思想:递归遍历每个数字对应的字母,逐步构建组合字符串,递归到底(遍历完所有数字)时将组合加入结果集,回溯时撤销最后一个字符,继续尝试下一个字母。
2026-02-01 11:25:32
309
原创 力扣-钥匙和房间
房间和钥匙的关系可抽象为有向图:节点:房间编号(0~n-1);边:若房间 i 有钥匙 j,则存在一条从 i 到 j 的有向边。问题转化为:从节点 0 出发,能否遍历图中所有节点?解决思路:用深度优先搜索(DFS) 或广度优先搜索(BFS) 遍历,记录访问过的房间数量,最终判断是否等于总房间数。
2026-01-28 22:25:04
77
原创 动态规划(DP)与递归的核心区别(新手易懂版)
本质:把大问题拆解为规模更小的子问题,解决子问题后,再合并子问题的结果解决原问题(「自上而下」的思维)。核心特征:函数调用自身,有明确的「递归出口」(终止条件)。典型例子:计算斐波那契数列(未优化版)、二叉树的后序遍历、归并排序。对比维度递归动态规划本质定位编程技巧(函数调用自身)算法策略(优化重叠子问题)解决思路自上而下(大问题→子问题)自下而上(子问题→大问题)核心依赖递归出口+子问题拆解状态定义+状态转移方程+初始条件重复计算不处理,会重复计算(除非加缓存)
2026-01-22 21:33:25
791
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅