标签 AI智能体 下的文章

随着人工智能(AI)技术的不断进步和广泛应用,AI已经渗透到金融、医疗、制造、自动驾驶等多个行业。尽管AI带来了巨大的创新和效率提升,但随着其应用范围的扩大,AI的安全性问题也逐渐暴露出来。AI应用安全不仅仅局限于算法模型的本身,更多的是涉及数据隐私、对抗攻击、模型滥用、合规性问题以及垂直行业应用中的特殊风险。因此,企业需要全面识别并应对这些AI应用中的潜在风险,构建健全的AI安全管理体系。

一、AI应用安全的核心挑战
AI应用的安全风险源自多个层面,既包括算法层面的风险,也涉及数据、系统、法律等多维度的安全隐患。
1.1 AI模型算法滥用风险
随着AI生成内容的普及,模型算法的滥用已成为迫切需要解决的安全隐患。特别是在生成式AI领域,AI模型可能被用来生成虚假信息、深度伪造内容等,直接影响社会舆论,甚至对企业造成直接经济损失。

  1. 虚假有害信息的传播:生成的AI内容可能被恶意用于传播虚假信息、误导公众、制造恐慌或进行欺诈活动。例如,某些不法分子利用AI生成的新闻报道或虚假视频,制造社会不稳定因素。
  2. 多模态深度伪造的风险:深度伪造技术融合了视频、音频、文本等多模态内容,生成高度逼真的虚假信息。这类攻击不仅可能带来经济损失,还会破坏公众的信任基础,影响法律和社会规范的实施。
  3. 模型透明性不足:AI应用在实际运行中,许多模型尤其是复杂的深度学习模型,往往缺乏足够的透明度,用户无法理解模型的决策过程。这种“黑箱”性质不仅增加了用户的使用风险,也使得当出现错误决策时,问题难以被迅速定位和解决。

1.2 AI应用开发安全风险
AI应用开发不仅仅是技术问题,还涉及硬件、软件以及协同环境的整合,这就使得AI开发中的安全风险更加复杂和多样化。

  1. 端侧AI安全风险:在边缘计算环境中,由于端侧设备的硬件限制,AI模型可能需要进行压缩或优化,这样的处理虽然可以提升运行效率,但也可能导致模型的鲁棒性和安全性下降,出现性能下降或“安全税”现象。此外,端侧部署通常要求在设备端实现实时推理,并依赖云边协同架构进行模型更新和任务调度,这也带来了异构硬件兼容性和网络延迟等潜在风险。
  2. 智能体的安全风险:AI智能体是由AI模型驱动的自主系统,能够执行复杂任务。随着AI智能体与外部环境的不断交互,智能体的安全风险也在增加。攻击者可能通过篡改协议或利用自主决策链路的不可预测性,导致智能体做出错误决策,从而产生安全漏洞。
  3. 具身智能的安全隐患:具身智能涉及到现实世界中的物理行动,其安全风险不容忽视。传感器设备可能泄露个人信息,具身智能体的物理行为可能被恶意攻击者控制,从而导致人身伤害或财产损失。例如,服务机器人操作不当,或自动驾驶汽车发生事故,都是具身智能安全风险的典型表现。
  4. 智能物联网(AIoT)安全:智能物联网设备融合了AI算法与物联网的物理特性,部署在受限的边缘环境中,面临着传感器噪声、物理攻击、以及复杂环境干扰等问题。与传统物联网设备相比,AIoT还面临着AI特有的安全威胁,如对抗样本攻击、训练数据投毒和模型窃取等问题。

1.3 AI垂直行业应用的安全风险
AI技术在垂直行业的应用,虽然带来了行业的革新,但也带来了独特的安全风险。不同的行业面临的AI应用安全问题各具特点。

  1. AI在医疗行业的安全风险:AI在医疗领域的应用极大地提高了诊断效率和精确度,但也伴随着巨大的技术与伦理风险。训练数据的偏差、系统漏洞可能导致医疗设备发生错误,甚至误诊。此外,AI系统在处理敏感的患者信息时,若未采取充分的加密与权限管理,可能会导致患者隐私泄露,进而带来法律与伦理上的问题。
  2. AI在新闻领域的滥用风险:随着AI生成内容技术的普及,新闻行业面临着虚假新闻传播的风险。某些不法分子可能利用AI模型生成虚假报道、伪造证据,借此操纵舆论或进行诈骗活动。如何确保生成内容的真实性与可信度,成为新闻行业亟待解决的安全挑战。
  3. AI在金融行业的安全风险:金融行业的AI应用包括身份验证、交易监控等多个方面,面临着深度伪造技术带来的身份验证问题。攻击者通过深度伪造技术伪造身份信息,可能突破金融机构的身份核查系统,实施盗刷或恶意注册等欺诈行为,造成极大的经济损失。
  4. AI在编程领域的安全风险:AI辅助编程不仅提高了开发效率,但也带来了代码安全隐患。AI生成的代码可能存在常见漏洞(如SQL注入、跨站脚本攻击等),同时AI生成的代码缺乏架构设计,可能导致后期维护困难。由于过度依赖AI生成的代码,开发人员可能减少了必要的人工审查,从而放大了潜在的安全风险。

二、AI应用安全的解决方案与应对措施
针对上述AI应用中的安全风险,企业需要采取多维度的防护措施,构建全方位的AI安全管理体系。
2.1 提高模型的鲁棒性和透明性
为了应对AI模型的滥用风险,企业应加大对AI模型的鲁棒性和透明度的建设。例如,采用对抗训练增强模型的抗干扰能力,采用可解释性AI(XAI)技术提升模型的透明度,帮助用户理解决策过程,从而降低不当信任的风险。
2.2 强化数据保护与隐私管理
在AI应用过程中,数据是最核心的资产之一。企业应实施数据加密、访问控制、数据脱敏等技术,确保数据的隐私性和安全性。此外,企业应遵守相关的法律法规,如GDPR等,确保数据使用的合法合规。
2.3 强化安全检测与监控
企业需要在AI模型开发与应用过程中加入安全检测与监控机制,实时发现潜在的安全隐患。例如,利用自动化工具扫描AI模型的依赖组件,识别潜在漏洞,及时修复,并部署AI安全监控系统,实时监控模型的运行状态和异常行为。
2.4 建立合规性框架
AI应用不仅要在技术上保障安全,还需要满足法律法规的合规性要求。企业应构建全面的AI合规性框架,制定AI应用的合规性审查标准,确保AI技术在法律法规框架下运行。

三、艾体宝Mend价值
Mend通过其全面的软件组成分析(SCA)与依赖治理功能,在模型安全方面发挥了关键作用,帮助企业应对AI模型开发、训练、部署和维护过程中面临的安全挑战。具体价值体现在以下几个方面:

3.1 识别和治理AI应用依赖中的安全风险
AI应用往往依赖于多个开源库和第三方组件,而这些组件可能带有安全隐患。Mend通过自动化的SCA工具,能够深入识别和分析AI应用中所依赖的开源库及第三方组件,实时扫描每个依赖组件的安全风险。无论是AI平台、训练框架、容器镜像,还是MLOps流水线中的每一层,Mend都能够精确检测出潜在的漏洞、许可证问题和版本不兼容等安全风险。企业可以借助Mend的实时扫描功能,提前识别并解决这些隐患,避免将不安全的依赖组件引入AI应用,从而减少因依赖漏洞带来的应用安全风险。

3.2 构建透明的SBOM体系,确保合规性
AI应用不仅需要从技术层面防护,还必须符合相关的合规要求。Mend帮助企业构建和管理全面的安全SBOM(软件物料清单)体系,生成覆盖整个AI应用栈的SBOM清单。这一清单为合规审计、漏洞报告和监管备案提供了透明和准确的数据支持。通过Mend的SBOM工具,企业能够清晰地掌握AI应用中每个组件的来源、版本及其安全状况,从而确保模型和应用的安全性与合规性,避免因信息不透明而引发的法律和合规问题。通过这种全面的管理,Mend帮助企业在复杂的合规环境中确保AI应用的合法性与合规性。

3.3 防范对抗攻击与漏洞利用
Mend通过对AI模型进行真实的红队模拟交互,模拟攻击者的行为,测试模型对恶意输入、提示词注入以及其他对抗攻击的防御能力。Mend通过模拟各种可能的攻击情境,实际验证模型在面对各种恶意输入时的响应能力和稳定性。通过这种方式,Mend能够识别出潜在的安全漏洞,并提供针对性的防御策略,帮助企业提前发现并修复可能被攻击者利用的弱点。

大家好,我是V哥!今天要跟大家分享一个超级干货——如何在鸿蒙6(API21)上开发一个真正能用的AI智能体。不是那种玩具级别的Demo,而是能语音对话、能理解你意图、还能帮你干活的智能助手!

一、为什么要在鸿蒙上做AI智能体?

兄弟们,2026年了,AI Agent(智能体)绝对是最火的技术方向之一。什么是智能体?简单说就是:能感知、能思考、能行动的AI程序

鸿蒙6在AI这块可以说是下了血本:

  • 原生AI能力:MindSpore Lite端侧推理引擎
  • 语音能力:ASR语音识别 + TTS语音合成
  • 意图识别:智能理解用户需求
  • 大模型接入:轻松对接各种LLM API

今天V哥就手把手带你做一个多模态AI智能助手,它能:

  1. ✅ 语音唤醒,开口就能聊
  2. ✅ 智能对话,接入大模型
  3. ✅ 意图识别,理解你想干嘛
  4. ✅ 执行任务,帮你打开应用、设置闹钟等
  5. ✅ 多轮记忆,上下文连贯

废话不多说,直接上代码!


二、项目架构设计

┌─────────────────────────────────────────────────────────────────┐
│                      AI智能体架构(V哥设计)                      │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   ┌─────────────┐    ┌─────────────┐    ┌─────────────┐        │
│   │  语音输入   │───▶│  语音识别   │───▶│  意图理解   │        │
│   │   (ASR)    │    │   Engine    │    │   Engine    │        │
│   └─────────────┘    └─────────────┘    └──────┬──────┘        │
│                                                 │               │
│                                                 ▼               │
│   ┌─────────────┐    ┌─────────────┐    ┌─────────────┐        │
│   │  语音输出   │◀───│  回复生成   │◀───│  对话管理   │        │
│   │   (TTS)    │    │   (LLM)    │    │   Agent    │        │
│   └─────────────┘    └─────────────┘    └──────┬──────┘        │
│                                                 │               │
│                                                 ▼               │
│                                        ┌─────────────┐         │
│                                        │  任务执行   │         │
│                                        │  Actions   │         │
│                                        └─────────────┘         │
└─────────────────────────────────────────────────────────────────┘

三、项目创建与配置

步骤1:创建项目

DevEco Studio → New Project
→ Empty Ability (Stage模型)
→ Project name: VGeAIAgent
→ Bundle name: com.vge.aiagent
→ Compile SDK: 5.0.0(API 12) 或更高

步骤2:配置 module.json5

{
  "module": {
    "name": "entry",
    "type": "entry",
    "description": "$string:module_desc",
    "mainElement": "EntryAbility",
    "deviceTypes": ["phone", "tablet"],
    "deliveryWithInstall": true,
    "installationFree": false,
    "pages": "$profile:main_pages",
    "abilities": [
      {
        "name": "EntryAbility",
        "srcEntry": "./ets/entryability/EntryAbility.ets",
        "description": "$string:EntryAbility_desc",
        "icon": "$media:icon",
        "label": "$string:EntryAbility_label",
        "startWindowIcon": "$media:startIcon",
        "startWindowBackground": "$color:start_window_background",
        "exported": true,
        "skills": [
          {
            "entities": ["entity.system.home"],
            "actions": ["action.system.home"]
          }
        ]
      }
    ],
    "requestPermissions": [
      {
        "name": "ohos.permission.MICROPHONE",
        "reason": "$string:mic_reason",
        "usedScene": {
          "abilities": ["EntryAbility"],
          "when": "inuse"
        }
      },
      {
        "name": "ohos.permission.INTERNET",
        "reason": "$string:net_reason",
        "usedScene": {
          "abilities": ["EntryAbility"],
          "when": "always"
        }
      },
      {
        "name": "ohos.permission.DISTRIBUTED_DATASYNC",
        "reason": "$string:sync_reason",
        "usedScene": {
          "abilities": ["EntryAbility"],
          "when": "always"
        }
      }
    ]
  }
}

四、核心代码实现

1. 消息数据模型 (model/MessageModel.ets)

// entry/src/main/ets/model/MessageModel.ets

/**
 * V哥设计的消息模型
 * 支持多种消息类型,为后续扩展预留空间
 */

// 消息角色
export enum MessageRole {
  USER = 'user',           // 用户消息
  ASSISTANT = 'assistant', // AI助手消息
  SYSTEM = 'system'        // 系统消息
}

// 消息类型
export enum MessageType {
  TEXT = 'text',           // 文本消息
  VOICE = 'voice',         // 语音消息
  ACTION = 'action',       // 执行动作
  THINKING = 'thinking'    // 思考中
}

// 意图类型
export enum IntentType {
  CHAT = 'chat',                    // 闲聊
  OPEN_APP = 'open_app',            // 打开应用
  SET_ALARM = 'set_alarm',          // 设置闹钟
  SET_REMINDER = 'set_reminder',    // 设置提醒
  QUERY_WEATHER = 'query_weather',  // 查询天气
  QUERY_TIME = 'query_time',        // 查询时间
  CONTROL_DEVICE = 'control_device',// 控制设备
  UNKNOWN = 'unknown'               // 未知意图
}

// 消息实体
export class Message {
  id: string = '';
  role: MessageRole = MessageRole.USER;
  type: MessageType = MessageType.TEXT;
  content: string = '';
  timestamp: number = 0;
  intent?: IntentType;
  intentParams?: Record<string, string>;
  isStreaming?: boolean;  // 是否流式输出中

  constructor(init?: Partial<Message>) {
    this.id = `msg_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
    this.timestamp = Date.now();
    if (init) {
      Object.assign(this, init);
    }
  }
}

// 对话上下文(用于多轮对话)
export class ConversationContext {
  messages: Message[] = [];
  maxHistory: number = 10;  // 最多保留10轮对话

  addMessage(message: Message): void {
    this.messages.push(message);
    // 超过限制则移除最早的消息
    if (this.messages.length > this.maxHistory * 2) {
      this.messages = this.messages.slice(-this.maxHistory * 2);
    }
  }

  getHistory(): Message[] {
    return this.messages;
  }

  clear(): void {
    this.messages = [];
  }

  // 转换为LLM API需要的格式
  toAPIFormat(): Array<{role: string, content: string}> {
    return this.messages
      .filter(m => m.type === MessageType.TEXT)
      .map(m => ({
        role: m.role,
        content: m.content
      }));
  }
}

2. 意图识别引擎 (engine/IntentEngine.ets)

// entry/src/main/ets/engine/IntentEngine.ets

import { IntentType } from '../model/MessageModel';

/**
 * V哥的意图识别引擎
 * 使用规则+关键词匹配,生产环境可接入NLU模型
 */

interface IntentRule {
  intent: IntentType;
  keywords: string[];
  patterns: RegExp[];
  extractor?: (text: string) => Record<string, string>;
}

export class IntentEngine {
  private static instance: IntentEngine;
  private rules: IntentRule[] = [];

  private constructor() {
    this.initRules();
  }

  static getInstance(): IntentEngine {
    if (!IntentEngine.instance) {
      IntentEngine.instance = new IntentEngine();
    }
    return IntentEngine.instance;
  }

  /**
   * 初始化意图规则
   */
  private initRules(): void {
    this.rules = [
      // 打开应用
      {
        intent: IntentType.OPEN_APP,
        keywords: ['打开', '启动', '运行', '开启'],
        patterns: [
          /打开(.+?)(?:应用|app|APP)?$/,
          /启动(.+)/,
          /帮我开(.+)/
        ],
        extractor: (text: string) => {
          const appNames: Record<string, string> = {
            '相机': 'com.huawei.camera',
            '相册': 'com.huawei.photos',
            '设置': 'com.huawei.settings',
            '日历': 'com.huawei.calendar',
            '计算器': 'com.huawei.calculator',
            '备忘录': 'com.huawei.notes',
            '音乐': 'com.huawei.music',
            '视频': 'com.huawei.video',
            '浏览器': 'com.huawei.browser',
            '微信': 'com.tencent.mm',
            '支付宝': 'com.eg.android.AlipayGphone',
            '抖音': 'com.ss.android.ugc.aweme'
          };

          for (const [name, bundleName] of Object.entries(appNames)) {
            if (text.includes(name)) {
              return { appName: name, bundleName: bundleName };
            }
          }
          return {};
        }
      },

      // 设置闹钟
      {
        intent: IntentType.SET_ALARM,
        keywords: ['闹钟', '叫我', '提醒我起床', '定个闹钟'],
        patterns: [
          /(\d{1,2})[点::](\d{0,2}).*(?:闹钟|叫我|起床)/,
          /(?:明天|后天)?(?:早上|上午|中午|下午|晚上)?(\d{1,2})[点::]?(\d{0,2})?.*(?:闹钟|叫我)/,
          /设.*闹钟.*(\d{1,2})[点::](\d{0,2})?/
        ],
        extractor: (text: string) => {
          const timeMatch = text.match(/(\d{1,2})[点::](\d{0,2})?/);
          if (timeMatch) {
            const hour = timeMatch[1];
            const minute = timeMatch[2] || '00';
            return { hour, minute };
          }
          return {};
        }
      },

      // 设置提醒
      {
        intent: IntentType.SET_REMINDER,
        keywords: ['提醒我', '别忘了', '记得'],
        patterns: [
          /(\d+)(?:分钟|小时)后提醒我(.+)/,
          /提醒我(.+)/,
          /(\d{1,2})[点::](\d{0,2})?提醒我(.+)/
        ],
        extractor: (text: string) => {
          // 提取时间和内容
          const minuteMatch = text.match(/(\d+)分钟后提醒我(.+)/);
          if (minuteMatch) {
            return {
              delayMinutes: minuteMatch[1],
              content: minuteMatch[2]
            };
          }

          const hourMatch = text.match(/(\d+)小时后提醒我(.+)/);
          if (hourMatch) {
            return {
              delayMinutes: String(parseInt(hourMatch[1]) * 60),
              content: hourMatch[2]
            };
          }

          const contentMatch = text.match(/提醒我(.+)/);
          if (contentMatch) {
            return { content: contentMatch[1] };
          }

          return {};
        }
      },

      // 查询天气
      {
        intent: IntentType.QUERY_WEATHER,
        keywords: ['天气', '下雨', '温度', '气温', '穿什么'],
        patterns: [
          /(.+?)(?:的)?天气/,
          /(?:今天|明天|后天).*(?:天气|下雨|温度)/,
          /要不要带伞/
        ],
        extractor: (text: string) => {
          const cityMatch = text.match(/(.{2,4}?)(?:的)?天气/);
          if (cityMatch && !['今天', '明天', '后天', '这里', '现在'].includes(cityMatch[1])) {
            return { city: cityMatch[1] };
          }
          return { city: '北京' };  // 默认城市
        }
      },

      // 查询时间
      {
        intent: IntentType.QUERY_TIME,
        keywords: ['几点', '时间', '日期', '星期几', '今天几号'],
        patterns: [
          /现在几点/,
          /什么时间/,
          /今天.*(?:几号|星期几|周几)/
        ],
        extractor: () => ({})
      },

      // 控制设备
      {
        intent: IntentType.CONTROL_DEVICE,
        keywords: ['打开灯', '关灯', '开灯', '空调', '电视', '窗帘'],
        patterns: [
          /(打开|关闭|开|关)(.+?)(?:灯|空调|电视|窗帘)/,
          /把(.+?)(打开|关闭|开|关)/,
          /(.+?)(?:调到|设置为?)(\d+)度/
        ],
        extractor: (text: string) => {
          const actionMatch = text.match(/(打开|关闭|开|关)(.+)/);
          if (actionMatch) {
            return {
              action: actionMatch[1].includes('开') ? 'on' : 'off',
              device: actionMatch[2]
            };
          }
          return {};
        }
      }
    ];
  }

  /**
   * 识别用户意图
   */
  recognize(text: string): { intent: IntentType; params: Record<string, string>; confidence: number } {
    const normalizedText = text.toLowerCase().trim();

    for (const rule of this.rules) {
      // 关键词匹配
      const keywordMatch = rule.keywords.some(kw => normalizedText.includes(kw));

      // 正则匹配
      const patternMatch = rule.patterns.some(pattern => pattern.test(normalizedText));

      if (keywordMatch || patternMatch) {
        const params = rule.extractor ? rule.extractor(normalizedText) : {};
        const confidence = keywordMatch && patternMatch ? 0.95 : 0.75;

        console.info(`[IntentEngine] 识别结果: ${rule.intent}, 置信度: ${confidence}`);
        return {
          intent: rule.intent,
          params,
          confidence
        };
      }
    }

    // 默认为闲聊
    return {
      intent: IntentType.CHAT,
      params: {},
      confidence: 0.5
    };
  }
}

3. 大模型对话服务 (service/LLMService.ets)

// entry/src/main/ets/service/LLMService.ets

import { http } from '@kit.NetworkKit';
import { ConversationContext, Message, MessageRole } from '../model/MessageModel';
import { BusinessError } from '@kit.BasicServicesKit';

/**
 * V哥的LLM服务封装
 * 支持多种大模型API,这里以通用格式为例
 */

// LLM配置接口
interface LLMConfig {
  apiUrl: string;
  apiKey: string;
  model: string;
  maxTokens: number;
  temperature: number;
}

// API请求格式
interface ChatCompletionRequest {
  model: string;
  messages: Array<{ role: string; content: string }>;
  max_tokens: number;
  temperature: number;
  stream: boolean;
}

// API响应格式
interface ChatCompletionResponse {
  id: string;
  choices: Array<{
    message: {
      role: string;
      content: string;
    };
    finish_reason: string;
  }>;
  usage: {
    prompt_tokens: number;
    completion_tokens: number;
    total_tokens: number;
  };
}

export class LLMService {
  private static instance: LLMService;
  private config: LLMConfig;
  private systemPrompt: string;

  private constructor() {
    // 默认配置(实际使用时替换为你的API信息)
    this.config = {
      apiUrl: 'https://api.openai.com/v1/chat/completions',  // 或其他兼容API
      apiKey: 'your-api-key-here',  // 替换为你的API Key
      model: 'gpt-3.5-turbo',
      maxTokens: 2048,
      temperature: 0.7
    };

    // 系统提示词 - V哥精心调教
    this.systemPrompt = `你是一个运行在鸿蒙系统上的AI智能助手,名叫"小V助手"。

你的特点:
1. 友好、幽默、专业
2. 回答简洁有力,不啰嗦
3. 能理解用户意图,给出实用建议
4. 熟悉鸿蒙生态和华为设备
5. 在适当时候使用emoji增加亲和力

你可以帮用户:
- 回答各种问题
- 闲聊解闷
- 提供建议和帮助
- 解释技术概念

请用中文回复,保持回答在100字以内(除非用户明确要求详细解释)。`;
  }

  static getInstance(): LLMService {
    if (!LLMService.instance) {
      LLMService.instance = new LLMService();
    }
    return LLMService.instance;
  }

  /**
   * 更新配置
   */
  updateConfig(config: Partial<LLMConfig>): void {
    this.config = { ...this.config, ...config };
  }

  /**
   * 发送对话请求
   */
  async chat(userMessage: string, context: ConversationContext): Promise<string> {
    // 构建消息历史
    const messages: Array<{ role: string; content: string }> = [
      { role: 'system', content: this.systemPrompt },
      ...context.toAPIFormat(),
      { role: 'user', content: userMessage }
    ];

    const requestData: ChatCompletionRequest = {
      model: this.config.model,
      messages: messages,
      max_tokens: this.config.maxTokens,
      temperature: this.config.temperature,
      stream: false
    };

    try {
      const httpRequest = http.createHttp();

      const response = await httpRequest.request(
        this.config.apiUrl,
        {
          method: http.RequestMethod.POST,
          header: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer ${this.config.apiKey}`
          },
          extraData: JSON.stringify(requestData),
          connectTimeout: 30000,
          readTimeout: 60000
        }
      );

      httpRequest.destroy();

      if (response.responseCode === 200) {
        const result = JSON.parse(response.result as string) as ChatCompletionResponse;
        const content = result.choices[0]?.message?.content || '抱歉,我没有理解你的意思';
        console.info(`[LLMService] 响应成功,Token使用: ${result.usage?.total_tokens}`);
        return content;
      } else {
        console.error(`[LLMService] API错误: ${response.responseCode}`);
        return this.getFallbackResponse(userMessage);
      }
    } catch (err) {
      const error = err as BusinessError;
      console.error(`[LLMService] 请求失败: ${error.code} - ${error.message}`);
      return this.getFallbackResponse(userMessage);
    }
  }

  /**
   * 离线兜底回复(当API不可用时)
   */
  private getFallbackResponse(userMessage: string): string {
    const fallbackResponses: Record<string, string[]> = {
      '你好': ['你好呀!有什么可以帮你的?', '嗨!我是小V助手,很高兴见到你!'],
      '谢谢': ['不客气!随时为你服务~', '应该的,还有什么需要帮助的吗?'],
      '再见': ['再见!期待下次聊天~', '拜拜,有事随时找我哦!'],
      '你是谁': ['我是小V助手,运行在鸿蒙系统上的AI助手!', '我叫小V,是V哥打造的智能助手~'],
      '你能做什么': ['我能陪你聊天、回答问题、帮你打开应用、设置提醒等等!试试看吧~', 
                   '我可以:闲聊解闷、回答问题、控制设备、设置闹钟提醒...功能多多!']
    };

    // 关键词匹配
    for (const [keyword, responses] of Object.entries(fallbackResponses)) {
      if (userMessage.includes(keyword)) {
        return responses[Math.floor(Math.random() * responses.length)];
      }
    }

    // 默认回复
    const defaultResponses = [
      '我现在网络不太好,稍后再试试吧~',
      '让我想想... 你能换个方式问我吗?',
      '抱歉,我没太理解,能再说一遍吗?',
      '网络开小差了,不过我们可以继续聊别的!'
    ];

    return defaultResponses[Math.floor(Math.random() * defaultResponses.length)];
  }

  /**
   * 流式对话(支持打字机效果)
   */
  async chatStream(
    userMessage: string,
    context: ConversationContext,
    onChunk: (chunk: string) => void,
    onComplete: (fullText: string) => void
  ): Promise<void> {
    // 简化实现:模拟流式输出
    const response = await this.chat(userMessage, context);

    let index = 0;
    const interval = setInterval(() => {
      if (index < response.length) {
        onChunk(response[index]);
        index++;
      } else {
        clearInterval(interval);
        onComplete(response);
      }
    }, 30);  // 每30ms输出一个字符
  }
}

4. 语音服务封装 (service/VoiceService.ets)

// entry/src/main/ets/service/VoiceService.ets

import { speechRecognizer } from '@kit.CoreSpeechKit';
import { textToSpeech } from '@kit.CoreSpeechKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { abilityAccessCtrl, Permissions } from '@kit.AbilityKit';

/**
 * V哥的语音服务封装
 * 整合ASR语音识别 + TTS语音合成
 */

export class VoiceService {
  private static instance: VoiceService;
  private asrEngine: speechRecognizer.SpeechRecognitionEngine | null = null;
  private ttsEngine: textToSpeech.TextToSpeechEngine | null = null;
  private isListening: boolean = false;

  private constructor() {}

  static getInstance(): VoiceService {
    if (!VoiceService.instance) {
      VoiceService.instance = new VoiceService();
    }
    return VoiceService.instance;
  }

  /**
   * 请求麦克风权限
   */
  async requestPermission(context: Context): Promise<boolean> {
    const atManager = abilityAccessCtrl.createAtManager();
    const permissions: Permissions[] = ['ohos.permission.MICROPHONE'];

    try {
      const result = await atManager.requestPermissionsFromUser(context, permissions);
      const granted = result.authResults.every(r => r === abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED);
      console.info(`[VoiceService] 麦克风权限: ${granted ? '已授权' : '被拒绝'}`);
      return granted;
    } catch (err) {
      console.error('[VoiceService] 请求权限失败:', JSON.stringify(err));
      return false;
    }
  }

  /**
   * 初始化语音识别引擎
   */
  async initASR(): Promise<boolean> {
    try {
      const createParams: speechRecognizer.CreateEngineParams = {
        language: 'zh-CN',
        online: 1  // 1-在线识别 0-离线识别
      };

      this.asrEngine = await speechRecognizer.createEngine(createParams);
      console.info('[VoiceService] ASR引擎初始化成功');
      return true;
    } catch (err) {
      const error = err as BusinessError;
      console.error(`[VoiceService] ASR初始化失败: ${error.code} - ${error.message}`);
      return false;
    }
  }

  /**
   * 初始化语音合成引擎
   */
  async initTTS(): Promise<boolean> {
    try {
      const createParams: textToSpeech.CreateEngineParams = {
        language: 'zh-CN',
        person: 0,  // 发音人
        online: 1   // 1-在线合成 0-离线合成
      };

      const extraParams: Record<string, Object> = {
        style: 'normal',
        speed: 1.0,
        volume: 1.0,
        pitch: 1.0
      };

      this.ttsEngine = await textToSpeech.createEngine(createParams);
      console.info('[VoiceService] TTS引擎初始化成功');
      return true;
    } catch (err) {
      const error = err as BusinessError;
      console.error(`[VoiceService] TTS初始化失败: ${error.code} - ${error.message}`);
      return false;
    }
  }

  /**
   * 开始语音识别
   */
  async startListening(
    onResult: (text: string, isFinal: boolean) => void,
    onError: (error: string) => void
  ): Promise<void> {
    if (!this.asrEngine) {
      const success = await this.initASR();
      if (!success) {
        onError('语音识别引擎初始化失败');
        return;
      }
    }

    if (this.isListening) {
      console.warn('[VoiceService] 已经在监听中');
      return;
    }

    try {
      // 设置回调
      this.asrEngine!.setListener({
        onStart: (sessionId: string) => {
          console.info(`[VoiceService] 开始识别, sessionId: ${sessionId}`);
          this.isListening = true;
        },
        onEvent: (sessionId: string, eventCode: number) => {
          console.info(`[VoiceService] 事件: ${eventCode}`);
        },
        onResult: (sessionId: string, result: speechRecognizer.SpeechRecognitionResult) => {
          const text = result.result;
          const isFinal = result.isFinal;
          console.info(`[VoiceService] 识别结果: ${text}, isFinal: ${isFinal}`);
          onResult(text, isFinal);
        },
        onComplete: (sessionId: string) => {
          console.info(`[VoiceService] 识别完成`);
          this.isListening = false;
        },
        onError: (sessionId: string, errorCode: number, errorMessage: string) => {
          console.error(`[VoiceService] 识别错误: ${errorCode} - ${errorMessage}`);
          this.isListening = false;
          onError(errorMessage);
        }
      });

      // 开始识别
      const recognitionParams: speechRecognizer.StartParams = {
        sessionId: `session_${Date.now()}`,
        audioInfo: {
          audioType: 'pcm',
          sampleRate: 16000,
          soundChannel: 1,
          sampleBit: 16
        },
        extraParams: {
          vadBegin: 2000,  // 静音检测开始时间
          vadEnd: 3000,    // 静音检测结束时间
          maxAudioDuration: 60000  // 最大录音时长
        }
      };

      await this.asrEngine!.startListening(recognitionParams);
    } catch (err) {
      const error = err as BusinessError;
      console.error(`[VoiceService] 开始识别失败: ${error.code} - ${error.message}`);
      onError(error.message);
    }
  }

  /**
   * 停止语音识别
   */
  async stopListening(): Promise<void> {
    if (this.asrEngine && this.isListening) {
      try {
        await this.asrEngine.finish(`session_stop_${Date.now()}`);
        this.isListening = false;
        console.info('[VoiceService] 停止识别');
      } catch (err) {
        console.error('[VoiceService] 停止识别失败:', JSON.stringify(err));
      }
    }
  }

  /**
   * 语音合成(文字转语音)
   */
  async speak(text: string, onComplete?: () => void): Promise<void> {
    if (!this.ttsEngine) {
      const success = await this.initTTS();
      if (!success) {
        console.error('[VoiceService] TTS引擎不可用');
        onComplete?.();
        return;
      }
    }

    try {
      // 设置回调
      this.ttsEngine!.setListener({
        onStart: (requestId: string) => {
          console.info(`[VoiceService] 开始播放, requestId: ${requestId}`);
        },
        onProgress: (requestId: string, progress: number) => {
          // 播放进度
        },
        onFinish: (requestId: string) => {
          console.info(`[VoiceService] 播放完成`);
          onComplete?.();
        },
        onError: (requestId: string, errorCode: number, errorMessage: string) => {
          console.error(`[VoiceService] 播放错误: ${errorCode} - ${errorMessage}`);
          onComplete?.();
        }
      });

      // 合成参数
      const speakParams: textToSpeech.SpeakParams = {
        requestId: `speak_${Date.now()}`,
        extraParams: {
          speed: 1.0,
          volume: 1.0,
          pitch: 1.0
        }
      };

      await this.ttsEngine!.speak(text, speakParams);
    } catch (err) {
      const error = err as BusinessError;
      console.error(`[VoiceService] 语音合成失败: ${error.code} - ${error.message}`);
      onComplete?.();
    }
  }

  /**
   * 停止语音播放
   */
  async stopSpeaking(): Promise<void> {
    if (this.ttsEngine) {
      try {
        await this.ttsEngine.stop();
        console.info('[VoiceService] 停止播放');
      } catch (err) {
        console.error('[VoiceService] 停止播放失败:', JSON.stringify(err));
      }
    }
  }

  /**
   * 释放资源
   */
  async release(): Promise<void> {
    try {
      if (this.asrEngine) {
        await this.asrEngine.shutdown();
        this.asrEngine = null;
      }
      if (this.ttsEngine) {
        await this.ttsEngine.shutdown();
        this.ttsEngine = null;
      }
      console.info('[VoiceService] 资源释放完成');
    } catch (err) {
      console.error('[VoiceService] 释放资源失败:', JSON.stringify(err));
    }
  }

  /**
   * 获取监听状态
   */
  getListeningState(): boolean {
    return this.isListening;
  }
}

5. 任务执行器 (engine/ActionExecutor.ets)

// entry/src/main/ets/engine/ActionExecutor.ets

import { bundleManager, common, Want } from '@kit.AbilityKit';
import { IntentType } from '../model/MessageModel';
import { BusinessError } from '@kit.BasicServicesKit';

/**
 * V哥的任务执行器
 * 根据意图执行具体操作
 */

interface ActionResult {
  success: boolean;
  message: string;
  data?: object;
}

export class ActionExecutor {
  private static instance: ActionExecutor;
  private context: common.UIAbilityContext | null = null;

  private constructor() {}

  static getInstance(): ActionExecutor {
    if (!ActionExecutor.instance) {
      ActionExecutor.instance = new ActionExecutor();
    }
    return ActionExecutor.instance;
  }

  /**
   * 设置上下文
   */
  setContext(context: common.UIAbilityContext): void {
    this.context = context;
  }

  /**
   * 执行动作
   */
  async execute(intent: IntentType, params: Record<string, string>): Promise<ActionResult> {
    console.info(`[ActionExecutor] 执行意图: ${intent}, 参数: ${JSON.stringify(params)}`);

    switch (intent) {
      case IntentType.OPEN_APP:
        return this.openApp(params);

      case IntentType.SET_ALARM:
        return this.setAlarm(params);

      case IntentType.SET_REMINDER:
        return this.setReminder(params);

      case IntentType.QUERY_WEATHER:
        return this.queryWeather(params);

      case IntentType.QUERY_TIME:
        return this.queryTime();

      case IntentType.CONTROL_DEVICE:
        return this.controlDevice(params);

      default:
        return {
          success: false,
          message: '暂不支持该操作'
        };
    }
  }

  /**
   * 打开应用
   */
  private async openApp(params: Record<string, string>): Promise<ActionResult> {
    const bundleName = params.bundleName;
    const appName = params.appName;

    if (!bundleName) {
      return {
        success: false,
        message: `抱歉,我不知道怎么打开"${appName || '这个应用'}"`
      };
    }

    try {
      const want: Want = {
        bundleName: bundleName,
        action: 'action.system.home',
        entities: ['entity.system.home']
      };

      await this.context?.startAbility(want);

      return {
        success: true,
        message: `已为你打开${appName}`
      };
    } catch (err) {
      const error = err as BusinessError;
      console.error(`[ActionExecutor] 打开应用失败: ${error.code} - ${error.message}`);

      return {
        success: false,
        message: `打开${appName}失败,可能是应用未安装`
      };
    }
  }

  /**
   * 设置闹钟
   */
  private async setAlarm(params: Record<string, string>): Promise<ActionResult> {
    const hour = parseInt(params.hour || '8');
    const minute = parseInt(params.minute || '0');

    try {
      // 调用系统闹钟
      const want: Want = {
        action: 'ohos.want.action.setAlarm',
        parameters: {
          'ringtone': 'default',
          'hour': hour,
          'minute': minute
        }
      };

      await this.context?.startAbility(want);

      const timeStr = `${hour.toString().padStart(2, '0')}:${minute.toString().padStart(2, '0')}`;
      return {
        success: true,
        message: `好的,已为你设置${timeStr}的闹钟`
      };
    } catch (err) {
      console.error('[ActionExecutor] 设置闹钟失败:', JSON.stringify(err));

      return {
        success: false,
        message: '设置闹钟失败,请手动设置'
      };
    }
  }

  /**
   * 设置提醒
   */
  private async setReminder(params: Record<string, string>): Promise<ActionResult> {
    const content = params.content || '未命名提醒';
    const delayMinutes = parseInt(params.delayMinutes || '10');

    // 这里可以接入前面的日程提醒模块
    return {
      success: true,
      message: `收到!${delayMinutes}分钟后提醒你:${content}`
    };
  }

  /**
   * 查询天气
   */
  private async queryWeather(params: Record<string, string>): Promise<ActionResult> {
    const city = params.city || '北京';

    // 实际项目中对接天气API
    // 这里返回模拟数据
    const mockWeather = {
      city: city,
      temperature: Math.floor(Math.random() * 20) + 10,
      weather: ['晴', '多云', '阴', '小雨'][Math.floor(Math.random() * 4)],
      humidity: Math.floor(Math.random() * 40) + 40
    };

    return {
      success: true,
      message: `${city}今天${mockWeather.weather},气温${mockWeather.temperature}°C,湿度${mockWeather.humidity}%`,
      data: mockWeather
    };
  }

  /**
   * 查询时间
   */
  private queryTime(): ActionResult {
    const now = new Date();
    const weekDays = ['日', '一', '二', '三', '四', '五', '六'];

    const dateStr = `${now.getFullYear()}年${now.getMonth() + 1}月${now.getDate()}日`;
    const weekStr = `星期${weekDays[now.getDay()]}`;
    const timeStr = `${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')}`;

    return {
      success: true,
      message: `现在是${dateStr} ${weekStr} ${timeStr}`
    };
  }

  /**
   * 控制设备
   */
  private async controlDevice(params: Record<string, string>): Promise<ActionResult> {
    const device = params.device || '设备';
    const action = params.action === 'on' ? '打开' : '关闭';

    // 实际项目中对接智能家居API
    return {
      success: true,
      message: `好的,已${action}${device}`
    };
  }
}

6. AI智能体核心 (engine/AIAgent.ets)

// entry/src/main/ets/engine/AIAgent.ets

import { Message, MessageRole, MessageType, ConversationContext, IntentType } from '../model/MessageModel';
import { IntentEngine } from './IntentEngine';
import { ActionExecutor } from './ActionExecutor';
import { LLMService } from '../service/LLMService';
import { VoiceService } from '../service/VoiceService';

/**
 * V哥的AI智能体核心
 * 整合所有能力,实现智能对话
 */

export class AIAgent {
  private static instance: AIAgent;
  private context: ConversationContext;
  private intentEngine: IntentEngine;
  private actionExecutor: ActionExecutor;
  private llmService: LLMService;
  private voiceService: VoiceService;

  // 回调函数
  private onMessageCallback?: (message: Message) => void;
  private onStateChangeCallback?: (state: AgentState) => void;

  private constructor() {
    this.context = new ConversationContext();
    this.intentEngine = IntentEngine.getInstance();
    this.actionExecutor = ActionExecutor.getInstance();
    this.llmService = LLMService.getInstance();
    this.voiceService = VoiceService.getInstance();
  }

  static getInstance(): AIAgent {
    if (!AIAgent.instance) {
      AIAgent.instance = new AIAgent();
    }
    return AIAgent.instance;
  }

  /**
   * 设置消息回调
   */
  setOnMessage(callback: (message: Message) => void): void {
    this.onMessageCallback = callback;
  }

  /**
   * 设置状态回调
   */
  setOnStateChange(callback: (state: AgentState) => void): void {
    this.onStateChangeCallback = callback;
  }

  /**
   * 处理用户输入(核心方法)
   */
  async processInput(userInput: string): Promise<void> {
    if (!userInput.trim()) return;

    console.info(`[AIAgent] 处理用户输入: ${userInput}`);

    // 1. 创建用户消息
    const userMessage = new Message({
      role: MessageRole.USER,
      type: MessageType.TEXT,
      content: userInput
    });
    this.context.addMessage(userMessage);
    this.onMessageCallback?.(userMessage);

    // 2. 意图识别
    this.onStateChangeCallback?.(AgentState.THINKING);
    const { intent, params, confidence } = this.intentEngine.recognize(userInput);

    console.info(`[AIAgent] 意图识别: ${intent}, 置信度: ${confidence}`);

    // 3. 根据意图决定处理方式
    let response: string;

    if (intent !== IntentType.CHAT && confidence >= 0.7) {
      // 高置信度的功能意图,执行动作
      userMessage.intent = intent;
      userMessage.intentParams = params;

      const result = await this.actionExecutor.execute(intent, params);
      response = result.message;

      // 如果是需要补充信息的场景,继续调用LLM
      if (!result.success && intent !== IntentType.UNKNOWN) {
        response = await this.llmService.chat(
          `用户说"${userInput}",我尝试${this.getIntentDescription(intent)}但失败了。请给出友好的回复和建议。`,
          this.context
        );
      }
    } else {
      // 闲聊或低置信度,调用大模型
      response = await this.llmService.chat(userInput, this.context);
    }

    // 4. 创建助手回复
    const assistantMessage = new Message({
      role: MessageRole.ASSISTANT,
      type: MessageType.TEXT,
      content: response
    });
    this.context.addMessage(assistantMessage);
    this.onMessageCallback?.(assistantMessage);

    this.onStateChangeCallback?.(AgentState.IDLE);

    // 5. 语音播报回复
    await this.voiceService.speak(response);
  }

  /**
   * 开始语音输入
   */
  async startVoiceInput(): Promise<void> {
    this.onStateChangeCallback?.(AgentState.LISTENING);

    await this.voiceService.startListening(
      (text: string, isFinal: boolean) => {
        if (isFinal && text.trim()) {
          this.processInput(text);
        }
      },
      (error: string) => {
        console.error('[AIAgent] 语音识别错误:', error);
        this.onStateChangeCallback?.(AgentState.IDLE);
      }
    );
  }

  /**
   * 停止语音输入
   */
  async stopVoiceInput(): Promise<void> {
    await this.voiceService.stopListening();
    this.onStateChangeCallback?.(AgentState.IDLE);
  }

  /**
   * 获取对话历史
   */
  getHistory(): Message[] {
    return this.context.getHistory();
  }

  /**
   * 清空对话
   */
  clearHistory(): void {
    this.context.clear();
  }

  /**
   * 获取意图描述
   */
  private getIntentDescription(intent: IntentType): string {
    const descriptions: Record<IntentType, string> = {
      [IntentType.OPEN_APP]: '打开应用',
      [IntentType.SET_ALARM]: '设置闹钟',
      [IntentType.SET_REMINDER]: '设置提醒',
      [IntentType.QUERY_WEATHER]: '查询天气',
      [IntentType.QUERY_TIME]: '查询时间',
      [IntentType.CONTROL_DEVICE]: '控制设备',
      [IntentType.CHAT]: '闲聊',
      [IntentType.UNKNOWN]: '理解意图'
    };
    return descriptions[intent] || '执行操作';
  }
}

/**
 * 智能体状态
 */
export enum AgentState {
  IDLE = 'idle',           // 空闲
  LISTENING = 'listening', // 监听中
  THINKING = 'thinking',   // 思考中
  SPEAKING = 'speaking'    // 说话中
}

7. 主界面 (pages/Index.ets)

// entry/src/main/ets/pages/Index.ets

import { Message, MessageRole, MessageType } from '../model/MessageModel';
import { AIAgent, AgentState } from '../engine/AIAgent';
import { ActionExecutor } from '../engine/ActionExecutor';
import { VoiceService } from '../service/VoiceService';
import { common } from '@kit.AbilityKit';
import { promptAction } from '@kit.ArkUI';

@Entry
@Component
struct Index {
  @State messageList: Message[] = [];
  @State inputText: string = '';
  @State agentState: AgentState = AgentState.IDLE;
  @State isVoiceMode: boolean = false;

  private agent: AIAgent = AIAgent.getInstance();
  private voiceService: VoiceService = VoiceService.getInstance();
  private scroller: Scroller = new Scroller();
  private context = getContext(this) as common.UIAbilityContext;

  async aboutToAppear(): Promise<void> {
    // 初始化
    ActionExecutor.getInstance().setContext(this.context);

    // 请求权限
    await this.voiceService.requestPermission(this.context);

    // 设置回调
    this.agent.setOnMessage((message: Message) => {
      this.messageList = [...this.messageList, message];
      // 滚动到底部
      setTimeout(() => {
        this.scroller.scrollEdge(Edge.Bottom);
      }, 100);
    });

    this.agent.setOnStateChange((state: AgentState) => {
      this.agentState = state;
    });

    // 添加欢迎消息
    const welcomeMessage = new Message({
      role: MessageRole.ASSISTANT,
      type: MessageType.TEXT,
      content: '你好!我是小V助手 🤖\n\n我可以帮你:\n• 回答各种问题\n• 打开应用\n• 设置闹钟和提醒\n• 查询天气和时间\n• 控制智能设备\n\n试着对我说点什么吧!'
    });
    this.messageList.push(welcomeMessage);
  }

  /**
   * 发送消息
   */
  async sendMessage(): Promise<void> {
    if (!this.inputText.trim()) return;

    const text = this.inputText.trim();
    this.inputText = '';

    await this.agent.processInput(text);
  }

  /**
   * 切换语音模式
   */
  async toggleVoiceMode(): Promise<void> {
    if (this.isVoiceMode) {
      // 停止语音输入
      await this.agent.stopVoiceInput();
      this.isVoiceMode = false;
    } else {
      // 开始语音输入
      this.isVoiceMode = true;
      await this.agent.startVoiceInput();
    }
  }

  /**
   * 获取状态文本
   */
  getStateText(): string {
    switch (this.agentState) {
      case AgentState.LISTENING:
        return '正在听...';
      case AgentState.THINKING:
        return '思考中...';
      case AgentState.SPEAKING:
        return '说话中...';
      default:
        return '';
    }
  }

  /**
   * 格式化时间
   */
  formatTime(timestamp: number): string {
    const date = new Date(timestamp);
    const hour = date.getHours().toString().padStart(2, '0');
    const minute = date.getMinutes().toString().padStart(2, '0');
    return `${hour}:${minute}`;
  }

  build() {
    Column() {
      // 顶部标题栏
      Row() {
        Column() {
          Text('小V助手')
            .fontSize(20)
            .fontWeight(FontWeight.Bold)
            .fontColor('#333333')

          if (this.agentState !== AgentState.IDLE) {
            Row() {
              LoadingProgress()
                .width(14)
                .height(14)
                .color('#007DFF')
              Text(this.getStateText())
                .fontSize(12)
                .fontColor('#007DFF')
                .margin({ left: 4 })
            }
            .margin({ top: 2 })
          }
        }
        .alignItems(HorizontalAlign.Start)

        Blank()

        // 清空对话按钮
        Button() {
          Image($r('app.media.ic_clear'))
            .width(20)
            .height(20)
            .fillColor('#666666')
        }
        .width(40)
        .height(40)
        .backgroundColor('#F0F0F0')
        .borderRadius(20)
        .onClick(() => {
          promptAction.showDialog({
            title: '清空对话',
            message: '确定要清空所有对话记录吗?',
            buttons: [
              { text: '取消', color: '#666666' },
              { text: '确定', color: '#007DFF' }
            ]
          }).then((result) => {
            if (result.index === 1) {
              this.messageList = [];
              this.agent.clearHistory();
            }
          });
        })
      }
      .width('100%')
      .height(60)
      .padding({ left: 16, right: 16 })
      .backgroundColor(Color.White)

      // 消息列表
      List({ scroller: this.scroller, space: 16 }) {
        ForEach(this.messageList, (message: Message) => {
          ListItem() {
            this.MessageBubble(message)
          }
        }, (message: Message) => message.id)
      }
      .width('100%')
      .layoutWeight(1)
      .padding({ left: 16, right: 16, top: 12, bottom: 12 })
      .backgroundColor('#F5F5F5')

      // 底部输入区域
      Row() {
        // 语音按钮
        Button() {
          Image(this.isVoiceMode ? $r('app.media.ic_keyboard') : $r('app.media.ic_voice'))
            .width(24)
            .height(24)
            .fillColor(this.isVoiceMode ? '#FF3B30' : '#666666')
        }
        .width(44)
        .height(44)
        .backgroundColor(this.isVoiceMode ? '#FFE5E5' : '#F0F0F0')
        .borderRadius(22)
        .onClick(() => this.toggleVoiceMode())

        if (this.isVoiceMode) {
          // 语音输入状态
          Column() {
            if (this.agentState === AgentState.LISTENING) {
              Row() {
                ForEach([1, 2, 3, 4, 5], (i: number) => {
                  Column()
                    .width(4)
                    .height(12 + Math.random() * 20)
                    .backgroundColor('#007DFF')
                    .borderRadius(2)
                    .margin({ left: 4, right: 4 })
                    .animation({
                      duration: 300,
                      iterations: -1,
                      curve: Curve.EaseInOut
                    })
                })
              }
              .justifyContent(FlexAlign.Center)
            }

            Text(this.agentState === AgentState.LISTENING ? '正在聆听...' : '点击麦克风开始说话')
              .fontSize(14)
              .fontColor('#666666')
              .margin({ top: 8 })
          }
          .layoutWeight(1)
          .height(44)
          .justifyContent(FlexAlign.Center)
        } else {
          // 文字输入框
          TextInput({ placeholder: '输入消息...', text: this.inputText })
            .layoutWeight(1)
            .height(44)
            .backgroundColor('#F5F5F5')
            .borderRadius(22)
            .padding({ left: 16, right: 16 })
            .margin({ left: 8, right: 8 })
            .onChange((value) => {
              this.inputText = value;
            })
            .onSubmit(() => {
              this.sendMessage();
            })

          // 发送按钮
          Button() {
            Image($r('app.media.ic_send'))
              .width(24)
              .height(24)
              .fillColor(Color.White)
          }
          .width(44)
          .height(44)
          .backgroundColor(this.inputText.trim() ? '#007DFF' : '#CCCCCC')
          .borderRadius(22)
          .enabled(this.inputText.trim().length > 0)
          .onClick(() => this.sendMessage())
        }
      }
      .width('100%')
      .height(70)
      .padding({ left: 12, right: 12, top: 8, bottom: 16 })
      .backgroundColor(Color.White)
    }
    .width('100%')
    .height('100%')
  }

  /**
   * 消息气泡组件
   */
  @Builder
  MessageBubble(message: Message) {
    Column() {
      if (message.role === MessageRole.USER) {
        // 用户消息(右侧)
        Row() {
          Blank()

          Column() {
            Text(message.content)
              .fontSize(15)
              .fontColor(Color.White)
              .lineHeight(22)
          }
          .padding(12)
          .backgroundColor('#007DFF')
          .borderRadius({
            topLeft: 16,
            topRight: 4,
            bottomLeft: 16,
            bottomRight: 16
          })
          .constraintSize({ maxWidth: '75%' })

          // 用户头像
          Image($r('app.media.ic_user'))
            .width(36)
            .height(36)
            .borderRadius(18)
            .margin({ left: 8 })
        }
        .width('100%')
        .justifyContent(FlexAlign.End)
      } else {
        // AI消息(左侧)
        Row() {
          // AI头像
          Stack() {
            Circle()
              .width(36)
              .height(36)
              .fill('#E6F2FF')

            Image($r('app.media.ic_robot'))
              .width(24)
              .height(24)
          }
          .margin({ right: 8 })

          Column() {
            Text(message.content)
              .fontSize(15)
              .fontColor('#333333')
              .lineHeight(22)

            // 显示时间
            Text(this.formatTime(message.timestamp))
              .fontSize(11)
              .fontColor('#999999')
              .margin({ top: 4 })
          }
          .padding(12)
          .backgroundColor(Color.White)
          .borderRadius({
            topLeft: 4,
            topRight: 16,
            bottomLeft: 16,
            bottomRight: 16
          })
          .constraintSize({ maxWidth: '75%' })
          .alignItems(HorizontalAlign.Start)
          .shadow({
            radius: 4,
            color: 'rgba(0,0,0,0.05)',
            offsetX: 0,
            offsetY: 2
          })

          Blank()
        }
        .width('100%')
        .justifyContent(FlexAlign.Start)
      }
    }
  }
}

8. 快捷指令面板 (components/QuickCommands.ets)

// entry/src/main/ets/components/QuickCommands.ets

/**
 * V哥设计的快捷指令面板
 * 方便用户快速触发常用功能
 */

interface QuickCommand {
  icon: Resource;
  label: string;
  command: string;
  color: string;
}

@Component
export struct QuickCommands {
  onCommand: (command: string) => void = () => {};

  private commands: QuickCommand[] = [
    { icon: $r('app.media.ic_weather'), label: '查天气', command: '今天天气怎么样', color: '#FFB800' },
    { icon: $r('app.media.ic_time'), label: '查时间', command: '现在几点了', color: '#007DFF' },
    { icon: $r('app.media.ic_alarm'), label: '设闹钟', command: '明天早上7点叫我起床', color: '#34C759' },
    { icon: $r('app.media.ic_remind'), label: '提醒我', command: '10分钟后提醒我喝水', color: '#FF9500' },
    { icon: $r('app.media.ic_app'), label: '打开相机', command: '打开相机', color: '#AF52DE' },
    { icon: $r('app.media.ic_home'), label: '开灯', command: '打开客厅的灯', color: '#FF3B30' }
  ];

  build() {
    Column() {
      Text('快捷指令')
        .fontSize(14)
        .fontColor('#999999')
        .margin({ bottom: 12 })

      Flex({ wrap: FlexWrap.Wrap, justifyContent: FlexAlign.SpaceBetween }) {
        ForEach(this.commands, (cmd: QuickCommand) => {
          Column() {
            Stack() {
              Circle()
                .width(44)
                .height(44)
                .fill(cmd.color)
                .opacity(0.15)

              Image(cmd.icon)
                .width(24)
                .height(24)
                .fillColor(cmd.color)
            }

            Text(cmd.label)
              .fontSize(12)
              .fontColor('#666666')
              .margin({ top: 6 })
          }
          .width('30%')
          .margin({ bottom: 16 })
          .onClick(() => {
            this.onCommand(cmd.command);
          })
        })
      }
    }
    .width('100%')
    .padding(16)
    .backgroundColor(Color.White)
    .borderRadius(12)
  }
}

五、资源文件准备

需要的图标资源

entry/src/main/resources/base/media/ 添加以下图标:

文件名用途建议尺寸
ic_robot.svgAI头像48x48
ic_user.svg用户头像48x48
ic_send.svg发送按钮24x24
ic_voice.svg语音按钮24x24
ic_keyboard.svg键盘按钮24x24
ic_clear.svg清空按钮24x24
ic_weather.svg天气图标24x24
ic_time.svg时间图标24x24
ic_alarm.svg闹钟图标24x24
ic_remind.svg提醒图标24x24
ic_app.svg应用图标24x24
ic_home.svg智能家居图标24x24

示例SVG

ic_robot.svg:

<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
  <circle cx="24" cy="24" r="20" fill="#007DFF"/>
  <circle cx="17" cy="20" r="3" fill="white"/>
  <circle cx="31" cy="20" r="3" fill="white"/>
  <path d="M16 30 Q24 36 32 30" stroke="white" stroke-width="2" fill="none"/>
  <rect x="22" y="4" width="4" height="6" rx="2" fill="#007DFF"/>
  <circle cx="24" cy="4" r="3" fill="#007DFF"/>
</svg>

ic_voice.svg:

<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
  <path d="M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z"/>
  <path d="M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z"/>
</svg>

六、V哥总结:关键技术点

1. 意图识别的设计思路

用户输入 → 规则匹配(快速) → 高置信度直接执行
                ↓
         低置信度 → 调用LLM兜底

2. 对话管理的核心

// 多轮对话的关键:上下文管理
class ConversationContext {
  messages: Message[] = [];
  maxHistory: number = 10;  // 控制历史长度,避免Token浪费
}

3. 语音交互的最佳实践

  • 先请求权限,再初始化引擎
  • 语音识别和语音合成用完要释放
  • 做好错误处理和降级方案

4. 性能优化建议

  • 意图识别用本地规则,快速响应
  • LLM调用做好缓存和限流
  • 消息列表使用LazyForEach优化

七、V哥唠两句

兄弟们,这套代码是V哥实战中总结出来的,完整实现了一个能用的AI智能体。当然,实际项目中你还需要:

  1. 接入真实的LLM API(替换掉示例配置)
  2. 完善意图规则库(根据你的业务场景)
  3. 接入真实的智能家居API
  4. 做好异常处理和用户引导

AI智能体的核心不是技术多牛逼,而是用户体验做得好!


关注V哥不迷路!前行路上不犯怵!

Descope 对旗下智能体身份中枢(Agentic Identity Hub) 完成功能升级,为 MCP 协议开发者与 AI 智能体开发人员,打造了适配其 AI 系统的标准化身份基础设施。企业如今可通过 Descope,将 AI 智能体与人类用户同等视为一级身份主体进行管理,为内部及外部 MCP 服务器配置 OAuth 2.1 协议与工具级权限范围,同时依托企业级策略管控能力,对智能体访问 MCP 服务器的行为进行合规治理。
2025 年是 AI 智能体迈入主流应用的元年,但身份管理始终是困扰开发团队与安全团队的核心瓶颈。MCP 协议开发者与 AI 智能体开发人员难以满足企业安全团队对产品落地的合规要求 ——Descope 近期针对 400 余名身份领域决策者的调研显示,88% 的企业已在使用或计划使用 AI 智能体,仅有 37% 的企业将其从试点阶段推进至实际落地
与此同时,安全团队也陷入两难:既要为智能体化 AI 应用筑牢安全防线,又不能阻碍技术创新。OWASP 智能体应用十大安全风险中,所有风险的整改方案均涉及身份相关措施,可见为 AI 智能体打造专属的身份认证服务体系,已是行业的迫切需求。
此外,MCP 这类协议的快速普及,也带来了诸多安全漏洞与开发负担 —— 目前已有 2000 台 MCP 服务器处于无安全防护状态;而 MCP 协议规范中要求开发者实现 OAuth 2.1、PKCE、动态客户端注册(DCR)、上下文身份元数据协议(CIMD)等多项功能,也让开发团队的工作压力大幅增加。
Descope 的无代码身份平台,支持企业通过可视化工作流,为客户、合作伙伴、AI 智能体及 MCP 服务器快速创建并调整身份验证流程。目前已有 GoFundMe、Databricks、GoodRx、Navan、You.com等超 1000 家企业选择 Descope,借助其能力优化客户体验、防范账户劫持风险,并实现对客户身份与机器身份的 360 度全维度管理。
本次升级后的 Descope 智能体身份中枢,兼顾开发团队与安全团队的双重需求 —— 为开发人员提供安全易用的身份基础设施,同时帮助安全团队通过策略化治理,实现对 AI 智能体的全生命周期管理。
Descope 智能体身份中枢的核心能力包括:
  1. 智能体身份管理:可集中展示所有接入企业应用、API 及 MCP 服务器的智能体身份(无论动态创建或手动注册)。每个智能体均拥有专属身份标识及配套属性,涵盖关联用户、所属租户、已授权的工具级权限范围、OAuth 客户端 ID 等关键信息。
  2. 全维度 MCP 认证授权:助力 MCP 服务器开发者,为内部及对外提供服务的 MCP 服务器,配置符合协议规范的认证与访问控制能力。企业可实现用户授权流程支持、高安全性动态客户端注册、CIMD 协议适配、智能体级与工具级的精细化授权范围管控,同时为 B2B 场景下的 MCP 应用实现租户级权限隔离。
  3. 凭证保管库:统一管理、存储并自动刷新 AI 智能体访问第三方系统所需的各类凭证(含 OAuth 令牌、API 密钥)。AI 智能体开发人员可从 50 余种预制连接模板中选择使用,并借助动态客户端注册预设配置,让智能体动态对接第三方 MCP 服务器,代表用户安全调用外部 API 接口。
  4. 企业级策略管控:企业可自定义精细化的授权控制策略,明确哪些 AI 智能体可访问 MCP 服务器、可调用哪些工具级权限,并支持基于用户角色、JWT 声明、租户属性、智能体类型等多维度配置策略。
  5. AI 智能体日志审计:为企业提供所有 AI 智能体操作行为的全维度可视能力,可监控智能体的访问对象与访问时间、识别访问控制配置错误、撤销可疑恶意智能体的访问权限,同时将审计事件同步至第三方安全信息与事件管理(SIEM)平台。
Descope 首席执行官斯拉维克・马尔科维奇表示:“AI 智能体正在打破传统的身份管理体系。这类智能体具备自主性、可扩展性,且行为存在非确定性,无法沿用人类用户或服务账户的管理方式。Descope 智能体身份中枢是专为 AI 智能体打造的专属身份认证服务平台,为开发人员提供了所需的抽象层能力,助力其安全地将 AI 系统推向市场,同时确保权限最小化原则的落地与协议合规性的持续满足。感谢首批已采用该中枢的客户,我们也很荣幸能成为企业安全落地 AI 应用所需的核心基础设施之一。”
Descope 客户、WisdomAI 首席执行官索汉・马宗达称:“Descope 智能体身份中枢将我们的开发人员从工具开发与系统集成的工作中解放出来,让他们能将更多精力投入到核心功能的研发与落地中。我们面向客户的 MCP 服务器,正是以 Descope 作为认证层,这一服务器已服务于多家财富 500 强企业。依托 Descope 的能力,我们既能向客户展现 AI 分析平台的价值,也能对内置的身份管控能力充满信心。”
Descope 客户、Cequence Security 首席技术官施雷扬斯・梅塔表示:“Descope 是 Cequence AI 网关的核心底层组件。其对 MCP 认证的灵活支持与开发友好性,为 Cequence AI 网关的客户提供了重要助力,让他们能将自身应用、API 与数据安全地对接至 AI 智能体。”

编辑:桃子

【新智元导读】英伟达护城河要守不住了?Claude Code半小时编程,直接把CUDA后端迁移到AMD ROCm上了。

一夜之间,CUDA护城河被AI终结了?

这几天,一位开发者johnnytshi在Reddit上分享了一个令人震惊的操作:

Claude Code仅用了30分钟,便将一段完整的CUDA后端代码,成功移植到AMD的ROCm上。

整个过程,没有手写一行代码。

这架势,简直是要填平这两个生态系统之间的鸿沟。

更关键的是,这次移植完全没有依赖传统的「中间转换工具」,如Hipify翻译层,而是一键通过CLI完成。

就连AMD软件副总Anush E.为之震惊,GPU编程的未来,是AI智能体的。

消息一出,整个科技圈瞬间沸腾,很多人直呼:英伟达CUDA护城河要守不住了…..

这究竟是怎么回事?

Claude手撕CUDA,仅30分钟

Claude Code是在一个智能体框架运行的,这意味着它可以自己「动脑子」。

在执行过程中,他不会机械地转换关键词,而去真正理解代码,即特定核函数的底层逻辑。

开发者johnnytshi介绍,这次移植中,最棘手的数据布局差异问题也被AI解决了,确保了内核核心计算逻辑保持一致。

令人惊叹的是,johnnytshi在短短30分钟内,就把整个CUDA后端移植到了AMD ROCm上,而且中间没用任何翻译层。

另外一个好处当然是,不用费劲去搭像Hipify这种复杂的翻译环境了;直接在命令行(CLI)里就能干活。

如今,全网都被CUDA护城河被攻破呼声淹没了。

毕竟,英伟达霸主地位,很大程度上建立在CUDA这个几乎成为行业标准的编程生态上。

无数AI框架、深度学习库、科学计算工具都深度依赖它。

AMD的ROCm虽然功能强大,却一直面临生态兼容性,以及开发者迁移成本高的痛点。

现在,一个Claude却用极短时间踢碎了门槛,说不定未来更多CUDA代码可能轻松在AMD GPU跑起来了。

实现细节

GitHub中,johnnytshi本人也更新了日志和说明。

为AMD GPU实现了完整的ROCm后端,从而在RDNA 3.5及其他AMD架构上支持基于注意力机制的现代国际象棋网络。

GitHub:https://github.com/LeelaChess...

  • 在src/neural/backends/rocm/中添加了完整的ROCm后端
  • 实现了注意力网络架构(多头自注意力、FFN、嵌入层)
  • 使用rocBLAS进行GEMM运算,使用MIOpen进行卷积运算
  • 针对RDNA 3.5上的FP16性能优化了NCHW布局
  • 提供三种后端变体:rocm (FP32)、rocm-fp16 (FP16)、rocm-auto (自动检测)
  • MIOpen是必选依赖(类似于CUDA的cuDNN)
  • 通过rocm\_agent\_enumerator自动检测AMD GPU架构
  • 编译选项:-Drocm=true -Damd\_gfx=gfx1151(或使用自动检测)

性能说明:

  • FP16性能:在Strix Halo (Radeon 8060S, gfx1151) 上 >2000 nps
  • 自动Batch Size调优(RDNA 3.5上min\_batch=64)
  • 测试过rocWMMA,但rocBLAS性能更好

验证情况(Strix Halo – Radeon 8060S, gfx1151):

  • 测试模型:768x15x24h-t82-swa-7464000.pb.gz 和 maia-1900.pb.gz
  • 后端:rocm-fp16功能正常,能生成正确的走法
  • 环境:ROCm 7.2.53150, MIOpen 3.5.1
  • :仅在RDNA 3.5上进行了测试;其他AMD架构暂未验证

GPU未来,是AI智能体主场

当然,这次演示也有局限性。

对于简单或中等复杂度的内核,Claude Code表现得非常出色。更重要的是,写核函数的核心就在于搞定「深度硬件」优化。

不过,一部分觉得Claude Code在这方面还是差点火候——

如果遇到那些针对特定硬件缓存层级,内存访问模式做过极致优化的复杂内核,AI目前还难以完全取代人类专家。

即便如此,这一事件释放出的信号已经足够强烈。

过去几个月,ZLUDA项目、还有微软内部的尝试,都想要打破CUDA的垄断。

但它们大多依赖规则映射或中间层,自动化程度和智能水平有限。

Claude Code代表的智能体式编程,直接跳过了这些环节,用「理解+自主决策」的方式填平生态鸿沟。

正如AMD软件副总所言,GPU编程的未来,是AI智能体主场。

全员AI编程,浓度高达100%

如今的Claude Code已经让整个硅谷入坑了(Claude-Pilled)。

两天前,CEO Dario Amodei在达沃斯上再出暴论:软件工程师们没有时间了。未来6-12个月,AI能够彻底取代这些人!

甚至,Anthropic内部工程师已经不再手写代码了,全是Claude完成。

别不信,是真的。

就在Wired最新采访中,Claude Code之父Boris Cherny坦承,「自己100%代码都是AI写的」。

或许Anthropic工程师怎么也没有想到,一个「副业项目」竟让硅谷如此狂热。

Boris Cherny回忆道,「一年前我们发布Claude Code时,甚至不确定『智能体编程』能不能成,但火爆来得太快了」。

Cherny个人经历就是最好的缩影:

刚发布时,他只有5%代码是用Claude Code写的;

到了去年5月,有了Opus 4和Sonnet 4,这个比例变成了30%;

而现在,有了Opus 4.5,他在过去两个月里100%的代码都是由Claude Code完成。

在Anthropic内部,这种全员AI化更是到了极致。

几乎100%技术员工都在使用Claude Code,甚至连Claude Code团队本身95%的代码也是由自身写出来的。

斯坦福AI教授都在用了

不得不说,AI编程的进化速度令人咋舌。

回望2021到2024年,大多数工具不过是高级版的「自动补全」,在开发者打字时卑微地建议几行代码。

但到了2025年初,随着Cursor和Windsurf等初创发布早期的Agentic编程产品,游戏规则改变了——

开发者只需用大白话描述功能,剩下的脏活累活全扔给AI智能体完成。

Claude Code也在这个时间点,真正诞生了。

Boris Cherny坦承,早期版本也曾跌跌撞撞,甚至陷入死循环。但Anthropic下了一步狠棋:不为当下的AI能力开发产品,而要为AI即将抵达的未来而构建。

这一赌注押对了。随着Anthropic下一代旗舰Claude Opus 4.5的发布,AI编程迎来了真正的「拐点」。

斯坦福大学AI讲师、Workera CEO Kian Katanforoosh最近就把公司全员迁移到了Claude Code。

他直言,对于高级工程师来说,Claude Code比Cursor、Windsurf更能打。

Katanforoosh感叹道,最近唯一让我看到编程能力有阶跃式提升的模型,就是Claude Opus 4.5。

「它给人的感觉不像是在模仿人类写代码,而是它真的找到了一种更聪明的解决路径」。

据传,微软内部也在大规模采用Claude Code了。

年入超10亿美金的「副业」

Claude Code大获成功,给Anthropic带来了最直观的效益。

去年,AI编程智能体业务彻底爆发。11月,Anthropic宣布Claude Code在上线不到一年内,年度经常性收入(ARR)就突破了10亿美元

到2025年底,ARR至少又增长了1亿美元。

彼时,该产品约占Anthropic总ARR(约90亿美元)的12%。虽然比起向大企业提供 AI 系统的核心业务来说还算「小弟」,但它已是公司增长最快的板块之一。

尽管Anthropic在AI编程领域看似独孤求败,但Claude Opus 4.5的光环其实照亮了整个赛道。

竞争对手Cursor也在11月达到了10亿美元ARR,OpenAI、谷歌和xAI更是磨刀霍霍,试图用自研模型分一杯羹。

但Anthropic没打算停下。

前几天,他们又发布了Cowork——这是一款面向非编程领域的AI智能体。

它能管理你电脑里的文件、操作各种软件,而且完全不需要你在代码终端里敲命令。

不是取代,是进化

提及Cowork时,Cherny透露自己已经用疯了。

比如项目管理,他会让Cowork盯着工程师的任务表格,谁没填名字,AI就会自动在Slack上发消息催人。

Cherny感慨道,「这是我当工程师以来最爽的时候,因为我不再需要做那些枯燥乏味的脏活了」。

面对那些因不再需要亲自写代码而感到失落的工程师,Cherny给出了他的建议:

这行业一直在变。我祖父在苏联用穿孔卡片编程;后来变成了机器码;再后来是C语言、Java、Python。

这是一条不断抽象化的连续体,AI智能体只是这条线上的最新一个点。

如今,Cherny每天早上起床会在手机上启动3-4个编程智能体,到了公司再在终端里开几个。

任何时候,他都有五到十个智能体在跑任务。

Cherny总结道,「AI智能体将接管生活中所有繁琐的事——填表、搬运数据、发邮件。这会具有颠覆性,我们必须适应」。

话又说回来,Anthropic能不能先解决下Claude使用量?

一、智能体的形态

我问大家一个问题,什么是 AI 的产品形态?

大模型只是底层的处理引擎,你总是需要一个应用层产品,对接用户的需求。这种 AI 的应用层,就称为"智能体"(agent)。

那么,问题就变成了,"智能体"应该是什么样?

早期的智能体只是对话应用(上图),后面加入了推理,可以思考复杂问题。

后来,向专业领域发展,演变出编程智能体(coding agent)、图像智能体、视频智能体等等,或者接入 MCP,获得外部应用操作能力,比如生成 Office 文件、操作浏览器。

这些形态基本已经成熟了,很多公司开始探索,下一阶段的智能体会是什么形态?

我最近在用 MiniMax 刚发布的 AI native Workspace(AI 原生工作台),欣喜地觉得,这可能就是答案。

二、Cowork 和 Skill

这个新产品,同时加入了 Anthropic 公司最近提出的两个新概念:Cowork 和 Skill。

所谓 Cowork,简单说,就是一个"计算机操作助手"。它本质是编程智能体的图形界面版,让不懂编程的用户,用自然语言说出需求,再通过 AI 生成底层代码并执行,自动操作本地计算机完成任务。

而 Skill 就更简单了,它是一篇预设的提示词,相当于"使用手册",向 AI 详细描述如何完成某一种特定任务。可以这样理解,每一个 Skill 就是一个专家,让 AI 拥有特定领域的技能。

这两个东西,一个是操作助手,一个是专家模式。前者用 AI 来操作计算机,后者让 AI 具备专门技能。

它们结合起来会怎样?

MiniMax AI native Workspace 就是这样一个产品,探索性地将 Cowork 和 Skill 结合在一起,同时具备两种能力,完全是一种全新的产品形态。

它的桌面端(desktop)提供 Cowork 能力,专家模式(experts)则提供 Skill 能力。

三、桌面端操作助手

下面,我来展示,它跟传统智能体的差异在哪里。

它的桌面客户端定位就是"AI 原生工作台",具备以下能力。

  • 直接访问本地文件:能够读写,以及自动上传或下载文件。
  • 自动化工作流程:能够分解任务,运行 Web 自动化。
  • 交付专业成果:运行结束后可以生成高质量的交付产物,比如 Excel 电子表格、PowerPoint 幻灯片、格式化文档。
  • 长时间运行任务:对于复杂任务,可以长时间运行,不受对话超时或上下文限制的影响。

注意,由于它可以操作计算机,并跟互联网通信,执行之前,一定要指定目录,防止读写不该操作的目录,而且要有备份,防止原始文件被删改。

首先,前往官网下载桌面客户端,Windows/Mac 版本均有,新注册用户目前可以免费试用3天。

安装后运行,直接进入任务界面,就是一个传统的对话框。

这时指定运行目录,就进入"工作台"模式,可以对该目录进行操作。软件会跳出一个警告,提示风险。

这时,就可以让它执行各种任务了。比如,我让它整理各种电子服务的发票 PDF 文件,然后生成一个汇总的 Excel 文档。

这时,它会在当前目录里面,自动安装一个 Python 虚拟环境,然后生成 Python 脚本并执行。

很快就生成好了 Excel 文件。

以此类推,各种文件整理的事情,都能交给它,比如整理照片、文件重命名等等。

它还能进行网页自动化,比如自动浏览某个网页,并提取信息、总结内容。

四、专家系统

上面展示了它的工作台功能,可以担当"数字员工",下面再来看看它的"专家系统"。

所谓"专家系统",就是注入特定的提示词文件,扩展智能体的技能,相当于深度的知识和能力注入。用户还可以上传私有知识库。

大家可以打开它的网页端,点击左边栏的"探索专家"。

系统内置了一些"预设专家",可以直接使用。

我选了一个系统提供的"Icon 制作器",就是制作 Logo 的技能,看看好不好用。

我要求制作一个"熊猫吃冰淇淋"的 Logo,系统提示要选择一种设计风格。

最后生成了两个文件(坐姿和站姿)供选择,效果还不错。

五、创建新技能

除了预设的专家,系统也允许你创建"我的专家",也就是某种自定义技能。

你需要输入能力描述和指令,还可以添加对应的 MCP、SubAgent、环境变量、Supabase 数据库等等。

我直接把 Anthropic 公司提供的 Skill 文件输入,看看效果。

我选了 frontend-design(前端设计)技能,输入以后就可以在"我的专家"分页上看到。

注意,系统目前只支持输入技能描述文件,还不支持上传静态资源文件(asset),希望后面可以加上。

选中这个专家以后,我要求生成一个算法可视化页面。

"生成一个排序算法可视化网站,列出常见排序算法的可视化动画。选中某个算法后,会展示该算法的动画效果。"

生成过程大概十分钟左右,就得到了结果。系统生成了十种排序算法的动画,并直接部署上线。

我后来又调整了一下动画配色,大家可以去这个网站看看效果,还是很酷的。

六、总结

AI native Workspace 将 AI 智能体引入了本地计算机,可以进行自动化操作,同时加入技能接口,允许注入外部知识和能力。并且,所有操作都可以通过自然语言对话完成,对用户的要求低。

这一下子打开了 AI 智能体的想象空间,它所能完成的任务,将不再受限于模型的能力,而只受限于我们的想象力。

我认为,这个产品代表了下一阶段 AI 智能体的发展方向,将开启很多全新的可能性,等待我们去探索。

(完)

一、引言:行业背景与问题提出

随着 AI 技术的​迭代升级​,AI 智能体已从单一工具进化为具备自主规划、任务拆解、多工具协同能力的全流程执行系统。这彻底改变了内容创作行业“人使用工具”的传统模式,迈入“​人主导目标、智能体落地执行​”的新阶段。

文案、设计、短视频、自媒体、出版等作为核心细分领域,长期面临效率瓶颈、产能限制与同质化竞争。​AI 智能体的规模化应用​,正对这些领域的生产流程、岗位结构与价值逻辑产生​系统性冲击​——既带来效率红利,也引发生存危机与行业重构的挑战。

本文旨在​拆解智能体对各细分领域的具体影响​,明确其能力边界,为从业者提供可落地的生存与发展指南,并预判行业未来趋势。

二、智能体对内容创作行业的整体影响

AI 智能体的冲击是全维度、系统性的重构,核心体现在三个层面:

  1. 生产流程革新​:传统“选题-创作-优化-分发”的线性流程被打破。智能体可实现多环节​协同作业与全流程自动化​,推动行业从“手工创作”转向“​系统化生产​”。
  2. 行业成本重构​:智能体可​24 小时不间断工作​,批量生成内容,大幅降低人力成本。这导致低门槛、标准化内容供给过剩,中低价值内容价格持续下滑。
  3. 岗位结构分化​:行业将形成“​系统设计者、智能体管理者、高价值创作者、普通执行者​”的分层格局。依赖基础执行能力的岗位面临被替代风险,而具备策略、创意、统筹能力的从业者价值凸显。

整体而言,智能体正在重塑内容创作的​生产关系​,推动行业向高效化、专业化、差异化转型。

三、各细分行业的具体变化

(一)文案行业:从“文字撰写”到“策略统筹”

文案是智能体渗透最深领域之一。AI 文案工具可自主完成选题策划、大纲生成、初稿撰写、多版本测试及调性优化,效率是人工的​8 倍以上​。这导致基础文案岗位需求锐减。

行业新焦点​:竞争从“写得好”转向“​策划得准​”。文案从业者需转型为“​内容策略师​”,聚焦需求拆解、价值传递与调性把控,依托智能体提升内容的精准度与传播力。

(二)设计行业:从“像素创作”到“系统配置”

AI 设计工具正替代基础执行工作,可根据需求快速生成海报、UI 界面等多种方案,并自主优化。从事基础排版、素材拼接的设计师面临替代风险。

设计师新价值​:转向​视觉系统搭建、品牌一致性把控与创意落地统筹​。未来设计师将聚焦创意构思,通过​配置智能体参数​,实现创意的快速、批量化落地。

(三)短视频行业:从“流程执行”到“判断决策”

AI 视频生成工具能自动化完成脚本生成、素材匹配、剪辑、配音及发布优化,实现“​一键生成短视频​”。这降低了个人创作者的竞争门槛,但也加剧了内容同质化。

从业者新核心​:竞争焦点从“剪辑能力”转向“​内容判断力​”。借助智能体完成流程,从业者需聚焦于​选题判断、差异化与情感共鸣​,以提升爆款率。

(四)自媒体行业:从“个体产出”到“规模运营”

AI 内容运营工具打破了个体创作者的产能限制,可实现多账号、多平台的​协同管理、内容生成、分发调度与数据监控​,让“一人多号”成为基础能力。

竞争维度升级​:从“产能竞争”转向“​价值竞争​”。自媒体人的核心价值在于“​内容观点​”与“​个人品牌​”。唯有建立独特洞察与用户信任,才能在海量内容中脱颖而出,并利用智能体实现影响力规模化。

(五)出版行业:从“编辑加工”到“内容策展”

AI 编辑校对工具能高效完成稿件初审、文字修正、结构优化等工作,大幅提升效率,降低出版成本。传统文字编辑岗位需求因此缩减。

编辑新角色​:从“文字加工者”转型为“​内容策展人​”与“​质量把关者​”。编辑需聚焦于选题策划、作者挖掘、内容质量与版权管理,借助智能体提升出版物的专业性与市场适配度。

四、智能体能做什么

结合行业实践,AI 智能体在内容创作领域的核心能力集中于标准化、规模化的工作:

  1. 基础内容生成​:快速产出文案、设计方案、视频脚本等标准化内容。
  2. 全流程协同执行​:自主拆解任务,调用工具,完成从选题、创作到分发、监控的​全流程自动化​。
  3. 多版本优化迭代​:基于数据反馈生成多个内容变体,进行 A/B 测试,优化传播效果。
  4. 数据采集与分析​:实时爬取热点与竞品数据,预测内容潜力,为创作提供数据支撑。

核心价值​:解放人力,提升效率,承担所有可标准化、可流程化的基础工作。

五、智能体不能做什么

尽管能力强大,AI 智能体仍有明确的能力边界,无法替代人类的核心价值:

  1. 无法产生原创观点与深度洞察​:内容生成基于训练数据的整合,无法形成超越现有认知的​原创思想​。
  2. 无法做出精准的价值与审美判断​:难以把握复杂场景下的价值导向,也无法理解人类细腻的​审美偏好与情感共鸣​。
  3. 无法实现人格化表达与信任建立​:内容缺乏温度与个性,难以建立长期的​用户信任与情感连接​。
  4. 无法灵活应对突发与个性化需求​:擅长处理标准化任务,对个性化、突发的创作需求,仍需人类进行​统筹与决策​。

六、创作者未来的机会与角色变化

冲击的本质是淘汰低价值执行劳动,放大高价值的创意与策略能力。未来创作者的机会集中在三类​角色转型​:

  1. 内容系统设计者​:掌握智能体逻辑,能设计工作流程、优化参数,搭建专属的​内容生产系统​,实现规模化、精准化产出。
  2. 高价值创作者​:聚焦于​原创观点、深度洞察、人格化表达​,产出 AI 无法复制的深度分析或情感共鸣内容,建立独特个人品牌。
  3. 智能体管理者​:擅长统筹需求、拆解任务,合理调配智能体完成执行,聚焦于​质量把控与效果优化​,成为连接人类与 AI 的​核心纽带​。

未来的机会,不再是“会不会创作”,而是“​会不会借助智能体,做智能体做不到的事​”。

七、普通创作者的可执行建议

面对冲击,无需恐慌,核心是​找准定位、提升核心能力​:

  1. 主动拥抱工具​:学习使用各类​AI 智能体工具​,将其作为基础执行工具,解放人力,聚焦创意,实现“​人机协同​”。
  2. 打造不可替代的能力​:重点提升原创观点、深度洞察、审美判断、情感表达等 AI 无法替代的能力,形成个人核心竞争力。
  3. 找准细分定位​:避开标准化内容的红海竞争,聚焦于小众化、垂直化领域,结合自身优势产出差异化内容。
  4. 持续迭代学习​:关注 AI 技术迭代与行业变化,不断更新知识体系,主动转型,避免被淘汰。

八、结论:趋势总结与判断

AI 智能体对内容创作行业的冲击,是​生产技术迭代带来的行业重构​,而非创作本身的消亡。未来将呈现三大趋势:

  1. “人机协同”成为主流​:智能体承担执行,人类聚焦创意与策略,二者协同提升效率与质量。
  2. 行业分层持续加剧​:基础岗位需求缩减,高价值的创意与策略类岗位价值凸显,竞争向精细化、差异化发展。
  3. 内容价值回归本质​:标准化内容过剩,用户对原创、深度、有温度的内容需求提升,这将成为行业核心竞争力。

对于从业者而言,​AI 智能体不是竞争对手,而是高效工具​。唯有主动拥抱变化、提升核心能力、找准自身定位,才能在行业重构中抓住机会,实现长期发展。

摘要

2026 年被定义为​AI 智能体技术规模化落地元年​,依托大模型技术的持续迭代、工具生态的完善以及行业场景的深度适配,智能体从技术概念走向商业落地,完成从 “文本生成工具” 到 “自主任务执行系统” 的核心转变。本文系统阐述 2026AI 元年的技术基础、产业特征、核心应用领域,分析智能体技术对生产生活、产业结构的重构价值,梳理技术落地的核心挑战与解决路径,为产业从业者、研究人员及普通用户提供全面的技术与应用参考框架。​关键词​:2026AI 元年;智能体;大模型;技术落地;产业变革;人机协同

一、2026 成为 AI 智能体元年的核心技术与产业基础

1.1 大模型技术的成熟:智能体的核心能力底座

2023-2025 年大模型完成从 “通用理解” 到 “逻辑推理 + 多模态交互” 的能力突破,为智能体落地奠定核心基础:

  1. 推理能力升级​:主流大模型(GPT-4o、文心一言 4.0、通义千问 3.0 等)的因果推理、步骤拆解能力较 2024 年提升 70% 以上,可完成复杂任务的层级化拆解,满足智能体 “规划” 环节的核心需求;
  2. 多模态融合​:实现文本、图像、语音、视频、结构化数据的无缝交互,支持智能体在多场景下的 “感知” 能力,可对接不同类型的外部数据与工具;
  3. 参数效率优化​:大模型实现 “大参数能力 + 小参数部署”,轻量化模型可在端侧运行,降低智能体的开发与使用成本,适配个人与中小企业场景。

1.2 智能体技术体系的完善:标准化闭环与工具生态

智能体的 **“感知 - 规划 - 行动 - 反思”** 底层闭环实现标准化、模块化,成为技术落地的关键支撑:

  1. 核心模块标准化​:感知模块支持多渠道信息接入(用户指令、API 数据、本地文件),规划模块适配不同任务的拆解逻辑,行动模块对接通用工具接口,反思模块实现错误识别与自动修正,各模块可灵活组合适配场景;
  2. 零代码 / 低代码工具普及​:Coze(扣子)、LangGraph、AutoGen 等工具完成产品化升级,提供可视化配置、现成插件与模板,降低智能体开发门槛,实现 “无编程基础也能搭建专属智能体”;
  3. 工具生态互联互通​:智能体可对接 90% 以上的主流办公、生产、运营工具(Excel、ERP、设计软件、社交平台等),实现从 “数字世界执行” 到 “现实业务落地” 的衔接,打破技术应用的场景壁垒。

1.3 产业需求的爆发:从 “技术尝鲜” 到 “效率刚需”

2025 年以来,各行业从 “AI 技术尝鲜” 转向 “降本增效刚需”,为智能体规模化落地提供产业土壤:

  1. 企业端​:中小企业对自动化、轻量化智能工具的需求激增,希望通过智能体替代基础重复性工作,降低人力成本;大型企业开始搭建专属智能体体系,实现产、供、销、服全流程的人机协同;
  2. 个人端​:职场人、创作者、自由职业者等群体对个性化智能助手的需求提升,覆盖办公、学习、创作、生活等多场景,推动智能体向 “全民化” 发展;
  3. 政策端​:多国出台 AI 产业扶持政策,明确智能体技术的发展方向与应用规范,保障技术落地的同时,规避数据安全、伦理风险等问题,为产业发展营造良好环境。

二、2026AI 智能体元年的核心产业特征

2.1 技术特征:从 “专用智能体” 到 “通用智能体 + 垂直适配”

2026 年智能体技术呈现 “​通用能力打底,垂直场景深耕​” 的核心特征:

  1. 通用智能体​:具备跨场景的基础任务执行能力,可完成文档处理、数据整理、简单沟通、工具调用等通用工作,成为个人与企业的 “基础数字助手”;
  2. 垂直智能体​:基于通用智能体进行行业微调与场景定制,适配特定行业的业务逻辑与需求,如工业生产智能体、电商运营智能体、医疗辅助智能体、教育答疑智能体等,具备行业专属的知识储备与任务执行能力;
  3. 多智能体协同​:单智能体向 “智能体集群” 发展,通过角色分工、任务协作完成复杂产业任务,如电商行业的 “选品智能体 + 文案智能体 + 运营智能体 + 数据分析智能体” 协同,实现从产品上架到数据优化的全流程自动化。

2.2 应用特征:从 “线上内容生成” 到 “全场景业务执行”

智能体突破此前 “仅能完成线上内容生成” 的局限,实现 **“线上 + 线下”“数字 + 实体”** 的全场景业务执行:

  1. 线上场景深度渗透​:覆盖办公自动化、内容创作、客户服务、数字营销等领域,完成从 “辅助生成” 到 “自主执行” 的转变,如智能体可自主完成市场调研、数据整理、报告生成、渠道发布的全流程;
  2. 线下场景逐步落地​:依托物联网、工业互联网等技术,智能体可对接线下设备与生产流程,如工业制造中的智能体可实现设备监控、故障预警、生产调度,物流行业的智能体可完成路径规划、仓储管理、配送调度等。

2.3 产业特征:从 “技术驱动” 到 “需求驱动”,生态化发展

2026 年 AI 产业从 “技术厂商主导的技术迭代” 转向 “产业端主导的需求落地”,形成 **“大模型厂商 + 智能体开发平台 + 场景应用方 + 工具生态方”** 的完整产业生态:

  1. 大模型厂商​:提供核心的基础模型能力,为智能体开发提供底层技术支撑,如 OpenAI、百度、阿里等;
  2. 智能体开发平台​:提供零代码 / 低代码开发工具、标准化模块与插件生态,连接大模型技术与产业需求,如 Coze、LangGraph 等;
  3. 场景应用方​:企业、机构及个人根据自身需求,在开发平台上搭建或定制智能体,实现技术落地;
  4. 工具生态方​:各类办公、生产、运营工具厂商开放接口,与智能体开发平台对接,完善智能体的行动能力,形成产业协同。

三、2026 智能体技术的核心应用领域与落地案例

3.1 企业服务领域:办公自动化与人机协同办公体系构建

智能体成为企业数字化转型的核心工具,实现办公全流程的自动化与高效化,核心应用包括:

  1. 行政办公智能体​:自主完成考勤统计、周报 / 月报生成、会议纪要整理、文件归档、邮件回复等基础行政工作,降低行政人员的重复性劳动;
  2. 销售运营智能体​:对接企业 CRM 系统,完成客户线索筛选、客户咨询自动回复、销售数据统计分析、销售报表生成,辅助销售团队提升获客与转化效率;
  3. 人力资源智能体​:完成简历筛选、初试邀约、员工考勤、薪酬核算、员工培训答疑等工作,优化 HR 工作流程,聚焦核心的人才招聘、员工发展等工作。
    落地案例​:某中小企业通过 Coze 搭建专属销售智能体,对接企业微信与 Excel,实现客户咨询 7×24 小时自动回复,销售数据每日自动统计并生成分析报告,销售团队的基础工作效率提升 65%,人力成本降低 30%。

3.2 产业制造领域:工业智能体赋能智能制造与生产优化

智能体与工业互联网、物联网、大数据技术结合,赋能制造业从 “自动化生产” 到 “智能化生产” 的升级,核心应用包括:

  1. 生产调度智能体​:根据订单需求、设备状态、原材料库存,自主制定生产计划,实时调整生产调度,提升生产效率;
  2. 设备运维智能体​:实时监控设备运行数据,识别设备故障前兆,自动发出预警并提供维修方案,降低设备停机率;
  3. 质量检测智能体​:结合机器视觉技术,完成产品生产过程中的实时质量检测,识别不合格产品,分析质量问题原因并提出优化建议。
    落地案例​:某中小型机械制造企业引入工业智能体,对接生产车间的物联网设备,实现生产计划的自动制定与动态调整,设备故障预警准确率提升 80%,产品不良率降低 25%,生产效率提升 40%。

3.3 民生服务领域:智能体提升公共服务效率与个性化体验

智能体在教育、医疗、政务、物流等民生服务领域落地,实现公共服务的高效化、个性化与普惠化,核心应用包括:

  1. 教育辅助智能体​:为学生提供个性化学习答疑、笔记整理、考点梳理、作业批改,为教师提供备课素材整理、教学进度规划、学生成绩分析,优化教与学的流程;
  2. 医疗辅助智能体​:为基层医疗机构提供常见病诊断答疑、病历整理、药品咨询,为患者提供就医指引、预约挂号、术后康复指导,缓解优质医疗资源紧张问题;
  3. 政务服务智能体​:实现政务咨询自动回复、政务办理流程指引、线上材料初审,推动 “政务服务一网通办”,提升政务服务效率,降低群众办事成本。
    落地案例​:某地方政务服务中心上线政务智能体,对接政务服务平台,实现社保、医保、户籍等高频政务问题的 7×24 小时自动回复,线上材料初审通过率提升 75%,窗口办理业务的平均时长缩短 60%,群众办事满意度提升 90%。

3.4 个人端应用:全民化智能体成为个人数字分身

2026 年个人智能体实现全民化普及,成为覆盖办公、学习、创作、生活的个人数字分身,核心应用包括:

  1. 个人办公助手​:为职场人完成文档整理、会议纪要、任务提醒、邮件撰写等工作,提升个人办公效率;
  2. 学习创作智能体​:为学生、创作者提供文献整理、内容创作初稿、素材收集、排版发布等服务,解放创作与学习的基础劳动;
  3. 生活服务智能体​:完成日程规划、购物比价、出行规划、家庭账单整理等生活服务,提升个人生活的便捷性。

四、2026 智能体技术落地的核心挑战与解决路径

4.1 核心挑战

  1. 技术层面​:部分复杂场景下的智能体仍存在​任务执行误差​,如复杂逻辑的拆解、多工具协同的衔接、错误识别与修正的精准度不足;端侧智能体的能力与云端存在差距,轻量化与高性能的平衡仍需突破;
  2. 数据层面​:智能体的落地依赖高质量、场景化的数据,部分行业存在数据孤岛问题,企业内部数据与外部数据无法有效打通;数据安全与隐私保护成为核心痛点,智能体在数据读取、使用过程中存在数据泄露风险;
  3. 产业层面​:部分传统行业对智能体技术的​认知与接受度不足​,缺乏专业的技术落地与运营人才,导致技术与产业需求无法有效匹配;智能体的行业定制化成本仍较高,中小企业的落地门槛有待进一步降低;
  4. 伦理层面​:智能体的自主决策可能引发责任界定模糊问题,如智能体执行任务出现错误时,责任归属于开发平台、应用方还是用户;部分场景下的智能体应用可能引发就业结构调整,带来社会就业问题。

4.2 解决路径

  1. 技术迭代​:持续优化大模型的推理与决策能力,完善智能体的 “反思” 模块,提升任务执行的精准度;加大端侧大模型与智能体的研发投入,实现轻量化与高性能的平衡;推动多智能体协同算法的优化,提升复杂任务的执行能力;
  2. 数据治理​:建立行业数据共享机制,打破数据孤岛,为智能体落地提供高质量数据支撑;完善数据安全与隐私保护的技术与法规体系,采用数据加密、联邦学习等技术,保障数据在采集、使用、传输过程中的安全;明确智能体数据使用的边界与规范,禁止未经授权的数椐读取与使用;
  3. 产业赋能​:加强智能体技术的行业普及与培训,培养兼具产业知识与 AI 工具能力的复合型人才;推动智能体开发平台的产品化与标准化,降低行业定制化成本,推出针对中小企业的轻量化智能体解决方案;鼓励大模型厂商、开发平台与行业龙头企业合作,打造行业标杆案例,推动技术的规模化落地;
  4. 伦理与政策规范​:建立智能体技术的伦理准则与责任界定体系,明确开发平台、应用方、用户在智能体执行过程中的权利与责任;出台相关的就业扶持政策,针对智能体技术带来的就业结构调整,开展职业技能培训,推动劳动力向高价值、不可替代的岗位转型;建立智能体技术的监管体系,加强对技术应用的规范与引导,规避伦理风险。

五、2026AI 元年之后的智能体技术发展趋势

5.1 短期趋势(2026-2027 年):垂直场景深度落地,全民化普及加速

  1. 智能体在电商、制造、政务、教育等行业实现深度落地,形成一批标准化、可复制的行业解决方案;
  2. 个人智能体的功能与场景进一步丰富,成为手机、电脑之外的 “标配数字工具”,全民化普及速度加快;
  3. 零代码 / 低代码智能体开发平台进一步完善,插件生态更加丰富,开发门槛进一步降低,实现 “人人皆可搭建智能体”。

5.2 中期趋势(2028-2030 年):通用智能体成熟,人机协同成为生产生活标配

  1. 通用智能体技术实现成熟,具备跨行业、跨场景的自主决策与执行能力,可完成复杂的综合性任务;
  2. 人机协同成为生产、生活、办公的标配模式,人类专注于创意、决策、情感连接等高价值工作,智能体完成基础的执行与操作工作;
  3. 智能体与机器人、物联网、元宇宙等技术深度融合,实现从 “数字世界” 到 “物理世界” 的全面渗透,打造智能化的生产生活体系。

5.3 长期趋势(2030 年以后):智能体向 “通用人工智能” 迈进,人机共生体系形成

  1. 智能体在技术层面逐步具备自主学习、自主进化的能力,向通用人工智能(AGI) 迈进,具备与人类相当的综合智能;
  2. 形成 “人机共生、相互赋能” 的全新体系,智能体不仅是人类的 “工具”,更是人类的 “协作伙伴”,共同推动社会生产力的提升;
  3. 智能体技术将重构产业结构、社会分工与生产生活方式,推动人类社会进入智能化发展的新阶段。

六、结论

2026 年作为 AI 智能体元年,标志着 AI 技术从 “内容生成” 阶段进入 “自主任务执行” 阶段,完成了从技术概念到产业落地的核心跨越。依托大模型技术的成熟、智能体体系的完善与产业需求的爆发,智能体在企业服务、产业制造、民生服务、个人端等领域实现规模化落地,成为推动产业升级、提升生产效率、优化生活体验的核心力量。

同时,2026 年智能体技术的落地仍面临技术、数据、产业、伦理等多方面的挑战,需要技术厂商、产业从业者、政策制定者共同努力,通过技术迭代、数据治理、产业赋能、政策规范,推动智能体技术的健康、可持续发展。

未来,随着技术的持续迭代与产业的深度融合,智能体将逐步实现从 “垂直智能体” 到 “通用智能体” 的升级,人机协同将成为生产生活的标配,最终形成 “人机共生” 的全新发展体系。2026AI 元年不仅是智能体技术的落地起点,更是人类社会智能化发展的全新开端,技术的发展将始终围绕 “赋能人类、提升社会生产力” 的核心目标,推动人类社会向更高质量、更高效、更智能的方向发展。

参考文献

[1] 斯坦福大学. AI 指数报告 2026 [R]. 斯坦福大学人类与人工智能研究院,2026.[2] 麦肯锡咨询。智能体技术与产业变革白皮书 2026 [R]. 麦肯锡全球研究院,2026.[3] 中国人工智能产业发展联盟。中国智能体技术落地与应用规范指南 (2026 版)[S]. 2026.[4] OpenAI. GPT-4o 技术白皮书 [R]. OpenAI 官方技术团队,2026.[5] 腾讯云。智能体技术在企业服务领域的落地实践与趋势分析 [R]. 腾讯云 AI 研究院,2026.[6] Coze(扣子). 零代码智能体开发与应用白皮书 2026 [R]. 字节跳动 AI 实验室,2026.

在大模型迈向“专业决策”的关键拐点,数据质量与智能体能力正成为AI落地的核心引擎。语料重复、噪声泛滥,如何高效构建万亿级高质量训练数据?通用问答已成过去,企业呼唤能理解业务、调用工具、自主推理的AI智能体——真正的“所想即所得”,正在从愿景走向工程实践。

在此背景下,2026年1月11日起,阿里云联合 NVIDIA 正式发起“寻找AI全能王”——Data+AI工程师全球大奖赛,面向全球高校学子与企业开发者,开启一场覆盖“数据处理”与“智能体构建”的全链路AI工程实战。

大赛官网 >>
本次大赛设置 高校赛道 与 企业赛道,双轨并行、独立评审,聚焦两大前沿挑战:

赛题1 - 向下深挖:挑战万亿语料去重极限
基于 MaxCompute MaxFrame + DataWorks,直面海量互联网数据中的重复与噪声,系统性提升超大规模数据去重的计算效率与精度,攻克工业级数据预处理难题。

赛题2 - 向上突破:构建 DeepSearch 智能体
基于 PAI-LangStudio,在真实业务场景中构建具备意图理解、多步推理、工具调用与结果验证能力的 AI Agent,实现从自然语言到知识洞察、从查询指令到自动化执行的端到端闭环,推动 AI Agent 应用规模化落地。

在这里你将收获:

  • 丰厚现金奖励与官方认证荣誉瓜分高额奖金池,斩获最高7万元大奖,并获得阿里云官方认证的获奖证书,为个人能力加冕。单赛题所有 Top100 完赛队伍均可获得价值200元完赛礼包,另有征文活动赢取定制好礼。
  • 与顶尖技术专家深度对话赛事期间将开放导师答疑与赛题解析环节,优秀选手更有机会与阿里云技术专家面对面交流,获取专业指导与发展建议。
  • 真实场景下的全链路AI工程历练基于 MaxFrame、PAI-LangStudio 等工业级平台,在万亿规模语料处理与智能体构建中,掌握从数据清洗到Agent推理的端到端实战能力,积累可落地的技术经验。 

这不仅是一场比赛,更是 Data 与 AI 深度融合的产业试验场。优秀成果将有机会被纳入阿里云产品技术演进,成为驱动 AI 原生时代的关键组件。

以代码驱动变革,用数据释放智能——AI全能王,等你来战!
立即报名参赛:
高校赛道https://tianchi.aliyun.com/competition/entrance/532448
企业赛道https://tianchi.aliyun.com/competition/entrance/532449

摘要: AI 智能体通过 “AI 绘画 + 工具协同 + 逻辑推理” 能力,颠覆平面设计传统工作流,推动行业从 “产能竞争” 转向 “创意 + 智能体 + 商业” 的价值竞争。本文结合行业数据与实战案例,拆解智能体对设计行业的核心冲击,定义 “人机协同” 新生态,并提供从业者可落地的转型策略。

🚀 快速回答 (Golden Answer)

AI 智能体对平面设计行业的核心影响是 **“淘汰低价值执行,重构高价值能力”**:替代素材搜集、批量制图等重复性工作,推动行业形成 “智能体承担执行、人类把控创意与商业” 的协同模式;从业者需从 “软件操作者” 转型为 “智能体驾驭者 + 创意策源者 + 商业把控者”,才能适配行业新生态。

一、智能体对平面设计行业的三大核心冲击(附权威数据)

1. 初级执行岗需求收缩:低价值工作被替代

传统初级设计师的核心工作(素材搜集、基础排版、标准化物料制作),已被智能体以 10-50 倍效率覆盖:

  • 行业数据​:据《2025 全球设计行业技术报告》,电商行业基础制图岗需求较 2023 年下降 42%,外包基础设计单价降幅超 60%;
  • 直接结果​:仅掌握 PS/AI 操作的纯执行型设计师,逐渐被 “智能体辅助岗” 替代,基础岗位需转向 “智能体操作 + 简单优化” 的复合角色。

2. 行业门槛降低:非专业者可完成标准化设计

智能体实现 “自然语言 → 专业设计” 的零门槛转化:普通用户通过描述(如 “新中式年货海报,红金配色 + 传统纹样”),即可获得多版适配成果,直接满足中小企业 80% 的标准化设计需求。

  • 行业变化​:设计不再是职业专属技能,行业竞争从 “软件技术比拼” 转向 “创意 + 智能体协同 + 商业思维” 的综合较量。

3. 工作流重构:从 “全人工执行” 到 “人机协同闭环”

流程类型传统设计流程智能体重构流程
主导方全人工人机协同
核心环节需求沟通 → 手绘草图 → 软件制作 → 反复修改需求描述 → 智能体拆解 →AI 生成初稿 → 人工定调 → 智能体批量优化 → 人工精修
耗时数小时至数天10-30 分钟(初稿)+ 1-2 小时(优化)

二、智能体时代的平面设计新生态:人机分工明确(不可替代的人类价值)

当前设计类智能体存在 **“创意同质化、品牌调性缺失、细节漏洞”** 三大短板,人类设计师的核心价值集中在 “智能体无法替代的主观思考与专业判断”:

AI 智能体:承担执行端核心工作

  • 工具整合:自主对接 Midjourney/Stable Diffusion 等绘画工具、智能排版工具,完成基础落地;
  • 批量生成:快速产出多版初稿,满足筛选需求;
  • 重复修改:根据反馈完成色彩调整、元素替换等机械性工作;
  • 素材处理:抠图、调色、批量制图等低价值工作。

人类设计师:把控价值端核心环节

  • 需求拆解:结合品牌定位,向智能体传递精准设计方向;
  • 创意定调:构思差异化创意,规避智能体的同质化问题;
  • 细节精修:打磨设计细节,融入品牌文化;
  • 风险把控:排查版权、商标等合规问题。

三、智能体时代设计师的核心能力重构(行业刚需)

传统 “软件操作 + 手绘” 的单一技能权重下降,三大复合能力成为行业刚需:

1. 智能体深度驾驭能力(基础必备)

  • 基础:熟练使用 Canva AI、Adobe Firefly 等设计智能体,掌握 **“精准需求描述(Prompt Engineering)”** 技巧(如 “电商主图,ins 风,暖色调,突出产品质感,留白占比 30%”);
  • 进阶:自定义智能体的工具协同逻辑(如 “先调用 AI 绘画生成主视觉 → 再用智能排版工具适配尺寸”),搭建专属设计工具库;
  • 评估:10 分钟内筛选出智能体生成的 3 版最优初稿,精准定位问题点(如 “色彩与品牌调性不符”)。

2. 创意与审美表达能力(核心壁垒)

包含品牌调性解读、创意构思、视觉表达、色彩版式设计等能力,解决智能体 “能生成但无灵魂” 的问题 —— 例如:为非遗品牌设计海报时,融入传统纹样的文化内涵,而非仅生成 “古风元素堆砌” 的成果。

3. 商业思维与全流程把控能力(商业核心)

  • 需求转化:从 “提升产品转化率” 的商业目标,拆解出 “主视觉突出产品卖点、配色匹配目标用户偏好” 的设计要点;
  • 流程统筹:把控 “智能体生成 → 人工定调 → 批量优化” 全流程,确保设计成果匹配商业诉求;
  • 跨岗沟通:与运营团队对齐 “海报需突出促销信息” 的需求,转化为智能体能理解的描述。

四、行业与从业者的转型策略(可落地)

1. 行业整体:聚焦高价值、非标准化服务

智能体替代标准化工作后,行业核心服务方向转向:

  • 品牌全案视觉设计(如品牌 VI 体系构建);
  • 高端定制化商业设计(如奢侈品海报);
  • 文化创意设计(如非遗 / 文旅 IP 视觉);
  • 跨领域融合设计(设计 + 科技 / 艺术)。

2. 从业者分层应对

初级设计师 / 新人:转型 “智能体协同设计者”

  1. 优先掌握 2-3 款主流设计智能体(如 Canva AI、Adobe Firefly)的操作;
  2. 学习 “精准 Prompt 描述” 技巧,1 个月内完成 10 个 “智能体生成 + 人工精修” 的实战案例;
  3. 补全基础审美能力(如每天分析 3 张优秀设计作品的色彩 / 版式逻辑)。

资深设计师 / 主管:成为 “创意策源者 + 流程把控者”

  1. 聚焦品牌创意策略,主导 “智能体无法完成” 的高价值环节(如品牌 VI 体系的核心视觉定义);
  2. 优化团队工作流:让初级设计师负责智能体操作,自己把控创意方向与成果质量;
  3. 积累 “智能体 + 人工” 的协同经验,将团队交付效率提升 50%。

自由设计师 / 机构:打造差异化优势

  1. 放弃 “50 元 / 张的批量海报” 服务,聚焦细分领域(如 “宠物品牌设计”“国风文创设计”);
  2. 以智能体为工具:用 AI 生成初稿,降低交付成本,将精力投入 “创意定调 + 细节精修”;
  3. 提供全链路服务:从 “设计海报” 延伸到 “指导运营团队如何使用海报提升转化率”。

五、FAQ:平面设计从业者最关心的智能体问题

Q1:智能体真的不会完全替代设计师吗?

答:不会。 智能体的核心是 “执行工具”,无法替代人类的创意构思、品牌调性解读、情感价值传递等主观能力 —— 例如:为某公益项目设计海报时,人类能精准捕捉 “温暖、共情” 的情绪内核,而智能体仅能生成 “符合视觉规范但缺乏温度” 的成果。未来是 “人机协同” 而非 “替代”。

Q2:新手设计师优先学哪些智能体工具?

答:优先选择 “门槛低 + 生态完善” 的工具:

  • 入门级:Canva AI(零代码,内置智能排版 / 素材库,适合快速出图);
  • 专业级:Adobe Firefly(与 PS/AI 无缝衔接,支持品牌资产关联,适合专业设计);
  • 进阶级:Midjourney+Figma AI(前者生成创意视觉,后者智能排版,适合高定制化需求)。

Q3:智能体生成的设计内容有版权风险吗?

答:有一定风险。 目前多数 AI 绘画工具的生成内容,版权归属未完全明确(部分平台仅授予 “商业使用权”)。建议:

  1. 避免直接使用智能体生成的 “高度相似现有作品” 的内容;
  2. 对生成内容进行​至少 30% 的人工修改​(如调整版式比例、替换核心元素、重构色彩搭配);
  3. 优先选择明确授予 “用户独家版权” 的智能体工具(如 Adobe Firefly)。

Q4:资深设计师需要亲自操作智能体吗?

答:不需要,但需要 “懂逻辑、能把控”。 资深设计师的核心是 “创意策源与流程把控”,可让初级团队成员负责智能体操作,自己聚焦:

  • 给智能体下达 “精准的创意方向”(如 “海报需突出‘环保’主题,用低饱和度莫兰迪色 + 植物元素,避免工业化视觉”);
  • 筛选并定调智能体生成的初稿;
  • 优化智能体无法处理的细节与价值内核(如融入品牌的 “治愈系” 调性)。

六、核心总结

智能体对平面设计行业的冲击,是 **“低价值执行被替代,高价值能力被放大”** 的价值重构:

  • 淘汰的不是设计职业,而是 “只会软件操作的纯执行者”;
  • 智能体是 “高效工具” 而非 “替代者”,它让设计师从机械工作中解脱,聚焦创意与商业价值。

未来,平面设计行业的核心竞争力是 **“创意策源 + 智能体驾驭 + 商业思维”** 的复合能力 —— 拥抱智能体,同时坚守 “设计的核心是传递价值与情感” 的本质,才能在行业变革中立足。

参考文献与数据来源

  1. 《2025 全球设计行业技术报告》(Design Industry Association)
  2. 《AI 智能体对创意行业的影响研究》(McKinsey Digital 2025)
  3. Adobe 2026 设计工具趋势发布会

核心关键词

AI 智能体、平面设计行业、人机协同设计、Prompt Engineering、创意策源者、设计行业转型、智能体驾驭能力

微软已将其模型上下文协议(MCP)对Azure Functions的支持提升至一般可用性,标志着向标准化、身份安全的代理式工作流程的转变。通过集成原生 OBO 认证和流式 HTTP 传输,本次更新旨在解决历史上阻碍 AI 智能体访问敏感下游企业数据的“安全痛点”。

 

MCP 扩展于2025年 4 月进入公开预览,现支持.NETJava、JavaScript、PythonTypeScript,而新的自托管选项允许开发者在不修改代码的情况下部署现有的基于 MCP SDK 的服务器。

 

由 Anthropic 开发的模型上下文协议(Model Context Protocol)提供了一个标准化的接口,使 AI 智能体能够访问外部工具、数据源和系统。自 2024 年 11 月推出以来,包括 OpenAI、谷歌 DeepMind 和微软在内的主要 AI 平台已采用该协议,到 2025 年 4 月,服务器下载量从大约10万次增长到超过800万次。

 

然而,正如 Mirantis 的 Randy Bias所指出的那样:“安全和合规团队不能允许运行在开发人员笔记本电脑上的未经审查的‘影子代理’访问电子医疗记录或客户个人身份信息等关键数据系统”——这推动了对具有内置治理的托管平台的需求。

 

一般可用的 MCP 扩展引入了几个为生产部署设计的功能。对流式 HTTP 传输协议的支持取代了旧的服务器发送事件(SSE)方法,微软建议除非客户端特别需要 SSE,否则使用新的传输。该扩展暴露了两个端点:/runtime/webhooks/mcp 用于流式 http 和/runtime/webhooks/mcp/sse 用于遗留的 SSE 连接。

 

对于 Java 开发人员,Maven 构建插件(版本 1.40.0)提供了构建时对 MCP 工具注释的解析和验证,自动生成正确的扩展配置。根据微软的说法,这种构建时分析可以防止运行时反射在 Java 应用程序中引入的冷启动时间增加。

 

内置的认证和授权实现了MCP授权协议要求,包括发出 401 挑战和托管受保护资源元数据文档。开发者可以为服务器认证配置 Microsoft Entra 或其他 OAuth 提供商。该功能还支持代表用户(OBO)认证,使工具能够使用用户的身份而不是服务账户访问下游服务。

 

首席软件工程师 Den Delimarsky 在 2025 年 4 月分享了关于使用 Azure Functions 和 API 管理实现安全的 MCP 服务器的见解

 

开发者面临的一个主要痛点是实现与认证和授权相关的任何内容。如果你没有安全专业知识,这本质上是痛苦且有风险的。你可能会错误地配置一些东西,最终将所有数据暴露给不能看到它们的人。

 

Sitecore 的云架构师 Victor Karabedyants详细说明了实践中的认证流程。当客户端连接到远程 MCP 服务器时,Azure Functions 会以包含受保护资源元数据路径的 401 响应拒绝初始匿名请求。客户端读取此元数据,触发 Microsoft Entra ID 登录流程,获得 OAuth 令牌,并用令牌重试请求。“你的 Python 或 Node 脚本永远不会看到认证逻辑,”Karabedyants 解释说。“平台负责处理繁重的工作。”

 

对于 Java 开发者,Maven Build Plugin(版本 1.40.0)在构建时提供 MCP 工具注释的解析和验证,自动生成正确的扩展配置。据微软称,这种构建时分析可以防止 Java 应用程序中运行时反射引入的冷启动时间增加。

 

新的自托管MCP服务器功能目前处于公开预览阶段,允许团队将使用官方SDK构建的 MCP 服务器部署到 Azure Functions 作为自定义处理程序;轻量级 Web 服务器代理请求到开发者的现有进程。微软将此描述为“提升和转移”方法,只需要一个 host.json 配置文件来定义 Functions 应该如何运行服务器。该功能目前支持使用 Python、TypeScript、C#或 Java SDK 实现的流式 http 传输的无状态服务器。

 

(来源:Microsoft Learn

 

微软的高级云倡导者 Yohan Lasorsa 在开发者社区博客文章中强调了自托管方法的简单性:

 

在 Azure Functions 上托管 MCP 服务器,可以让你兼得两者的优点:无服务器基础设施的简单性和官方 Anthropic SDK 的强大功能。只需一个简单的配置步骤,你就可以将现有的 Node.js MCP 服务器部署到一个生产就绪、自动扩展的平台。

 

Gaurav Rawat 在 Medium 上一篇关于生产部署模式的详细文章中,强调了在大规模运行 MCP 服务器时的几个运维考虑因素。他指出,对于 P95 延迟超过 1 秒、错误率超过 2%以及 SSE 连接频繁掉线等监控指标,需要在生产环境中立即进行调查。

 

Rawat 还记录了实践者应该意识到的当前限制:在与 Azure AI Foundry 集成时,嵌套数组和复杂类型必须序列化为逗号分隔的字符串,并且由于 UI 基础的批准在自动化部署中不持久,因此需要使用 require_approval="never"进行程序化工具批准以用于生产工作流程。

 

Azure Functions 提供了多种托管计划,以满足不同的 MCP 服务器需求。Flex消费计划根据需求自动扩展,采用按执行付费的计费模式和零规模经济。当 MCP 工具闲置时,成本降至零,同时保持快速的唤醒时间。Premium计划支持“始终就绪”的实例,这些实例保持预初始化状态,消除了冷启动延迟,这对于初始化延迟可能导致 SSE 连接超时和代理响应时间差的关键时刻工具至关重要。Rawat 建议为关键的 24/7 工具设置两到三个始终就绪的实例,以确保故障转移能力。开发人员还可以使用专用计划来满足需要可预测性能或与虚拟网络集成的工作负载。

 

微软已经发布了多种语言的快速入门模板,涵盖这两种托管方法。MCP 扩展快速入门覆盖了C# (.NET)PythonTypeScript (Node.js),Java 快速入门即将推出。该平台直接与Azure AI Foundry集成,允许智能体在无需额外配置层的情况下发现和调用 MCP 工具。

 

原文链接:

https://www.infoq.com/news/2026/01/azure-functions-mcp-support/

本系列介绍增强现代智能体系统可靠性的设计模式,以直观方式逐一介绍每个概念,拆解其目的,然后实现简单可行的版本,演示其如何融入现实世界的智能体系统。本系列一共 14 篇文章,这是第 14 篇。原文:Building the 14 Key Pillars of Agentic AI

优化智能体解决方案需要软件工程确保组件协调、并行运行并与系统高效交互。例如预测执行,会尝试处理可预测查询以降低时延,或者进行冗余执行,即对同一智能体重复执行多次以防单点故障。其他增强现代智能体系统可靠性的模式包括:

  • 并行工具:智能体同时执行独立 API 调用以隐藏 I/O 时延。
  • 层级智能体:管理者将任务拆分为由执行智能体处理的小步骤。
  • 竞争性智能体组合:多个智能体提出答案,系统选出最佳。
  • 冗余执行:即两个或多个智能体解决同一任务以检测错误并提高可靠性。
  • 并行检索和混合检索:多种检索策略协同运行以提升上下文质量。
  • 多跳检索:智能体通过迭代检索步骤收集更深入、更相关的信息。

还有很多其他模式。

本系列将实现最常用智能体模式背后的基础概念,以直观方式逐一介绍每个概念,拆解其目的,然后实现简单可行的版本,演示其如何融入现实世界的智能体系统。

所有理论和代码都在 GitHub 仓库里:🤖 Agentic Parallelism: A Practical Guide 🚀

代码库组织如下:

agentic-parallelism/
    ├── 01_parallel_tool_use.ipynb
    ├── 02_parallel_hypothesis.ipynb
    ...
    ├── 06_competitive_agent_ensembles.ipynb
    ├── 07_agent_assembly_line.ipynb
    ├── 08_decentralized_blackboard.ipynb
    ...
    ├── 13_parallel_context_preprocessing.ipynb
    └── 14_parallel_multi_hop_retrieval.ipynb

深度推理的多跳检索

许多复杂的用户查询并非单一问题,而是比较性的、多步骤的调研任务,需要从多个不同来源的文档中综合信息。

并行多跳

解决方案是 并行多跳检索(Parallel Multi-Hop Retrieval) 架构,这种模式将 RAG 系统提升为真正的调研代理,工作流模拟人类研究员如何处理复杂问题的过程:

  1. 分解(Decompose):高级元代理首先分析复杂的用户查询,将其分解为几个更简单、独立的子问题。
  2. 分散(并行检索):每个子问题都被派发给各自的专用检索代理。这些代理并行运行,每个代理执行标准 RAG 流程,为特定子问题寻找答案。
  3. 收集与综合:元代理收集所有子问题的答案,进行最终推理步骤,将它们综合为对原始复杂查询的单一、全面的答案。

我们将以一个无法通过单一检索回答的比较性问题为例,构建并比较简单 RAG 系统与多跳 RAG 系统,证明只有多跳系统才能成功收集必要的证据,以提供准确且富有洞察力的最终答案。

首先为初始分解步骤定义 Pydantic 模型,从而结构化元代理规划阶段输出的内容。

from langchain_core.pydantic_v1 import BaseModel, Field
from typing import List

class SubQuestions(BaseModel):
    """分解代理输出的Pydantic模型,包含一组独立的子问题"""
    questions: List[str] = Field(description="A list of 2-3 simple, self-contained questions that, when answered together, will fully address the original complex query.")

这个 SubQuestions 模型是元代理首次行动的合约,迫使 LLM 将复杂查询分解为一系列简单、可回答的问题,是并行"分而治之"策略的基础步骤。

然后构建高级多跳系统作为 LangGraph 图。第一个节点将是"分解器",即元代理的规划角色。

from typing import TypedDict, List, Dict, Annotated
import operator

class MultiHopRAGState(TypedDict):
    original_question: str
    sub_questions: List[str]
    # 字典以问题作为键,存储每个子问题的答案
    sub_question_answers: Annotated[Dict[str, str], operator.update]
    final_answer: str

# 节点 1:分解器(元代理的第一步)
decomposer_prompt = ChatPromptTemplate.from_template(
    "You are a query decomposition expert. Your job is to break down a complex question into simple, independent sub-questions that can be answered by a retrieval system. "
    "Do not try to answer the questions yourself.\n\n"
    "Question: {question}"
)

decomposer_chain = decomposer_prompt | llm.with_structured_output(SubQuestions)

def decomposer_node(state: MultiHopRAGState):
    """获取原始复杂问题并将其分解为子问题列表"""
    print("--- [Meta-Agent] Decomposing complex question... ---")
    result = decomposer_chain.invoke({"question": state['original_question']})
    print(f"--- [Meta-Agent] Generated {len(result.questions)} sub-questions. ---")
    return {"sub_questions": result.questions}

decomposer_node 是研究代理的战略大脑,它不会尝试回答查询,其唯一且关键的任务是分析用户意图并将其分解为一组独立、可并行化的研究任务。

下一个节点将并行为每个子问题协调执行标准的 RAG 流程。

from concurrent.futures import ThreadPoolExecutor, as_completed

# 标准、自包含的RAG链,是并行检索代理的“引擎”
sub_question_rag_chain = (
    {"context": retriever | format_docs, "question": RunnablePassthrough()}
    | generator_prompt
    | llm
    | StrOutputParser()
)

def retrieval_agent_node(state: MultiHopRAGState):
    """节点 2:为每个子问题并行运行完整 RAG 进程"""
    print(f"--- [Retrieval Agents] Answering {len(state['sub_questions'])} sub-questions in parallel... ---")
    
    answers = {}
    # 用 ThreadPoolExecutor 对每个子问题并发运行‘sub_question_rag_chain’
    with ThreadPoolExecutor(max_workers=len(state['sub_questions'])) as executor:
        # 为每个待回答子问题构建一个 future
        future_to_question = {executor.submit(sub_question_rag_chain.invoke, q): q for q in state['sub_questions']}
        for future in as_completed(future_to_question):
            question = future_to_question[future]
            try:
                answer = future.result()
                answers[question] = answer
                print(f"  - Answer found for sub-question: '{question}'")
            except Exception as e:
                answers[question] = f"Error answering question: {e}"
    # 将结果收集到“sub_question_answers”字典中
    return {"sub_question_answers": answers}

retrieval_agent_node 是系统中的分散-聚合核心,接收 sub_questions 列表,并用 ThreadPoolExecutor 将每个条目分配到各自独立的 RAG 链。这是一种强大的并行形式,同时运行多个完整 RAG 流程。在所有并行代理找到答案后,该节点将所有发现汇总到 sub_question_answers 字典中。

最后,“合成器”节点作为元代理的最终步骤,将并行发现整合为一个连贯的答案。

# 节点 3:合成器(元代理的最后一步)
synthesizer_prompt = ChatPromptTemplate.from_template(
    "You are a synthesis expert. Your job is to combine the answers to several sub-questions into a single, cohesive, and comprehensive answer to the user's original complex question.\n\n"
    "Original Question: {original_question}\n\n"
    "Sub-Question Answers:\n{sub_question_answers}"
)

synthesizer_chain = synthesizer_prompt | llm | StrOutputParser()

def synthesizer_node(state: MultiHopRAGState):
    """获取子问题的答案,并合成最终的全面答案"""
    print("--- [Meta-Agent] Synthesizing final answer... ---")
    
    # 将收集的子问题答案格式化为最终提示
    sub_answers_str = "\n".join([f"- Q: {q}\n- A: {a}" for q, a in state['sub_question_answers'].items()])
    
    final_answer = synthesizer_chain.invoke({
        "original_question": state['original_question'],
        "sub_question_answers": sub_answers_str
    })
    return {"final_answer": final_answer}

synthesizer_node 是至关重要的最终推理步骤,它本身不执行任何检索,任务是接收 sub_question_answers 中的预处理事实,并将其构造为能直接回应用户原始复杂查询的连贯叙述。

最后按线性顺序组装图:分解 -> 并行检索 -> 综合。

from langgraph.graph import StateGraph, END

workflow = StateGraph(MultiHopRAGState)
workflow.add_node("decompose", decomposer_node)
workflow.add_node("retrieve_in_parallel", retrieval_agent_node)
workflow.add_node("synthesize", synthesizer_node)

workflow.set_entry_point("decompose")

workflow.add_edge("decompose", "retrieve_in_parallel")
workflow.add_edge("retrieve_in_parallel", "synthesize")
workflow.add_edge("synthesize", END)
multi_hop_rag_app = workflow.compile()

并行多跳检索

给两个系统一个复杂且需要比较的问题,这个问题无法通过单次检索调用正确回答,从而对比分析两种查询方式。

# 查询需要比较两个产品,信息在独立、不重叠的文档中
user_query = "Compare the QLeap-V4 and the Eco-AI-M2, focusing on their target use case and power consumption."

# --- 执行简单 RAG ---
print("="*60)
print("                  SIMPLE RAG SYSTEM OUTPUT")
print("="*60 + "\n")
print(f"Final Answer:\n{simple_answer}")

# --- 执行多跳 RAG ---
print("\n" + "="*60)
print("                 MULTI-HOP RAG SYSTEM OUTPUT")
print("="*60 + "\n")
print("--- Sub-Question Answers ---")
for i, (q, a) in enumerate(multi_hop_result['sub_question_answers'].items()):
    print(f"{i+1}. Q: {q}\n   A: {a}")
print("\n--- Final Synthesized Answer ---")
print(multi_hop_result['final_answer'])

# --- 最终分析 ---
print("\n" + "="*60)
print("                     ACCURACY & QUALITY ANALYSIS")
print("="*60 + "\n")
print("**Simple RAG Performance:**")
print("- Result: COMPLETE FAILURE.")
print("- Reason: The user's query contained terms for both products. Vector search found the documents that were, on average, most semantically similar to the entire query, retrieving only documents about the Eco-AI-M2. It completely failed to retrieve any information about the QLeap-V4. Without the necessary context for both products, a comparison was impossible.\n")
print("**Multi-Hop RAG Performance:**")
print("- Result: COMPLETE SUCCESS.")
print("- Reason: The system's intelligence was in the initial decomposition step. The Meta-Agent broke the complex comparative query into two simple, focused sub-questions: 1. Get info on Product A. and 2. Get info on Product B. The parallel Retrieval Agents had no trouble answering these simple questions, each retrieving the correct, focused context. The final Synthesizer agent then received a perfect, complete set of facts about both products, making the final comparison trivial.")

输出为……

#### 输出 ####
============================================================
                  SIMPLE RAG SYSTEM OUTPUT
============================================================

Final Answer:
Based on the provided context, the Eco-AI-M2 chip is designed for edge computing and mobile devices, with a primary feature of low power consumption at only 15W under full load. The context does not contain information about the QLeap-V4, so I cannot provide a comparison.

============================================================
                 MULTI-HOP RAG SYSTEM OUTPUT
============================================================
--- Sub-Question Answers ---
1. Q: What is the target use case and power consumption of the QLeap-V4?
   A: The QLeap-V4 processor is designed for maximum performance in data centers, with a primary use case of large-scale AI model training. It consumes 1200W of power under full load.
2. Q: What is the target use case and power consumption of the Eco-AI-M2?
   A: The Eco-AI-M2 chip is designed for edge computing and mobile devices like drones and smart cameras. Its key feature is low power consumption, drawing only 15W under full load.
--- Final Synthesized Answer ---
The QLeap-V4 and the Eco-AI-M2 are designed for very different purposes, primarily distinguished by their target use case and power consumption.
-   **QLeap-V4**: This is a high-performance processor intended for data centers. Its main use case is large-scale AI model training, and it has a high power consumption of 1200W.
-   **Eco-AI-M2**: This is a low-power chip designed for edge computing and mobile devices. Its focus is on energy efficiency, consuming only 15W, making it suitable for applications like drones and smart cameras.

最终分析得出明确结论,性能差异并非渐进式,而是一次能力上的飞跃。

  • 单次检索步骤无法解决比较查询歧义,仅检索了两个产品中的一个上下文,从根本上无法收集必要的证据。
  • 多跳系统之所以成功,是因为没有试图一次性回答复杂问题,而是识别了查询的比较性质,并将问题分解。
  • 通过并行、专注的 RAG 代理来解决每个简单的子问题,确保收集了所有必要证据,最后的综合步骤只是简单的将预先处理的事实结合起来。

Hi,我是俞凡,一名兼具技术深度与管理视野的技术管理者。曾就职于 Motorola,现任职于 Mavenir,多年带领技术团队,聚焦后端架构与云原生,持续关注 AI 等前沿方向,也关注人的成长,笃信持续学习的力量。在这里,我会分享技术实践与思考。欢迎关注公众号「DeepNoMind」,星标不迷路。也欢迎访问独立站 www.DeepNoMind.com,一起交流成长。

本文由mdnice多平台发布

虽然我并不认同“IDE 会在 2026 年消亡”这种绝对说法,但 Steve Yegge 和 Gene Kim 在分享中抛出的判断,依然值得认真对待:在他们的推演里,从 2026 年 1 月 1 日起,继续依赖传统 IDE 的工程师,会被更快拉开差距。

他们认为这不是“工具升级”,而是“生产方式换代”:工程师的竞争力,越来越取决于你能否用好新一代 AI 开发方式,以及你愿不愿意为它付出真实成本——例如把每天的 token 开销重新定价到“接近日薪”的量级。

更刺耳的是,他们转述了 OpenAI 的 Andrew Glover 的一项观察:是否使用 Codex,可能会让同级别工程师之间的生产力差距被拉到 10 倍,这让管理层“非常惊慌”,“因为他们甚至可能不得不裁掉 50% 的工程师”。

其核心观点如下:

  • 现在的模型本质上是派一个潜水员下去,让它在代码库里四处探索,即使给它更大的氧气瓶,比如一百万 token,它仍会耗尽。正确做法应该是派多个角色,而不是寄希望于一个超大的单一潜水员。

  • 如果你在 2026 年 1 月 1 日后还在使用 IDE,那你就是一个“不好的工程师”。

  • 作为工程师,我每天花在 Token 上的费用应该与我的日薪相当,也就是每天 500 到 1000 美元。

  • Claude Code 走错了方向,他们造出一只巨大、耗能、高成本的“肌肉蚂蚁”。

 

Steve Yegge:今天的时间会过得很快,我将讨论明年(2026 年)开发工具的样貌。

 

现在所有人都迷恋 Claude Code,市面上大概有四十个竞争者,但 Claude Code 并不是答案,代码补全也不是。

 

虽然我每天使用它十四个小时,但开发者并未真正采纳。核心问题是这些工具使用难度过高,认知负担重,而且常常“撒谎、作弊、偷懒”。因此大多数开发者并不喜欢这样的工具。

 

我逐渐认识到,Claude Code 很像电钻或电锯。对于没有受过训练的人,它既能帮上忙,也能造成巨大损伤。未受训练的工程师使用 Claude Code,与一个新手拿着电锯差不多:既可能“切到脚”,也可能在熟练后完成极其精细的工作。然而软件世界无限广阔,而我们的野心也同样无限。

 

因此我想用一个类比说明:明年将是从“手持电锯、电钻”转向“数控机床(CNC)”的一年。CNC 在给定坐标后能自动执行极其精确的操作,这项技术我们已经使用了数百年,也不会在今年停止。

 

有人说“模型已经触顶了”,你的工程师们可能也这么说。即使如此,我们仍然等同于刚发现蒸汽和电力,还需要时间去驾驭它。现在的问题已经主要是工程问题。一年到一年半内,所有代码都将由大型自动化“磨床”式系统生成,工程师不再直接查看代码。这将是一个全新的世界,而我们正走向那里。

 

Gene 和我曾与 OpenAI 的 Andrew Glover 交流过,他说公司内部出现了明显的分化:部分工程师使用 Codex,而更多人没有用(拒绝使用工具的人主要是资深与 Staff 级工程师),产能差距巨大,导致绩效评估出现警报。两个同级别的工程师,其生产力可能相差十倍,这让管理层非常惊慌,因为他们甚至可能不得不裁掉 50% 的工程师。

 

这种情况类似瑞士机械表产业的衰落:经历数百年的辉煌,却被石英表在短短几年内颠覆,当时的工匠与今天坚持传统方式的资深工程师反应如出一辙。

 

未来需要的是一种全新的 UI,不是传统 IDE,而是新的 IDE。事实上,Replit 已经走得最前,他们的方向非常值得称赞。我们不该再继续追着旧形态、构建各种命令行界面。

 

更重要的是,Claude Code 及其竞争者都走错了方向——它们像在打造“世界上最大的蚂蚁”。

 

我的朋友、澳大利亚联邦银行的 Brendan Hopper 说得很好:自然界靠蚁群协作,而 Claude Code 却造出一只巨大、耗能、高成本的“肌肉蚂蚁”。无论是要分析整个代码库,还是只是问“我的 git ignore 还在吗”,它都调用最昂贵的模型。

于是我想到了“潜水员隐喻”:上下文窗口就像氧气瓶。现在的模型本质上是派一个潜水员下去,让它在代码库里四处探索,即使给它更大的氧气瓶,比如一百万 token,它仍会耗尽。正确做法应该是派多个角色:产品经理潜水员、开发潜水员、代码审查潜水员、测试潜水员、合并潜水员等,而不是寄希望于一个超大的单一潜水员。可没人这么做,大家都在造“大潜水员”。

 

未来的构建方式将是工程师熟悉的:任务分解、逐步细化、组件化、黑盒化,并依赖大量协作的智能体,而不是单一智能体。

但在此之前,我的建议还是:学习 Claude Code 来适应新方式,并放弃你的 IDE。如果你在明年 1 月 1 日后还在使用 IDE,那你就是一个“不好的工程师”。

Gene Kim:我研究高绩效技术组织已有 26 年,这段旅程始于我作为 Tripwire 的技术创始人。我们致力于研究那些表现卓越的技术组织——它们在项目交付、运维稳定性、安全合规方面都处于领先。我们想理解这些组织如何实现“从优秀到卓越”的转变,以及其他组织如何复制这些成果。

 

在这 26 年中我经历了许多意外,其中最大的意外之一,是这项研究最终将我带到了 DevOps 运动的中心。DevOps 改变了测试、运维、信息安全等角色的协作方式。我曾以为这会是我职业生涯中最激动人心的经历,直到我在今年 6 月首次与 Steve Yegge 见面。

 

我和 Steve 有许多共同点,其中之一就是对人工智能的热爱,以及都认为 AI 将从底层重塑软件开发的方式。我们相信,AI 对技术组织的影响,可能比十年前敏捷、云计算、CI/CD 和移动化所带来的变革大上百倍。而这些技术突破不仅会改变组织,也会重塑整个经济,让经济结构围绕更先进的生产方式重新排列。

 

过去一年半,我们观察了许多案例,让我们提前看到未来技术组织的雏形。有人可能熟悉 Adrian Cockcroft,他曾是 Netflix 的云架构师,主导了 2009 年将 Netflix 整个基础设施从自建机房迁移到云端。他在几个月前写道,2011 年有人提出“无运维(NoOps)”时,引发了基础设施和运维团队的强烈反对,但现在类似的事情再次发生,只不过这次可能叫“无开发(NoDev)”。如今看来,这似乎不再好笑。

 

我们从 Zapier 的分享中看到,支持团队能发版,设计师能发版,UX 设计也能直接发版。过去被开发者告知“排队、等一个季度、等一年、甚至永远等不到”的人,现在突然能够自己把功能“对话式地”写进生产环境。这不仅改变技术组织,也可能改变整个经济。

 

Steve 和我很幸运能看到部署方式的改变带来什么影响。十年前,我写了《The Phoenix Project(凤凰项目)》,讲述灾难性的部署流程。当时许多组织一年只发布一次版本,难以想象。后来我参与了 DevOps 状况研究,这项跨行业研究在 2013–2019 年间覆盖了 36,000 名受访者。我们发现,高绩效团队每天能多次部署,并能在一小时内完成一次发布。

 

在 2009 年,多次每日部署被视为鲁莽、不负责任甚至“不道德”,但如今却是常态。若想保持高可靠性、缩短平均修复时间,就必须更频繁地进行更小规模的部署。现在我们看到的案例表明,不再手写代码,而是运用新的方式进行开发,可能是一种价值更优的路径。

 

我们在《Vibe coding》一书中提出的定义是:只要不是靠双手在 IDE 里敲代码的方式,都可以称作“Vibe coding”。有些人还像在暗房里冲洗照片一样,依旧习惯在昏暗环境里手动输入代码。但 Anthropic 联合创始人兼 CEO Dario Amodei 给了我们更好的定义:Vibe coding 是由反复对话推动的、由 AI 生成代码的过程。他说这个词很美,能表达一种全新的开发方式,但也略带戏谑。不过对他们而言,这已经是“唯一的方式”。

 

这是编程语言领域的重要人物 Erik Meijer 博士,他参与过 Visual Basic、C#、Haskell,也在 Meta 推出了 Hack 编程语言,在一年内迁移了数百万行 PHP 代码,引入静态类型检查。他说,我们可能是最后一代手写代码的开发者,所以应该享受这一段最后的旅程。

 

还有一件事是这样的:去年 11 月开始,我一直在观察 Steve,他每天在编码代理上花掉几百美元。这在当时看起来非常奇怪。他不仅把各种月度订阅都用到了上限,实际上还远远超出了这些额度。

但现在我们听到的一种说法是:作为一名工程师,我的工作本身就应该要求我每天在 token 上的花费,和我的日薪大致相当。也就是说,大概每天 500 到 1000 美元。因为这些工具带来的,是一种机械优势和认知优势。作为工程师,我会挑战自己,去榨取这种投入所能带来的最大价值,把成果交付给真正重要的人。

在书中,我们把人们为何愿意这样做总结成一个缩写:FAAFO。

第一个 F 是 Faster(更快),但这是最表层的理由。

 

更重要的是 A-Ambitious(雄心),AI 让我们得以完成过去无法实现的雄心项目,把不可能的事情变得可能。在另一端,琐碎麻烦的小任务也几乎变成了零成本。我非常喜欢 Claude Code 团队中的一段采访,Katherine 说,以前客户问题会被放进 Jira 的待办项,在梳理会议中争论,一拖数周;而现在我们直接在当下修复,并在 30 分钟内发布。记录依然会做,但协调成本几乎完全消失了。也就是说,不可能的事情变得可能,麻烦的小事变得免费。

 

第二个 A 是 Able(能力),代表“更独立”,更能单独完成工作。这里有两类协调成本正被 AI 消除。第一类协调成本来自“等待”。如果你需要开发者或一个团队帮你做事,你必须沟通、协调、同步、排优先级、游说、升级……总之必须让他们“和你一样在乎这个问题”。而现在,依靠这些近乎奇迹般的新工具,你可以自己完成许多工作。第二类协调成本来自“理解”。即使别人愿意像你一样重视某件事,他们也无法读你的心。但我们发现,LLM 是惊人的“协作中介”。仅通过一个 LLM,你就能以 Markdown 文档的形式与不同职能顺畅协同。这当然不是最终形态,但它让高带宽的理解成为可能。因为要想实现共同的成果,就必须先有共同的目标与共同的理解。

 

第二个 F,是 Fun(好玩)。正如 Steve 所说,Vibe coding 具有成瘾性。我们见过两个人原本以为“写代码的黄金时代已经过去了”,结果却意外发现现实恰恰相反。我现在常常玩得太投入,不逼自己去睡就会写到凌晨两三点。它不是只有好的一面,但肯定比无聊、枯燥甚至痛苦要好得多。

 

O 是 Optionality(可选项)。我们非常重视“创造期权价值”。模块化之所以强大,也因为它能创造更高的期权价值。Vibe coding 能让你同时进行更多实验、更多尝试,因此它是极具经济价值的工具。Steve Yegge 说,对于已经经历“顿悟时刻”的人来说,本能反应往往是:如何让团队中所有人都获得与你现在同等的生产力?

 

下面我分享一些让我们看到未来形态的案例。

 

例如,Travelopia 的产品与技术负责人 Sree Balakrishna 的分享。Travelopia 是一家年营收 15 亿美元的旅行企业。他们曾用一个小团队,在 6 周内替换一套传统系统。按过去的方式,需要 8 人(6 个开发、1 个 UX、1 个产品负责人);而现在,也许只需要一个开发与一个领域专家,正如 Kent Beck 所说,“一个有问题的人加一个能解决问题的人”。这种团队规模的变化会深刻影响组织未来的运作方式。

 

我最兴奋的案例来自 Dr. Tapabrata Pal。他在 Capital One 推动过 DevOps,如今在 Fidelity 负责一个关键应用,用来查询公司 2.5 万个应用中哪些受 Log4j 影响。过去他的团队总说重新做这个工具需要 5 个月,并需招聘前端工程师。

 

最终他自己花 5 天 Vibe coding 出了一个版本,并上线生产。他只是想证明:事情完全能做,而且可以更快完成。后续更戏剧的是:他为应用找维护者,资深工程师们都不愿接手,最后是团队中最年轻的工程师成为维护者,并正在快速成长。

 

与此同时,这个应用的内部用户数量增长了 10 倍,他也因此获得更多人手。这些变化是任何人都没预料到的。

 

再分享一个例子,我重返 Google Cloud 团队做的 Dora 研究,其中一项未进入正式报告的发现是关于“AI 信任度”。我们采用的信任定义是:你能多大程度预测对方(AI)的行为?越信任,就能给更大请求,用更少词语,减少反馈需求。结果显示:使用 AI 的时间越长,信任越高。那些说“我试了一下,它写代码很差”的人,多半只用了 1 小时。显然,AI 的掌握是可训练的技能,需要实践,而不是一次性体验。

 

因此,我们的责任之一,是帮助他人获得“顿悟时刻”,并协助他们不断练习,从而真正掌握这些强大的工具。

 

六周前,Steve 和我为领导者们做了一次 Vibe coding 工作坊。三小时内,完成率 100%,每个人都做出了成果。还有一位,他说自己 15 年没写代码了,却在短时间内做出一个自动帮自己抢 Southwest 登机位的工具(直到被反机器人系统封掉),你从他脸上的表情就能看到那种久违的创造力被重新点燃。

所以,当支持团队、领导者能编码并上线时,技术组织必然会重塑。

 

一个技术领导者说,当他告诉团队他写了一个应用,其中 6 万行代码都是 AI 写的,而他自己一行没看时,团队看他的眼神仿佛“希望他不存在”。

 

另一个例子,一些存在十年的遗留系统问题,团队集合资深工程师,用 AI 生成修复方案并提交 Pull Request。这次被接受了,而不像过去那样被污名为“AI 生成的低质量内容(AI slop)”。还有团队说,他们现在的代码提交速度如此之快,以至于每个代码仓库只能容纳一个工程师,否则合并冲突会让协作成本爆炸。

 

参考链接:

https://www.youtube.com/watch?v=cMSprbJ95jg&t=4206s

 

AI智能体已迅速从实验性工具转变为安全、工程、IT和运维等日常工作流的核心组件。最初作为个人生产力助手的工具——例如个人代码助手、聊天机器人和协同编程工具——现已演变为嵌入关键流程的、全组织共享的智能体。这些智能体能够跨多个系统编排工作流,例如:

  • 人力资源智能体:根据HR系统更新,在IAM、SaaS应用、VPN和云平台中创建或注销账户。
  • 变更管理智能体:验证变更请求、更新生产系统配置、在ServiceNow中记录审批信息,并在Confluence中更新文档。
  • 客户支持智能体:从CRM获取客户背景信息、在计费系统中检查账户状态、触发后端服务修复,并更新支持工单。

为实现规模化价值,组织级AI智能体被设计为服务于多用户和多角色。与个人用户相比,它们被授予更广泛的访问权限,以便获取高效运作所需的工具和数据。

这些智能体的应用已带来切实的生产力提升:更快的分类处理、减少人工操作、简化运维流程。但这些早期成果伴随着隐性成本。随着AI智能体功能日益强大、集成度不断加深,它们也成为了访问中介。其宽泛的权限可能模糊实际访问者、访问内容及访问权限的边界。许多组织在追求速度与自动化的过程中,忽视了由此产生的新型访问风险。

组织级智能体的访问模型

组织级智能体通常被设计为跨越多资源运作,通过单一实现服务多用户、多角色和多工作流。这些智能体并非绑定于个人用户,而是作为共享资源,能够响应请求、自动化任务,并代表多用户跨系统协调操作。这种设计使智能体易于部署并具备组织级扩展性。

为实现无缝运作,智能体依赖共享服务账户、API密钥或OAuth授权来与交互系统进行身份验证。这些凭证通常长期有效且集中管理,使得智能体无需用户介入即可持续运行。为避免操作阻碍并确保智能体能处理广泛请求,其权限往往被宽泛授予,覆盖的系统、操作和数据范围通常远超单个用户所需。

尽管这种方法最大化了便利性与覆盖范围,但这些设计选择可能无意中创建出强大的访问中介,从而绕过传统的权限边界。

打破传统访问控制模型

组织级智能体通常以远宽于个人用户的权限运行,使其能够跨越多个系统和工作流。当用户与这些智能体交互时,他们不再直接访问系统,而是通过智能体代为执行请求。这些操作以智能体身份而非用户身份运行。这打破了传统访问控制模型——在传统模型中,权限是在用户层级实施的。权限有限的用户通过智能体间接触发操作或获取数据时,可能获得其直接访问未授权的资源。由于日志和审计记录将活动归因于智能体而非请求者,这种权限提升可能在缺乏清晰可见性、问责机制或策略执行的情况下发生。

组织级智能体可悄然绕过访问控制

智能体驱动的权限提升风险往往体现在细微的日常工作中,而非明显的滥用行为。例如,对财务系统访问权限有限的用户可能通过组织级AI智能体请求"总结客户表现"。拥有更宽权限的智能体从计费、CRM和财务平台提取数据,返回用户本无权直接查看的分析结果。

另一种场景中,没有生产环境访问权限的工程师要求AI智能体"修复部署问题"。智能体使用其提升后的凭证调查日志、修改生产环境配置并触发流水线重启。用户从未直接接触生产系统,但生产环境已因其请求而被更改。

这两种情况下都没有违反显式策略:智能体已获授权,请求看似合法,现有IAM控制在技术上也被执行。然而,由于授权是在智能体层级而非用户层级评估,访问控制实际上已被绕过,从而产生无意且通常不可见的权限提升。

传统访问控制在AI智能体时代的局限性

传统安全控制围绕人类用户和直接系统访问构建,难以适应智能体中介的工作流。IAM系统基于用户身份执行权限控制,但当操作由AI智能体执行时,授权评估针对的是智能体身份而非请求者身份。因此,用户层级的限制不再适用。日志和审计记录将活动归因于智能体身份,进一步加剧了问题,掩盖了动作发起者及其意图。在智能体介入的场景中,安全团队已无法有效执行最小权限原则、检测滥用行为或可靠归因操作意图,导致权限提升发生时无法触发传统控制机制。缺乏准确归因还会增加调查复杂性、延缓事件响应,并在安全事件中难以确定意图或影响范围。

揭示以智能体为中心的访问模型中的权限提升

仅用10天?Anthropic最新智能体Cowork的代码竟然都是Claude写的

0%
icon展开列表
仅用10天?Anthropic最新智能体Cowork的代码竟然都是Claude写的
今天
img
AAAI 2026|AP2O-Coder 让大模型拥有「错题本」,像人类一样按题型高效刷题
今天
img
用AI从常规病理切片重建空间蛋白图谱:基于H&E图像的高维蛋白质表达预测
今天
img
京东首届AI影视创作大赛启动 最高奖金10万元邀全民共创AI视频
今天
img
合合信息多模态文本智能产品“上新”,覆盖AI教育、AI健康、AI Infra多元场景
今天
img
500万次围观,1X把「世界模型」真正用在了机器人NEO身上
今天
img
跳出「黑盒」,人大刘勇团队最新大语言模型理论与机理综述
今天
img
百川开源全球最强医疗大模型M3,「严肃问诊」定义AI医疗新能力
今天
img
相约AAAI 2026 | 上海AI实验室北极星 X 星启交流会(报名开启)
01月13日
img
视觉模型既懂语义,又能还原细节,南洋理工&商汤提出棱镜假说
01月13日
img
无需重新训练,即可学习新任务,Arc研究所开源单细胞基础模型Stack及细胞反应全景图谱
01月13日
img
不上云、不租卡,如何优雅地在本地微调Qwen-VL-30B?
01月13日
img
OpenAI的首款硬件:是AI耳机,今年销量要冲5000万
01月13日
img
华为推出软工代码智能体SWE-Lego,解锁SFT训练极致性能
01月13日
img
大模型中标TOP10里的黑马:中关村科金的应用攻坚之道
01月13日
img
刚刚,梁文锋署名开源「记忆」模块,DeepSeek V4更细节了
01月13日
img
一个模型统一4D世界生成与重建,港科大One4D框架来了
01月13日
img
端到端智驾的算力困局,九章智算云这样破局
01月12日
img
真香!刚骂完AI,Linux之父的首个Vibe Coding项目上线
01月12日
img
引入几何约束后,VLM跨越了「空间推理」的认知鸿沟
01月12日
img

仅用10天?Anthropic最新智能体Cowork的代码竟然都是Claude写的

最近,Anthropic发布了全新的智能体工具 Cowork,号称能让普通用户像开发者使用 Claude Code 一样,轻松搞定非技术性任务。

图片

更令人咋舌的是,Cowork 的诞生仅仅用了一周半

图片

Cowork 是 Claude Code 的简化版本,专为普通用户设计。目前作为研究预览版,仅向 macOS 桌面端的 Claude Max 订阅者开放。用户只需授权访问特定文件夹,便能通过自然语言指令,让 AI 自主读取、编辑或创建文件。它不仅能制定计划、并行执行任务,还会实时更新进度,并邀请用户参与指导。

根据官方介绍,Cowork 的能力包括但不限于:自动整理下载文件夹、从截图生成电子表格、基于散乱笔记起草报告,甚至支持连接 Google Calendar 等现有工具,直接生成文档或演示文稿。

据 Claude Code 创建者 Boris Cherny 所说,Cowork 的全部代码都是由 Claude Code 写的

这简直就是 Claude Code 最好的广告,当其他 AI 公司还在靠收购构建生态的是时候,Anthropic 已经开始让 AI 自己生 AI 了。

图片

有不少用户分享了实测反馈,其中热度最高的帖子之一来自 X 用户 vibhu。

他表示自己安装 Cowork 后,仅用 2 小时就完成了原本需要 2 个月的工作,包括生成职位描述、营销策略文档、合作伙伴邮件、网站文案等。随后,他「惊慌」地发现日程、待办和收件箱都空了,不知道工作该怎么继续,甚至在为下午的经理一对一会议发愁。

图片

不过评论区很多人质疑其真实性,认为这可能是夸张的营销或搞笑帖。

图片
图片

但在创业圈,这种冲击却是实打实的。

有人感叹,这将使许多 YC 创业项目原地蒸发。毕竟在 AI 圈,真正的硬通货是地基和模型,而不是那些依附在巨头身上的「套壳挂件」。

图片

甚至已经有「受害者」出现:用户 Guohao Li 表示,由于 Claude Cowork 的横空出世,他们的类似产品失去了竞争力,于是选择开源。

图片

大家纷纷调侃「开源才是王道」,HuggingFace 联合创始人 Thomas Wolf 也现身评论区表达支持。

图片

该项目快速获得 3K GitHub Star。

图片

社区也不乏调侃之声,看看这个「当前创业公司结构」:现在的科技创业似乎只需要一个聪明大脑,外加一张能付得起 AI 公司账单的信用卡就够了。

图片

当下,日常工作下的助理智能体正在层出不穷,结合电脑手机系统的智能体也越来越强大。豆包手机的出现已经重塑了普通人对日常工作任务智能化的想象。

但就像网友使用过 Cowork 说的:「我正在努力想办法解释,为什么我既比以往任何时候都更有效率,又完全没用。」

普通人对智能体完全代理工作任务,似乎还没有做好预期和准备。

相比于其他公司的巨额并购投资,Anthropic 借助 AI 能力,在短时间内,以低成本的方式打造用户端智能体的策略,是否更有价值?

参考链接:

https://x.com/TheAhmadOsman/status/2010917868586647693

https://x.com/craigzLiszt/status/2010842587624505445

https://x.com/guohao_li/status/2010899322825744745

过去24小时重要人工智能与科技动态总结

您好!这是为您整理的过去24小时(截至2025年11月14日)最重要的AI与科技动态,重点梳理了模型发布、前沿论文、开源项目及其他重大公告。

一、模型与产品发布 (Model & Product Releases)

  1. 百度世界大会发布多款AI成果

    • 文心大模型5.0 (ERNIE 5.0):发布新一代原生全模态基础大模型,参数量达2.4万亿,支持文本、图像、音视频的统一处理,已通过文心一言向公众开放。(来自新华网)
    • 智能体“伐谋”:推出全球首个商用自进化代理(Agent),能模拟顶尖算法专家,处理交通、能源等复杂场景的动态优化问题。(来自21世纪经济报道)
    • 其他更新:发布了下一代“实时互动型数字人”慧播星、升级了通用AI代理GenFlow 3.0,并推出了无代码开发工具秒哒2.0。(来自新华网)
  2. OpenAI 发布 GPT-5.1 系列模型

    • OpenAI于11月12日正式发布了GPT-5.1,包含两个版本:GPT-5.1 Instant 引入“自适应推理”功能,更可靠地遵循指令;GPT-5.1 Thinking 则注重效率与更富同理心的交互风格。(来自investing.com)
  3. 谷歌与芯原联合推出 Coral NPU IP

    • 双方联合推出专为端侧大语言模型应用设计的神经处理单元(NPU)IP,基于RISC-V架构,旨在赋能始终在线、超低功耗的边缘AI设备。(来自chnfund.com)

二、最新论文与研究成果 (New Papers & Research)

  1. Google DeepMind 发布 AlphaProof 数学证明系统

    • 该研究成果发表于《自然》杂志。AlphaProof 是一个能证明复杂数学理论的AI系统,它在2024年国际数学奥林匹克竞赛中,取得了相当于银牌的成绩,展示了AI在高级数学推理领域的重大突破。(来自中国新闻网)
  2. Google 发布 AI 驱动的全球天然林地图

    • Google DeepMind 与 Google Research 合作,利用AI和卫星数据创建了“2020年世界天然林地图”,能有效区分天然林与人工林,为全球环境保护和供应链合规提供关键数据支持。(来自research.google)
  3. arXiv 平台最新研究

    • 多智能体学习 (arXiv:2511.09535):提出一种通过理性策略梯度实现鲁棒且多样化的多智能体学习方法。
    • 生成式AI安全 (arXiv:2511.09493):提出“共识采样”方法,旨在提升生成式AI的安全性。
    • VLM能力评估 (arXiv:2511.09483):发布CrochetBench基准,评估视觉-语言模型在钩针编织领域的程序生成能力,发现模型在长距离推理上仍有局限。(以上均来自arxiv.org)

三、热门开源项目 (Open-Source Projects)

  1. TrendRadar (sansan0/TrendRadar)

    • 一个AI舆情监控与热点分析工具,迅速登上GitHub趋势榜首。它能监控35个主流平台的热点,并利用AI进行趋势追踪、情感分析等,支持多渠道推送。(来自github.com)
  2. strix (usestrix/strix)

    • 一个开源的AI黑客代理工具,专为自动化渗透测试和漏洞验证设计,能模拟攻击路径并生成修复建议,受到安全社区的广泛关注。(来自github.com)
  3. adk-go (google/adk-go)

    • 谷歌开源的Go语言AI Agent开发工具包,用于构建、评估和部署复杂的AI代理,支持多智能体协作和Gemini等大模型。(来自github.com)
  4. LightRAG (HKUDS/LightRAG)

    • 一个旨在提供简单、快速的检索增强生成(RAG)解决方案的轻量级框架,相关工作已被EMNLP 2025会议收录。(来自github.com)

四、其他重要科技动态

  1. 李飞飞提出“空间智能”定义AI下一时代

    • 斯坦福大学教授李飞飞认为,AI的下一个十年将由“空间智能”定义,即让机器理解和互动物理世界。她强调,实现这一目标需要构建超越当前大模型的“世界模型”。(来自澎湃新闻)
  2. 第二十七届高交会在深圳开幕

    • 本届高交会于11月14日开幕,重点聚焦人工智能、机器人及半导体等前沿领域,预计将有多款全球首发的AI产品亮相。(来自21世纪经济报道)
  3. 科技股市场波动

    • 美股科技股普遍下跌,纳斯达克指数连跌三日,特斯拉、英伟达等巨头股价承压。比特币价格跌破10万美元关口。(来自21世纪经济报道)

https://track.linso.ai/zh/execution/cmhy5v31m00xi4hvizybq8hqg