# AgentEngine **Repository Path**: dasheng523/agent-engine ## Basic Information - **Project Name**: AgentEngine - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-05 - **Last Updated**: 2026-02-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AgentEngine: LangChain .NET 多模型协作 Demo ## 项目简介 这是一个基于 **LangChain .NET**、**Google Gemini** 以及 **智谱 AI (GLM)** 的多 Agent 协作演示项目。 项目通过 **Haskell 风格的函数式编程**思想,利用**组合子 (Combinator)** 以代数建模的方式构建复杂的、跨模型厂商的 Agent 工作流。 ## 核心设计理念 ### 1. 代数建模 (Algebraic Modeling) - 将 Agent 抽象为 `IAgent`,类似 Haskell 的 `a -> m b` 类型 - 所有 Agent 都是可组合的计算单元 ### 2. 组合子模式 (Combinator Pattern) 提供了以下组合子: - `Then`: 顺序组合,类似 `(>>>) :: (a -> b) -> (b -> c) -> (a -> c)` - `Map`: 函子映射,类似 `fmap :: (b -> c) -> f b -> f c` - `MapAsync`: 异步版本的 Map ### 3. 纯函数与副作用分离 - 纯计算逻辑封装在 `PureFunctionAgents` 中 - LLM 调用等副作用操作封装在 `GeminiAgent` 中 - 通过组合子统一接口 ## 项目结构 ``` LangChainGeminiDemo/ ├── Abstractions/ │ └── IAgent.cs # Agent 抽象接口和组合子定义 ├── Agents/ │ ├── GeminiAgent.cs # Gemini LLM 实现 │ ├── GlmAgent.cs # 智谱 GLM 实现 (支持专用 Coding 端点) │ ├── GeminiModels.cs # Gemini 模型常量 (Gemini 3 系列) │ ├── GlmModels.cs # GLM 模型常量 (GLM-4.7, 4-Plus 等) │ └── PureFunctionAgents.cs # 纯函数式辅助 Agent (Formatter, Logger 等) └── Program.cs # 演示程序主入口 (包含 5 个演示场景) ``` ## 快速开始 ### 1. 获取 API Key - **Gemini**: 访问 [Google AI Studio](https://makersuite.google.com/app/apikey) - **GLM**: 访问 [智谱 AI 开放平台](https://bigmodel.cn/) ### 2. 配置环境变量 **Windows (PowerShell):** ```powershell $env:GOOGLE_API_KEY = "你的Gemini密钥" $env:ZHIPU_AI_KEY = "你的智谱AI密钥" ``` **或者永久设置:** ```powershell setx GOOGLE_API_KEY "你的Gemini密钥" setx ZHIPU_AI_KEY "你的智谱AI密钥" ``` **Linux/Mac:** ```bash export GOOGLE_API_KEY="你的API密钥" ``` ### 3. 运行项目 ```bash cd src/LangChainGeminiDemo dotnet run ``` ## 演示内容 ### Demo 4: GLM-4.7 专属能力 展示使用智谱 AI 最新旗舰模型进行中文创作,并演示 **Coding 专属端点** 的自动路由逻辑。 ### Demo 5: 跨模型代数组合 (Gemini + GLM) 这是本项目的核心展示: - **Gemini** 负责初步创意构思 (利用其多样的全球化视野)。 - **GLM** 负责润色与本地化 (利用其对中文语境和开发者文化的深层理解)。 - 展示了如何通过 `IAgent` 抽象透明地连接不同厂商的 AI 能力。 ## 函数式编程特性 ### 1. 类型安全的组合 ```csharp IAgent pipeline = agentA.Then(agentB).Then(agentC); ``` 编译器会确保类型匹配:`agentA` 的输出类型必须是 `agentB` 的输入类型 ### 2. 声明式构建 代码读起来像数学公式,清晰表达数据流向: ```csharp var result = input |> formatter |> analyzer |> translator |> logger ``` ### 3. 可重用的组件 每个 Agent 都是独立的、可测试的单元,可以自由组合 ## 技术栈 - **.NET 10** (兼容 .NET 8+) - **Mscc.GenerativeAI** & **HttpClient** - **LLM 服务支持**: - **Google Gemini 3 Preview**: Flash (默认快速) / Pro (强推理)。 - **智谱 AI GLM-4.7**: 提供通用端点与 **Coding 专属端点** (`isCoding: true`) 的自动切换。 ## 下一步扩展方向 ### 1. 添加更多组合子 - `Parallel`: 并行执行多个 Agent - `Choice`: 条件分支选择 - `Retry`: 失败重试逻辑 ### 2. 引入 LangGraph 使用状态图来处理更复杂的循环和条件逻辑 ### 3. 集成工具调用 (Tool Calling) 让 Agent 可以调用外部 API 和服务 ### 4. 添加内存系统 使 Agent 能够记住上下文和历史对话 ## 许可证 MIT