Cangjie Magic快速入门:5分钟构建首个Agent

【免费下载链接】CangjieMagic 基于仓颉编程语言构建的 LLM Agent DSL,其主要特点包括:声明式 DSL、支持 MCP 协议,支持任务智能规划等。 【免费下载链接】CangjieMagic 项目地址: https://gitcode.com/Cangjie-TPC/CangjieMagic

还在为复杂的AI Agent开发框架而头疼?想要快速上手一个功能强大且易于使用的Agent开发工具?Cangjie Magic正是你需要的解决方案!本文将带你从零开始,在5分钟内构建你的第一个AI Agent,体验仓颉编程语言带来的开发便利性。

🎯 读完本文你将获得

  • Cangjie Magic核心概念理解
  • 完整的环境搭建指南
  • 首个Agent的实战构建经验
  • 常用配置和调试技巧
  • 进阶学习路径指引

📦 环境准备与安装

系统要求

Cangjie Magic支持以下环境:

  • Cangjie LTS通用版 (1.0.0)
  • 鸿蒙外发版 (0.53.18)

安装步骤

# 克隆Cangjie Magic仓库
git clone https://gitcode.com/Cangjie-TPC/CangjieMagic.git -b dev

# 进入项目目录
cd CangjieMagic

项目配置

在你的项目中配置cjpm.toml文件:

[dependencies]
magic = { path = "/path/to/CangjieMagic" }

🚀 5分钟构建首个Agent

第一步:创建基础项目结构

// main.cj - 你的首个Agent程序
import magic.dsl.*
import magic.prelude.*
import magic.config.Config

// 定义你的第一个Agent
@agent[model: "deepseek:deepseek-chat"]
class MyFirstAgent {
    @prompt(
        "你是一个友好的AI助手"
        "你的任务是帮助用户解决各种问题"
        "请用中文回复,保持专业和友好"
    )
}

main() {
    // 配置API密钥
    Config.env["DEEPSEEK_API_KEY"] = "你的API密钥"
    
    // 创建Agent实例
    let agent = MyFirstAgent()
    
    // 与Agent交互
    let result = agent.chat("你好,请介绍一下你自己")
    println(result)
}

第二步:运行你的Agent

cjpm run --name your_package_name

第三步:查看运行结果

程序将输出类似以下内容:

你好!我是一个基于DeepSeek模型构建的AI助手,专门设计来帮助用户解决各种问题。我能够理解中文并提供专业的建议和解答。有什么我可以帮助你的吗?

🧩 核心概念解析

Agent定义结构

mermaid

@agent宏参数详解

参数 类型 说明 默认值
model String 使用的LLM模型 "gpt-4o"
description String Agent功能描述 自动生成
tools Array 可用工具列表 []
executor String 规划模式 "react"
temperature Float 创造性程度 0.5

🔧 常用配置选项

模型提供商配置

Cangjie Magic支持多种模型提供商:

// 使用OpenAI
@agent[model: "openai:gpt-4o"]

// 使用阿里云通义千问
@agent[model: "dashscope:qwen-plus"]

// 使用DeepSeek
@agent[model: "deepseek:deepseek-chat"]

// 使用Ollama本地模型
@agent[model: "ollama:phi-3"]

环境变量配置

// 在main函数中配置
main() {
    Config.env["OPENAI_API_KEY"] = "sk-..."
    Config.env["DASHSCOPE_API_KEY"] = "sk-..."
    Config.env["DEEPSEEK_API_KEY"] = "sk-..."
    
    // 其他配置
    Config.logLevel = LogLevel.DEBUG
    Config.enableAgentLog = true
}

🎭 实战示例:智能翻译Agent

让我们构建一个更实用的翻译Agent:

@agent[model: "deepseek:deepseek-chat"]
class TranslationAgent {
    @prompt(
        "你是一个专业的翻译助手"
        "擅长中英文互译,保持翻译的准确性和流畅性"
        "对于技术术语要特别注意准确性"
    )
    
    @user(
        "请将以下文本从{sourceLang}翻译到{targetLang}:"
        "{text}"
    )
}

main() {
    Config.env["DEEPSEEK_API_KEY"] = "你的API密钥"
    
    let translator = TranslationAgent()
    
    // 使用模板变量进行翻译
    let result = translator.chat(
        ("sourceLang", "中文"),
        ("targetLang", "英文"), 
        ("text", "Cangjie Magic是一个强大的AI Agent开发框架")
    )
    
    println("翻译结果: " + result)
}

📊 Agent性能优化技巧

1. 提示词工程最佳实践

@agent[model: "deepseek:deepseek-chat"]
class OptimizedAgent {
    @prompt[pattern: APE](
        action: "处理用户查询并提供准确答案",
        purpose: "提升用户体验和问题解决效率", 
        expectation: "回复要专业、准确、友好"
    )
}

2. 工具集成示例

@tool[description: "获取当前时间"]
func getCurrentTime(): String {
    return DateTime.now().toString()
}

@agent[
    model: "deepseek:deepseek-chat",
    tools: [getCurrentTime]
]
class ToolEnhancedAgent {
    @prompt(
        "你是一个多功能助手"
        "可以使用工具来获取实时信息"
    )
}

🐛 常见问题排查

1. API密钥错误

# 错误信息:Authentication failed
# 解决方案:检查API密钥是否正确配置

2. 模型不可用

# 错误信息:Model not available
# 解决方案:确认模型名称拼写正确,检查网络连接

3. 依赖问题

# 错误信息:Package not found
# 解决方案:确认cjpm.toml配置路径正确

🚀 进阶学习路径

下一步学习建议

  1. 工具集成 - 学习如何为Agent添加自定义工具
  2. 多Agent协作 - 探索Agent之间的协同工作
  3. 知识检索 - 集成RAG功能增强Agent知识库
  4. 规划策略 - 深入了解不同的任务规划算法

推荐实践项目

  • 文件管理助手
  • 文档问答系统
  • 代码审查助手
  • 智能客服机器人

💡 总结

通过本文的5分钟快速入门,你已经掌握了Cangjie Magic的核心概念和基本用法。从环境搭建到第一个Agent的创建,再到实用功能的扩展,Cangjie Magic提供了一个既强大又易用的AI Agent开发平台。

记住成功构建Agent的关键要素:

  • ✅ 正确的环境配置
  • ✅ 清晰的提示词设计
  • ✅ 合适的模型选择
  • ✅ 必要的错误处理

现在就开始你的AI Agent开发之旅吧!Cangjie Magic将为你提供强大的技术支撑,让你的创意快速转化为现实。


提示: 在实际部署前,请确保处理好API密钥的安全性,并遵循各模型提供商的使用条款。祝你开发顺利!

【免费下载链接】CangjieMagic 基于仓颉编程语言构建的 LLM Agent DSL,其主要特点包括:声明式 DSL、支持 MCP 协议,支持任务智能规划等。 【免费下载链接】CangjieMagic 项目地址: https://gitcode.com/Cangjie-TPC/CangjieMagic

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐