从工具到伙伴:2025,重新定义AI Agent

223 阅读6分钟

引言

2024年春天,我第一次在公司听到"AI Agent"这个词。PPT里,这个带着金属光泽的名词在投影幕布上闪烁,像一颗来自未来的种子。当时的我一脸不屑一顾,绝不会想到,这颗种子会在短短8个月里,在普通人的生活中生长出如此茂盛的枝蔓。

而今天,在火山引擎的「扣子」平台上,我的第一个AI Agent终于诞生了。当我看着这个能自动推荐深夜食堂、会安慰加班用户的美食助手时,突然意识到:AI Agent的本质,是一个具备环境感知、自主决策、持续进化能力的数字生命体。而扣子平台,正在揭开这种魔法背后的工业逻辑。

题外话:我在 coze 上发布的第一个AI Agent,欢迎点击 饭团喵星人 解锁美食推荐,目前在coze可以通过“100份美食推荐”搜索到。

image.png

关于如何使用扣子,整个操作流程如下:

创建 bot > 填写名称和描述 > 编排 > 调优 > 发布

架构介绍

AI Agent 技术架构图

扣子的AI Agent架构可以分为五层(图1)。 image.png

架构核心模块

模块流程

下面以美食智能体为例来分析核心模块的具体流程,整个流程从用户->感知->推理->决策->行动->数据,输出的数据来支撑数据资产。 image.png

  • 知识点解析,数据资产: 通过整个流程持续积累、结构化存储,并能够为后续任务提供价值支撑的核心数据资源。这些数据不仅是系统运行的结果,更是驱动智能体持续优化和个性化服务的核心燃料。以美食推荐Agent为例,数据资产的具体组成为 直接输入&隐性反馈
# 结构化存储的示例(JSON格式)
{
  "user_profile": {
    "id": "U123456",
    "dietary_restrictions": ["素食", "花生过敏"],  # 显式输入
    "preference_embedding": [0.76, -0.23, ...],  # 隐性特征向量
    "behavior_logs": [
      {"action": "收藏餐厅", "target": "Green Safe"},
      {"action": "跳过推荐", "target": "川菜"}
    ]
  }
}
  • 显性数据:用户直接提供的口味、禁忌、地理位置等
  • 隐性数据:点击、停留时长、跳过等行为埋点
  • 环境数据:当前时间、天气、设备传感器信息(如移动速度判断用餐紧急度)

模块解析

架构组件技术实现案例场景
大模型Reasoning火山模型+LoRA微调将用户"随便吃点"的模糊需求,解析为「人均100-150元」「步行15分钟内」「有网红甜品」的精确需求
组件编排Langchain式DAG调度器协调知识库查询(过敏源检查)、实时插件(等位时间API)、数据库检索(用户历史评分)的优先级排序
插件体系OpenAI Plugin标准+自定义Adapter餐厅导航插件:将推荐结果转化为高德地图AR导航路线
工作流引擎状态机+规则引擎处理复杂场景:
用户选择困难时触发「二选一助力模式」→ 调用大模型生成对比段子 → 记录选择倾向
知识库向量检索+图神经网络检索相似用户案例:
"对海鲜过敏却喜欢日料" → 推荐寿喜烧/鳗鱼饭等非海鲜日料
触发器多模态事件监测当用户消息包含"纠结""选择困难"关键词时,自动激活决策辅助工作流

具体融合路径分析

1. 感知层 → 信息聚合阶段

技术实现细节

# 伪代码, 多模态特征融合(perception_fusion.py)
def multimodal_fusion(inputs):
    # 文本特征提取
    text_emb = TextEncoder(inputs['text'])
    
    # 视觉特征提取
    img_emb = VisionEncoder(inputs['image'])
    
    # 跨模态对齐
    aligned_feature = CrossModalAttention(
        query=text_emb,
        key=img_emb,
        value=img_emb
    )
    
    # 特征降维
    return DimensionalityReducer(aligned_feature)

对应架构图元素

  • 「信息聚合」节点实现跨模态特征对齐
  • 「用户输入」节点接收文本/图片/语音原始数据

2. 认知层 → Acting控制逻辑

决策过程分解image.png 架构图映射

  • 「工作流」节点处理多步骤任务
  • 「知识库」节点提供领域知识支撑
  • 「触发器」节点激活特定决策路径
# 伪代码
class CognitiveEngine:
    def __init__(self, knowledge_graph):
        self.kg = knowledge_graph  # 餐饮领域知识图谱
        
    def infer(self, user_intent, entities):
        # 知识检索
        candidates = self.kg.query(
            location=entities["location"],
            cuisine_type=entities["cuisineType"]
        )
        
        # 约束条件应用
        filtered = apply_constraints(candidates, entities["constraints"])
        
        # 个性化排序
        ranked = self._personalize_ranking(filtered, user_profile)
        
        return ActionPlan(ranked[:3], reasoning_logs)
        
    def _personalize_ranking(self, candidates, profile):
        # 混合排序策略:协同过滤 + 实时特征
        return sorted(candidates, key=lambda x: 
            x.rating * 0.6 + 
            profile.similarity_to(x.features) * 0.4
        )
3. 行动层 → 任务执行

实现工具使用能力的核心在于扣子的API编排系统,执行器工作流程

# 伪代码, 插件执行器(plugin_executor.py)
class PluginExecutor:
    def execute(self, action_type):
        if action_type == "文生图":
            return StableDiffusionAPI.generate()
        elif action_type == "联网查询":
            return WebCrawler.fetch_real_time_data()
        elif action_type == "数据记录":
            return VectorDB.upsert()

# 数据库操作示例
def update_user_profile(user_id, preference):
    with VectorDB.connect() as db:
        db.execute(
            "UPDATE profiles SET pref=? WHERE uid=?",
            (json.dumps(preference), user_id)
        )

性能保障

  • 插件执行超时自动熔断(阈值800ms)
  • 数据库事务ACID特性保障

Langchain 式技能编排:可解释的业务逻辑

扣子的技能链(Skill Chain)实现参考Langchain设计理念,以「猜菜名」游戏为例(图3):

image.png 关键组件实现

# 游戏状态管理器(game_state.py)  
class GameStateMachine:  
    def __init__(self):  
        self.states = {  
            "INIT": self._handle_init,  
            "CLUE_GEN": self._generate_clue,  
            "ANSWER_CHECK": self._validate_answer  
        }  
          
    def transition(self, current_state, user_input):  
        return self.states[current_state](user_input)  
          
    def _handle_init(self, input):  
        dish = select_dish_based_on(user_history)  
        return ("CLUE_GEN", {"target_dish": dish})  
          
    def _generate_clue(self, context):  
        clue_prompt = f"用不超过5个emoji描述{context['target_dish']}"  
        return ("ANSWER_CHECK", {"clue": llm_generate(clue_prompt)})  

设计模式:有限状态机(FSM)实现多轮对话管理


人设与回复逻辑:人格化AI的工程实现

在扣子中,人格控制系统通过角色参数矩阵实现(表1):

表1 人设控制系统参数矩阵

参数维度技术实现FoodieMaster配置值
语气风格风格迁移模型(StyleBERT)萌系+15%幽默因子
情感响应强度情感计算层(AffectNet)共情系数β=0.83
主动引导倾向强化学习策略网络探索率ε=0.21

回复生成算法

// 伪代码
def personality_response_generation(input_text):  
    # 人格权重注入  
    base_prompt = f"[萌系角色设定] 用户说:{input_text}"  
      
    # 控制生成稳定性  
    return llm.generate(  
        prompt=base_prompt,  
        do_sample=True,  
        top_p=0.85,  
        typical_p=0.92,  
        repetition_penalty=1.15  
    )  

核心参数解析

  • top_p(核采样):控制生成多样性
  • typical_p(典型性采样):平衡创意与可控性
  • repetition_penalty:防止重复响应

结语:AI Agent的初步探索

由于初次尝试AI Agent创建,虽然业务中已经很了解,但我的心情还是不一样的(一种是创造者的心情,一种是打工人的心情)。我们总会意识到:AI Agent正在突破工具范畴,向着具备自主认知能力的伙伴进化。这种进化不是魔法,而是建立在对混合智能架构、可解释工作流、人格建模等技术的系统化工程实现之上。2025年的AI Agent,正在用代码重新定义「智能」的边界。