Cangjie Magic
- 智能体
- 78
- 2025-03-17 21:49
仓颉社区正式发布了 Agent(智能体)开发框架 Cangjie Magic。据悉,这是首个基于华为自研仓颉编程语言原生构建的大语言模型(LLM)Agent 开发平台。
Cangjie Magic 框架通过三大核心技术突破,旨在重构智能体开发范式:一是独创的 Agent DSL(领域专用语言)架构,该架构基于仓颉语言特性设计,实现了智能体建模的声明式编程;二是原生支持 MCP(Model Context Protocol)通信协议;三是智能调度引擎,集成了模块化服务调用机制与动态任务规划算法。
Cangjie Agent DSL 是一个用于定义和管理 Agent 的专用语言。它允许开发人员通过结构化的系统提示词、工具和各类协作策略来增强 Agent 的功能。本手册将介绍如何使用 Cangjie Agent DSL 的各种功能,并通过实例帮助用户快速上手。
Cangjie Agent DSL 被设计为仓颉语言的 eDSL,即在仓颉语言中通过元编程机制实现了嵌入式的 DSL,且仓颉语言作为它的宿主语言。这意味着 Agent DSL 编写的代码最终都被转换为普通的仓颉代码,并最终由仓颉编译器完成编译。
Agent 定义
目前,我们使用宏 @agent 修饰 class 类型来定义一个 Agent 类型。
@agent class Foo { }
宏 @agent 支持如下属性。具体属性可参考相应章节内容
属性名 | 值类型 | 说明 |
---|---|---|
description | String | Agent 的功能描述;默认未设置时,将由 LLM 从提示词中自动总结出 |
model | String | 配置使用到的 LLM 模型服务;默认使用 gpt-4o |
tools | Array | 配置能够使用的外部工具 |
mcp | Array | 配置接入的 MCP 服务器 |
rag | Map | 配置外部的知识源 |
memory | Bool | 是否使用记忆,即保存 Agent 的多次问答记录(目前记忆仅支持 in-memory 非持久化数据);默认为 false |
executor | String | 规划模式;默认为 react |
temperature | Float | Agent 使用 LLM 时的 temperature 值;默认为 0.5 |
dump | Bool | 调试代码用,是否打印 Agent 变换后的 AST;默认为 false |
Cangjie Magic 框架已完成对鸿蒙、Windows、macOS 及 Linux 系统的全平台适配,初步形成桌面端生态闭环。更值得关注的是,官方技术路线图显示,基于仓颉语言的跨平台编译能力,计划在今年第三季度实现对 Android 和 iOS 原生接口的智能体调用能力,这将极大地拓展智能体在移动端的应用场景。
项目地址:https://gitcode.com/Cangjie-TPC/CangjieMagic
文章由本站整理发布,转载请注明地址:https://www.12330.com.cn/view-magic