如何让 AI 智能体更聪明:CangjieMagic-Examples 中 @tool 注解与任务规划的完整指南
如何让 AI 智能体更聪明CangjieMagic-Examples 中 tool 注解与任务规划的完整指南【免费下载链接】CangjieMagic-Examples项目地址: https://gitcode.com/Cangjie/CangjieMagic-ExamplesCangjieMagic-Examples是 Cangjie Magic 框架的官方示例仓库它用三个真实项目端侧智能体MagicAgent、RAG 代码助手CangjieRAGCodeAssistant、MCP 工具服务集合CangjieMagicMCPServer演示了智能体开发中最核心的两件事用tool注解把普通函数变成大模型可调用、可自主规划的工具。读完本文你就能理解工具设计模式是怎么让 Agent 从会聊天变成会干活的。️ 一图看懂仓库里的三类智能体示例模块定位核心看点CangjieMagicMCPServer/工具集MCP Servertool注解的完整形态参数描述、示例、安全边界、自动修复MagicAgent/端侧智能体 App任务规划工具 react执行器 MCP 混合接入CangjieRAGCodeAssistant/本地 RAG 助手agent声明式绑定检索源代码问答助手其中工具示例覆盖了 5 种典型场景fetcher网页抓取语义检索、filesystem文件操作摘要、pyexec代码执行自动修复、imageGen文生图、time时间查询完整源码见 CangjieMagicMCPServer/README.md。 tool 注解深度解析Agent 调用工具前的说明书大模型本身不能执行代码它只能决定调用哪个工具、传什么参数。tool注解的作用就是把一个普通函数翻译成模型能读懂的说明书。1. 最小用法零参数工具最简单的工具只需要一句功能描述见 time/src/main.cjtool[ description 获取当前时间 ] public func getCurrentTime(): String { ... }配合一行StdioMCPServer.startWith(getCurrentTime)这个函数就成了标准 MCP 协议下的可调用工具。描述写得越准确模型选工具、传参数就越准——这是工具设计的第一原则。2. 进阶用法参数描述 调用示例给有参数的工具用parameters字段逐项说明语义见 pyexec/src/main.cjtool[ description: ...环境每次执行都会重置必须发送完整脚本..., parameters: { code: The python code to execute... }, examples: [ codeInterpreter(\print(12)\) ] ] public func codeInterpreter(code: String): String { ... }这里有三个细节值得学习描述中写明坑告诉模型环境每次重置、代码不要包在 markdown 代码块里能显著减少无效调用参数说明精确到格式连字符串字面量的引号写法都做了约束examples提供调用范例等价于给模型做 few-shot降低幻觉参数概率。fetcher工具则展示了参数即检索意图的设计——target参数描述用户期望从网页获取什么内容工具内部直接用它做语义检索见 fetcher/src/main.cj。3. 工具族模式安全边界 复合能力filesystem模块filesystem/src/main.cj是一个完整的工具族设计范本安全沙箱所有工具入口先走checkPath校验只允许访问启动时声明的--allowed-dir路径越界直接返回错误信息能力分层listDir、readFile、searchFile三个原子工具 一个高阶工具summarizeFile工具内嵌子智能体summarizeFile内部用一个agent声明的SummaryAgent生成摘要——工具不只是执行还可以是一个小型智能体。 设计启示一个高质量工具 清晰的 description 明确的参数约束 可靠的错误返回。错误信息会直接喂给模型让它有机会自我纠正。 智能体任务规划让 Agent 自己想步骤工具解决能做什么任务规划解决怎么做。仓库中pyexec和MagicAgent展示了两种典型规划模式。1. 代码自修复把试错-修复规划进工具内部codeInterpreter工具在内部实现了一个最多 3 轮的规划循环执行 Python → 失败则把错误信息交给程序修复模型 → 重试。修复模型的系统提示词里还内置了THOUGHT PROTOCOL先理解、再分析根因、最后探索修复方案见 pyexec/src/main.cj。这种工具内部自带 ReAct 循环的模式让上层 Agent 无需关心修复细节一次调用就拿到可用结果。2. 端侧任务规划规划工具 react 执行器MagicAgent的 entry/src/main/cangjie/src/pages/llm.cj 是整仓最精彩的部分核心技巧把流程本身做成一个工具。ticketPlan工具不执行任何操作只是返回一份购票步骤清单定位出发地 → 推断目的地 → 确认日期 → 查票 → 确认车次 → 确认座位 → 天气提醒tool[description: 购买车票流程规划预订/购买车票相关的优先调用该工具] public func ticketPlan(): String { return 具体分为以下步骤...; }prompt中再约定涉及购票时先调用ticketPlan进行规划模型就会先取计划、再按步骤执行。这就是规划与执行分离agent[model: ${MODEL}, executor: react, mcp: [ http(https://mcp.amap.com/sse?key${AMAP_MCP_KEY}), tools(ticketPlan, starbucksBooking, getCurLocation, queryContacts, ...) ] ] class Superman { prompt(...) ... }react执行器让 Agent 自主思考 → 调用工具 → 观察结果 → 再思考mcp混合接入既挂远程地图 MCP 服务路线规划、天气又挂本地tool函数通讯录、日历、定位askUser也是工具向用户提问被建模为一次工具调用配合BlockingQueue同步等待用户输入实现多轮交互式规划。 RAG 代码助手声明式绑定知识库CangjieRAGCodeAssistant/src/main.cj 展示了另一类能力挂载agent注解里直接声明rag检索源Agent 每次对话前自动检索仓颉官方文档语料agent[model: ${MODEL}, executor: naive, rag: {source: retriver()}] class Superman { prompt(...) }配套的prompt用完整示例教模型只引用有用的文档、回答末尾列出参考文档。构建向量库只需cjpm run --name cjca --run-args --build详见 CangjieRAGCodeAssistant/README.md。 快速上手3 步跑通你的第一个 tool 服务装环境安装仓颉 SDK 1.0.5 与 stdx配置CANGJIE_STDX_PATH见 CangjieMagicMCPServer/README.md选最简示例克隆仓库后先跑无外部依赖的time工具cjpm build cjpm run --name time改造为你自己的工具参考filesystem的模式写函数 → 加tool注解描述参数→StdioMCPServer.startWith([...])暴露出去即可接入任意支持 MCP 的 Agent。✅ 小结CangjieMagic-Examples 用可运行的代码回答了智能体开发的核心问题tool注解description 是灵魂parameters 是护栏examples 是范例三者决定工具被调用的质量工具设计模式安全边界沙箱校验、能力分层原子工具复合工具、工具内嵌子智能体摘要/自修复任务规划react执行器负责思考-行动循环规划工具负责给模型一张流程图askUser让规划可以中途向用户校准。掌握这三层你就拥有了从零构建可靠 Agent 应用的方法论——而本仓库就是这套方法论的活教材。【免费下载链接】CangjieMagic-Examples项目地址: https://gitcode.com/Cangjie/CangjieMagic-Examples创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

GaN图腾柱PFC过零点难题:三种无锁相环方案实测对比

GaN图腾柱PFC过零点难题:三种无锁相环方案实测对比

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 14:31:52 阅读更多 →
基于Mininet的SDN课程设计实战:从环境搭建到故障切换

基于Mininet的SDN课程设计实战:从环境搭建到故障切换

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 14:31:52 阅读更多 →
Druid 数据流与 `Data` trait 深入解析:从双向数据流到 Lens 数据映射

Druid 数据流与 `Data` trait 深入解析:从双向数据流到 Lens 数据映射

跨平台桌面应用UI组件 【免费下载链接】druid A data-first Rust-native UI design toolkit. 项目地址: https://gitcode.com/gh_mirrors/drui/druid 点击查看 免费下载 本文基于 Druid(data-first Rust-native UI design toolkit)官方文档…

2026/9/24 14:31:52 阅读更多 →

最新新闻

【Coze】【视频】儿童古风诗词工作流

【Coze】【视频】儿童古风诗词工作流

今天给大家演示一个儿童古风诗词的 Coze 工作流,它能够将用户输入的主题或提示词自动生成诗意化的视频文案,并进一步配合语音合成、字幕生成和背景音乐搜索,最终形成一段完整的古风视频内容。这个工作流特别适合儿童诗词启蒙教育、古诗词短视频创作等场景,让传统文化通过现…

2026/9/24 15:58:07 阅读更多 →
Linux下安装JDK11

Linux下安装JDK11

项目开发选择JDK版本生产环境只选 LTS(长期支持版);稳定梯队排序(企业落地成熟度,从最高到新):**JDK8 > JDK17 > JDK21 > JDK11 > JDK25**。对于免费社区维护早已结束的需要升级规避…

2026/9/24 15:58:07 阅读更多 →
Salt 官方 dsc_resource 执行模块实战:绕过 LCM 直接调用 PowerShell DSC 资源

Salt 官方 dsc_resource 执行模块实战:绕过 LCM 直接调用 PowerShell DSC 资源

运维配置管理后端 【免费下载链接】salt Software to automate the management and configuration of infrastructure and applications at scale. 项目地址: https://gitcode.com/gh_mirrors/sa/salt 点击查看 免费下载 导读 dsc_resource 是 Salt 在 3008.1 版本…

2026/9/24 15:58:07 阅读更多 →
Instant Vue 沙箱应用实战:基于 @instantdb/vue 的本地后端开发与实时功能全解析

Instant Vue 沙箱应用实战:基于 @instantdb/vue 的本地后端开发与实时功能全解析

Instant Vue 沙箱应用实战:基于 instantdb/vue 的本地后端开发与实时功能全解析 【免费下载链接】instant Instant is the best backend for AI-coded apps. You get auth, permissions, storage, presence, and streams — everything you need to ship apps your …

2026/9/24 15:58:07 阅读更多 →
RestSharp 认证机制完全指南:从 Basic、OAuth1 到 JWT 与自定义 Authenticator

RestSharp 认证机制完全指南:从 Basic、OAuth1 到 JWT 与自定义 Authenticator

后端API设计 【免费下载链接】RestSharp Simple REST and HTTP API Client for .NET 项目地址: https://gitcode.com/gh_mirrors/re/RestSharp 点击查看 免费下载 RestSharp 内置了一套分层清晰的认证体系,覆盖 HTTP Basic、OAuth1(含 xAuth…

2026/9/24 15:58:07 阅读更多 →
基于图像识别的跨平台 UI 自动化框架:Airtest 安装、Python API 与 CLI 实战指南

基于图像识别的跨平台 UI 自动化框架:Airtest 安装、Python API 与 CLI 实战指南

测试质量保障计算机视觉 【免费下载链接】Airtest UI Automation Framework for Games and Apps 项目地址: https://gitcode.com/gh_mirrors/ai/Airtest 点击查看 免费下载 Airtest 是网易开源的跨平台 UI 自动化框架,专为游戏和 App 设计,核…

2026/9/24 15:57:07 阅读更多 →

日新闻

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为…

2026/9/24 0:00:19 阅读更多 →
单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

简介:一份基于单细胞RNA测序数据的细胞类型注释算法研究Python毕业设计源码,针对计算机相关专业正在做毕设或需要项目实战的学习者,可用于课程设计与期末大作业。项目代码完整、经导师指导评审通过,可直接运行,覆盖数据…

2026/9/24 0:00:19 阅读更多 →
C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

第一次在项目里被反射卡住,是在一个老旧的WinForms模块里:几十个类依赖PropertyChanged通知,运行时反射读属性、发通知,每次启动慢半拍不说,一上.NET Native/AOT裁剪模式几乎全面崩盘。后来我把这段逻辑全部改成C#源生…

2026/9/24 0:00:19 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →