代码设计师 —— 模型路由策略、模型池配置与服务端 API 对接
基于任务特性自动路由到最优模型,在成本、速度和精确度之间找到平衡。
| 决策维度 | 路由逻辑 | 示例 |
|---|---|---|
| 语言 | 中文提问/中文代码 → 优先国产模型(千问、DeepSeek);英文/多语言 → Claude、GPT | 中文 Bug 修复 → deepseek-chat |
| 代码类型 | 前端/样式 → Claude (Sonnet);后端/架构 → GPT-4o 或 DeepSeek;全栈 → Sonnet 或 GPT-4o | UI 调整 → claude-3.5-sonnet |
| 推理强度 | 需要深度分析(等级 2+)→ 优先思维链模型(DeepSeek-R1、Gemini Thinking) | 根因分析 → deepseek-reasoner |
| 上下文长度 | 超过 32K → Gemini 1.5 Pro (200K) 或 GPT-4o (128K) | 全项目诊断 → gemini-1.5-pro |
| 速度要求 | 实时操作(等级 0)→ 快速模型(Haiku、Flash、qwen-turbo) | 格式化文本 → gemini-1.5-flash |
| 成本 | 预算紧张 → 国产模型或 4o-mini;重要任务 → 高端模型 | 日常修复 → qwen-plus |
为每个质量等级配置模型池,根据任务特性自动路由到最佳模型。
| 模型 | 适合场景 | 特点 |
|---|---|---|
| gemini-1.5-flash | 英文环境、非中文文本处理 | 极速、超低延迟 |
| qwen-turbo | 中文文本格式化、简单翻译 | 中文优秀、成本低 |
| deepseek-chat | 简单脚本执行、文件复制等 | 性价比高、代码基础好 |
| gpt-4o-mini | 多语言混合环境 | OpenAI 生态、兼容性好 |
按源语言自动选择,中文优先 qwen-turbo,英文优先 gemini-1.5-flash;若有代码片段则用 deepseek-chat。
| 模型 | 适合场景 | 特点 |
|---|---|---|
| claude-3.5-sonnet | 前端/全栈开发、复杂工具调用 | 编码最强、工具编排优秀 |
| gpt-4o | 后端开发、多步骤任务 | 推理全面、上下文 128K |
| deepseek-chat | 中文项目、成本敏感场景 | 国产第一梯队、代码能力强 |
| qwen-max | 中文复杂业务逻辑 | 中文理解力顶级 |
默认主力:claude-3.5-sonnet(处理大部分编码任务)。中文任务或国内 API:自动切换 deepseek-chat 或 qwen-max。超长上下文需求:任务描述超过 32K 时选用 gpt-4o。高并发或预算限制:降级至 deepseek-chat 或 qwen-max。
| 模型 | 适合场景 | 特点 |
|---|---|---|
| deepseek-reasoner (R1) | 复杂根因分析、逻辑推理 | 思维链模式、逐步推理 |
| claude-3.5-sonnet | 架构诊断、跨模块分析 | 分析质量高、安全保守 |
| gpt-4o | 长上下文全局分析 | 128K 上下文、可加载整个模块 |
| gemini-2.0-flash-thinking | 多模态分析(如图表、日志截图) | 推理+视觉、适合混合输入 |
首选推理模型:deepseek-reasoner 进行步进式诊断。若推理失败或需外部知识:退至 claude-3.5-sonnet 或 gpt-4o。涉及大量日志/截图:调用 gemini-2.0-flash-thinking 进行多模态分析。
| 模型 | 适合场景 | 特点 |
|---|---|---|
| claude-3-opus | 安全关键决策、架构选型 | 最保守、幻觉率最低 |
| gemini-1.5-pro | 全栈代码库分析(200K+) | 超长上下文、可加载整个项目 |
| gpt-4o | 多方案对比、重构计划 | 均衡能力、极长上下文 |
| deepseek-reasoner | 需要严格推理链的重大决策 | 可审计的推理过程 |
决策生成:双模型并行,claude-3-opus 和 gemini-1.5-pro 同时输出方案,由 PM 融合。长上下文加载:优先 gemini-1.5-pro 读取全项目代码。逻辑自洽检查:将方案输入 deepseek-reasoner 验证逻辑漏洞。降级保障:任一模型不可用时,gpt-4o 作为通用替代。
| 步骤 | 说明 |
|---|---|
| 定义模型组 | 每个等级一个模型组,列出候选模型及优先级 |
| 路由规则 | 基于 task_description 的语言检测、关键词和上下文长度动态选择模型 |
| Fallback 链 | 若首选模型超时或返回错误,自动尝试下一个候选 |
| 成本控制 | 统计每个等级的平均花费,必要时调整候选顺序 |
多语言服务端接入模型配置服务接口,向客户端提供可用的 AI 模型列表及其配置信息。
该接口用于向客户端提供可用的 AI 模型列表及其配置信息,包括 API 地址、认证密钥、模型限制等。
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| status | string | 是 | 请求状态,成功时必须为"ok" |
| data | object | 是 | 包含 token 和 models 列表的数据对象 |
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| token | string | 是 | 认证令牌,用于后续请求的身份验证 |
| models | array | 是 | Model 对象的数组 |
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| api | string | 是 | 模型服务的 API 地址 |
| type | string | 是 | 模型类型标识符 |
| name | string | 是 | 模型的显示名称 |
| key | string | 是 | 调用该模型所需的密钥 |
| text | string | 是 | 模型的文本标识 |
| level | number | 是 | 模型等级(整数) |
| maxTokens | number | 是 | 模型支持的最大上下文长度 |
{
"Username": "admin",
"password": "123456",
"method": "Login"
}// 成功响应示例
{
"status": "ok",
"data": {
"token": "your_generated_jwt_or_token_string",
"models": [
{
"api": "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions",
"type": "qwen",
"name": "qwen-plus",
"key": "sk-your-actual-api-key-here",
"text": "qwen-plus",
"level": 0,
"maxTokens": 256000
}
],
"v-models": [
{
"api": "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions",
"type": "qwen",
"name": "qwen-vl-plus",
"key": "sk-your-actual-api-key-here",
"text": "qwen-vl-plus",
"level": 0,
"maxTokens": 256000
}
]
}
}
// 失败响应示例
{
"status": "error",
"message": "Invalid username or password"
}// 正常场景 - 输入
{
"Username": "testuser",
"password": "testpass",
"method": "Login"
}
// 正常场景 - 预期输出
{
"status": "ok",
"data": {
"token": "valid_token_string",
"models": [{
"api": "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions",
"type": "qwen",
"name": "qwen-plus",
"key": "sk-test-key",
"text": "qwen-plus",
"level": 0,
"maxTokens": 256000
}]
}
}
// 异常场景 - 输入
{
"Username": "wrong",
"password": "wrong",
"method": "Login"
}
// 异常场景 - 预期输出
{
"status": "error",
"message": "Invalid credentials"
}使用 HTTPS 加密所有通信,对密码进行哈希存储,实施密钥轮换策略,定期进行安全审计。API 密钥不应硬编码在代码中。
使用连接池管理数据库连接,对频繁访问的数据进行缓存,异步处理耗时操作,优化数据库查询语句。