梅科尔工作室Cangjie Magic探索:土壤医生智能体助力科学种田 原创

梅科尔工作室HOS
发布于 2025-5-20 20:17
浏览
0收藏

作者:平运宏
团队:梅科尔工作室

CangjieMagic应用

SDK版本:Cangjie-0.53.18-windows_x64

API包配置:https://gitcode.com/Cangjie-TPC/CangjieMagic

参考连接:https://cangjie-lang.cn/docs

前言:

本文将带领读者探索 Cangjie Magic 的开发环境配置、智能体构建方法,并通过土壤医生智能体这一实际应用案例,展示其在农业领域的强大潜力。

CangjieMagic智能体开发

(1)项目工程创建

产物类型选择executable即可(默认)

梅科尔工作室Cangjie Magic探索:土壤医生智能体助力科学种田-鸿蒙开发者社区

选择仓颉SDK包安装的路径

梅科尔工作室Cangjie Magic探索:土壤医生智能体助力科学种田-鸿蒙开发者社区

点击创建项目,完成仓颉项目工程创建

梅科尔工作室Cangjie Magic探索:土壤医生智能体助力科学种田-鸿蒙开发者社区

(2)环境配置

进行开发之前,首先需要配置CangjieMagic依赖,需要修改新建项目的 cjpm.toml

// 方式一:直接配置 git 依赖(需要git版本管理工具)
// 推荐:配置git依赖包SDK可以和官方的更新同步,新版本无需再从新配置

[dependencies]
    magic = { git = "https://gitcode.com/Cangjie-TPC/CangjieMagic.git", branch = "dev" }

// 方式二:下载本项目代码并配置本地源码依赖

[dependencies]
    magic = { path = "<local-path-to-this-project>" }

梅科尔工作室Cangjie Magic探索:土壤医生智能体助力科学种田-鸿蒙开发者社区
梅科尔工作室Cangjie Magic探索:土壤医生智能体助力科学种田-鸿蒙开发者社区

(3)智能体构建

使用使用宏 @agent 修饰 class 类型来定义一个 Agent 类型

基本框架构建:

// 配置导入
import magic.dsl.*
import magic.prelude.*
import magic.config.Config

...

@agent[
        // 配置使用到的 LLM 模型服务;默认使用 gpt-4o;
        model: "siliconflow:deepseek-ai/DeepSeek-V3"
        // 规划模式;默认为 react;
        executor: "react"
        // 配置接入的 MCP 服务器;
        // mcp: [
        //     { command: "cjpm", args: ["run", "--skip-build", "--name", "CangJie_Server.demo_server"] }
        // ]
    ]
class soilDoctor {
    @prompt(
        // 提示词配置
        ""
    )
}
...

梅科尔工作室Cangjie Magic探索:土壤医生智能体助力科学种田-鸿蒙开发者社区

大模型接入

配置使用到的 LLM 模型服务:模型配置使用格式 < service > : < model >,当前CangjieMagic支持如下的模型服务商。我们项目使用SiliconFlow的API接口,大家可以根据实际情况选择。

梅科尔工作室Cangjie Magic探索:土壤医生智能体助力科学种田-鸿蒙开发者社区

...
main() {
    // 配置大模型与API密钥,
    // 大模型的参数根据选择模型的不同需要进行调整,详细配置可以参考上方的官方支持接口表格
    Config.env["SILICONFLOW_API_KEY"] = "*********"
    
    ...
    
    return 
}

(4)智能体调用与运行

在完成基础配置之后,我们需要在mian()框架下进行智能体的调用,并预设输入内容

main() {

    Config.env["SILICONFLOW_API_KEY"] = "<替换为个人的AIP_Y>"

    let age = demoAgent()
    let result = age.chat("你好")

    println(result)

    return 
}

完成以上步骤后,我们就可以在终端输入命令cjpm run --name <package.name>运行项目,最终可以在终端看到我们的智能体输出。

梅科尔工作室Cangjie Magic探索:土壤医生智能体助力科学种田-鸿蒙开发者社区

至此完成CangjieMagic开发的环境配置与第一个智能体构建。

多项目工程协同Agent开发——土壤医生智能体

背景:目前大多数农民都是经验性施肥,这种粗放模式易导致化肥利用率低下和过量施用问题。测土配方施肥技术,通过"实地取样-化学检测-人工分析"环节实现精准配肥。但人工分析依赖于个人知识和经验积累,存在门槛、效率瓶颈。本项目基于全国测土配肥技术体系,构建工作流配肥智能体,辅助农技人员进行配肥判断,降低技术门槛,助力测土配肥技术推广。

多智能体协同开发

CangjieMagic多 Agent 可以被组织为组以进行高效协作,分为线性协同、主从协同、自由协同三类,本项目基于CangjieMagic线性协同多智能体协作的方式,构建了土壤医生智能体,优化传统分析流程,为农民提供施肥建议,提高肥料利用率。

项目定义了soilDoctor、soilAssistant两个智能体,分别负责整体输出风格的确定与用户提供数据的分析与建议输出

soilDoctor智能体定义整体输出风格,考虑目的是为用户提供施肥建议,用户主要面向农民与农技人员;定义使输出内容通俗易懂

...
@agent[
        model: "siliconflow:deepseek-ai/DeepSeek-V3", 
        executor: "react"
    ]
class soilDoctor {
    @prompt(
        "你是一位专业的土壤健康分析专家,具有丰富的农业知识和经验。"
        "请用通俗易懂的语言给出建议,确保农民能够理解和执行。"
    )
}
...

soilAssistant智能体主要进行用户输入数据与具体要求进行详细分析,输出分析报告

...

@agent[
    model: "siliconflow:deepseek-ai/DeepSeek-V3", 
    executor: "react"
    // tool : [soilCom]
    ]
class soilAssistant {
    @prompt(
        "你是一位专业的农业技术顾问,负责具体的施肥方案制定。"
        "你需要:"
        ...
        "请确保建议具有可操作性,并解释建议的科学依据。"
    )
}

...

项目调用仓颉API提供的std.console包实现用户输入,并将输入的而数据进行读取,准备进行存储到变量,预备输入给智能体。

    ...
    
    Console.stdOut.write("请输入一季作物的总吸收量(100): ")
    var total_crop_absorption = Console.stdIn.readln() // 输入

    var inPut1 = total_crop_absorption.getOrThrow()

    Console.stdOut.write("请输入土壤供应量(20):")
    var soil_supply = Console.stdIn.readln() // 输入

    var inPut2 = soil_supply.getOrThrow()
    
    ...

项目通过使用线性 协同的多智能体协同方式,将两个不同功能的智能体联合,共同实现土壤施肥推荐建议的功能
// Agent 按顺序操作,每个 Agent 接收前一个 Agent 的消息(包括结果和任务),进行处理,然后将结果传递给下一个 Agent 。

let linearGroup: LinearGroup = ag1 |> ag2 |> ag3
...
    let group = soilDoctor() |> soilAssistant()
    let result = group.chat(AgentRequest("一季作物的总吸收量:${inPut1},土壤供应量:${inPut2}")) 
...

项目运行最终输出:
梅科尔工作室Cangjie Magic探索:土壤医生智能体助力科学种田-鸿蒙开发者社区

后记

本文完成了仓颉开发环境的配置,运行了第一个仓颉程序,并基于CangjieMagic完成了第一个智能体的构建。

原生鸿蒙,仓颉造字:下一代全场景智能化编程语言,为鸿蒙生态而生,开启高效与安全的开发新纪元。期待未来它持续进化、生态繁荣,吸引更多开发者共同创新,推动智能体开发技术迈向新高度

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2025-5-20 20:21:35修改
收藏
回复
举报
回复
    相关推荐