#Agent开发

宝玉
1个月前
对于向深入学习上下文工程(Context Engineering)的同学,这又是一篇必看的文章。 这篇文章讲的是如何解决 MCP 工具太多的问题,但凡你做过 Agent 开发,用了大量 MCP 工具,就会知道 MCP 工具多了后最大的问题就是上下文占用太多,不仅导致成本高,还会影响推理和生成质量。 另外一个问题就是 MCP 工具返回的中间结果也会挤占大量的上下文空间。 看这文章的时候忍不住夸了一下 Manus,他们确实在上下文工程方面探索的很深入了,里面的工程技巧和他们以前分享过的很类似(我一会把之前分享过的 Manus 相关的文章在评论也发一下)。 Anthropic 的方案也很简单直接,就是把“代码”也当作工具的一种,然后从代码中去调用 MCP。 这样做有很多好处: 1. 解决了系统提示词中工具定义太多的问题 不需要在系统提示词中加载所有 MCP 工具,只需要定义一个“代码”工具。 那需要工具了怎么办呢? 这些代码都保存在统一的目录下,去目录检索下就能找到合适的工具了,比如这是文中的一个目录示例: servers ├── google-drive │ ├── getDocument.ts │ ├── ... (other tools) │ └── index.ts ├── salesforce │ ├── updateRecord.ts │ ├── ... (other tools) │ └── index.ts └── ... (other servers) 找不到现成的工具怎么办? 直接现写一个!写完了还可以保存起来下次继续用。 2. 解决了 MCP 工具返回结果太长的问题 比如说我们要用 MPC 工具获取 1 万行数据后筛选转换出合格的数据,就可以先从代码中调用 MCP 工具获取这 1 万行数据,然后从代码中去筛选过滤,最后只返回 5 条数据,这样上下文中就只需要保留那 5 条过滤的数据,而不是像以前一样有 1 万条数据在里面。 3. 解决了数据隐私问题 如果你直接使用 MCP 工具,工具返回的数据都要加载到上下文每次上传给 LLM,用代码就可以对敏感数据先二次处理再加到上下文 4. 中间结果持久化和技能沉淀 代码可以把一些中间结果写入文件保存到硬盘,一方面可以不占用上下文空间,另一方面也可以随时从硬盘避免反复调用 MCP。 还有就是虽然很多代码是临时生成的,但是这些临时生成的代码可以保存下来,沉淀为“技能”(Skill),加上 SKILL .MD 文件就和 Claude Code 的技能一样可以被反复使用了。
宝玉
2个月前
如果你想开发一个 Agent,无论你是打算做 CLI 还是做 Web 还是 Windows,都可以考虑使用 Claude Agent SDK,和 Claude Code 共享的底层代码,Claude Code 就是基于它之上加了个 CLI 的 UI,也就是说你完全可以基于它写一个 Claude Code 出来。 我昨天帮朋友花了几个小时就实现了个简单的 Agent,实现了输入提示词,就可以基于某个没训练的 Design System 写一套 UI 出来。 他写的这个 Agent 原理很简单,就是把这套设计系统的所有 Markdown 文档(几百个)放到一个它可以访问的目录,然后在 Systme Prompt 里面引导它去检索这个文档目录。 当用户输入提示词或者 Screenshot 要做一个 UI,Agent 就根据提示词规划可能要用到的组件,然后用 SDK 自带的 GREP 工具去检索文档库找到这些组件的 API,最后基于收集到的信息用这个 Design System 组件生成页面。 这个 SDK API 很简单,但很强大,你不止是可以用它内置的工具(Task、Grep、WebFetch 等等),你还可以添加自己的工具,还可以用 MCP。并且它可以把整个交互的结果通过 API 让你可以获取到原始的请求和返回消息,这样你可以自己实现一套比 CLI 更好用的交互 UI。 当然这个局限也有: 1. 只能用 Claude 模型兼容的 API,如果你想用 GPT-5 之类模型,估计效果不会太好 2. 只支持 Python 和 TypeScript 3. Tokens 消耗飞快 如果你只是做前期的 POC,强烈建议你试试。
阑夕
4个月前
昨天Coze的两款核心产品被开源到GitHub了,分别是Agent的开发平台Coze Studio和管理平台Coze Loop,迎来了开发者阵营的一片好评。 今年是Agent大年,Coze也是起了个大早的标杆,但是因为主要价值在于服务专业用户搭建工作流,Coze和后面的那一拨AI Agent反倒没有走进同一条河流,于是各有各的热闹。 我自己对Coze「搭积木」的玩法还挺喜欢的,比起全托管的Agent,这种半托换的控制力更好,不会出现AI干AI的、我急我的这种矛盾。 比如你们可能记得,前段时间我发了百度的市值被大家用来听歌的腾讯音乐给超了的截图,那个其实就是更早时候在群里看到两家公司市值接近的话题,但当时还有一点差距。 我觉得这是很戏剧性的时刻,但自己肯定没时间每天都去盯着两家公司的股价然后等到市值交错的瞬间赶紧截图,这也太蠢了,当时就是去Coze搭了一个非常简单的智能体,让它每天在美股收盘时去查询百度和腾讯音乐的市值,并对比做出判断,一旦发现百度的市值低于腾讯音乐,就给我发一条消息。 之后我就扔着没管了,直到一天起床后收到提醒,马上就知道节目效果终于出现了,所以对我来说,这样可持续工作的智能体,和我在通用Agent里需要的一次性代码服务,是不一样的,很多Agent产品,我用得频繁,换得也频繁,但Coze我虽然用得不多,每次遇到事儿却是真会「复购」。 这次开源的Coze Studio,就是Coze的核心开发模块,明确意义上的六边形战士,应用接口非常丰富,可以很爽的调用第三方工具,另一个Coze Loop就跟我这样的非商业用户关系不大了,是为智能体的产品化提供支持的。 比较值得点出来的是,Coze开源选择了Apache 2.0开源协议,这是对商业化最友好的开源协议,没有之一,几乎不会对使用者做出任何限制,一视同仁的将技术开放给从个人开发者到各种体量的公司,而且它不但授予用户版权,还明确授予了与贡献相关的专利许可,确保了商用场景的法律安全性。 多少能够理解Agent赛道的开发者们为此开香槟的态度,技术的流动加速,对于一个新兴多变的行业来说,永远都是不嫌多的,开源社区越是繁荣,AGI平等降临到每一个人手上的概率就会越高。