第13章:人机协同

智能体设计模式:构建智能系统的实战指南 阅读 29 次

第13章:人机协同

人机协同(HITL)模式在智能体的开发和部署中代表着一种关键策略。它有意将人类认知的独特优势——如判断力、创造力和细微的理解力——与人工智能的计算能力和效率交织在一起。这种战略性的整合不仅仅是一个选择,往往是一种必需,尤其是在人工智能系统越来越多地嵌入到关键决策过程中时。

HITL的核心原则是确保人工智能在道德边界内运行,遵守安全协议,并以最佳效果实现其目标。这些担忧在具有复杂性、模糊性或重大风险的领域尤为突出,在这些领域,人工智能错误或误解的后果可能非常严重。在这种情况下,完全自主——即人工智能系统在没有任何人为干预的情况下独立运行——可能是不明智的。HITL承认这一现实,并强调即使在人工智能技术迅速发展的今天,人类的监督、战略输入和协作互动仍然是不可或缺的。

HITL方法根本上是围绕人工与人类智能之间协同作用的理念展开的。HITL并非将AI视为替代人类工人的工具,而是将其定位为一种增强和提升人类能力的工具。这种增强可以采取多种形式,从自动化日常任务到提供基于数据的洞察力,以辅助人类决策。最终目标是创建一个协作生态系统,其中人类和AI智能体都能利用各自的独特优势,实现单独无法达成的成果。

在实践中,半自动化交互(HITL)可以以多种方式实现。一种常见的方法是让人类充当验证者或审阅者,检查人工智能的输出以确保准确性并识别潜在的错误。另一种实现方式是让人类积极引导人工智能的行为,实时提供反馈或进行纠正。在更复杂的设置中,人类可能与人工智能作为合作伙伴共同解决问题或通过交互式对话或共享界面做出决策。无论具体实现方式如何,HITL模式强调了保持人类控制和监督的重要性,确保人工智能系统始终与人类的伦理、价值观、目标和 societal expectations 保持一致。

人机协作模式概述

人机协同(HITL)模式将人工智能与人类输入相结合,以增强智能体能力。这种方法认识到,最佳人工智能性能通常需要自动化处理和人类洞察力的结合,尤其是在复杂度高或涉及伦理考量的场景中。HITL模式并非取代人类输入,而是旨在通过确保关键判断和决策由人类理解来增强人类能力。

HITL(人机交互学习)包含几个关键方面:人工监督,涉及监控AI智能体性能和输出(例如,通过日志审查或实时仪表板)以确保遵守指南并防止不希望的结果。当AI智能体遇到错误或模糊场景时,会发生干预和纠正;人工操作员可以纠正错误、提供缺失数据或指导智能体,这也有助于未来智能体的改进。学习反馈由人工收集并用于优化AI模型,尤其是在带有人类反馈的强化学习方法中,人类的偏好直接影响智能体的学习轨迹。决策增强是指AI智能体向人类提供分析和建议,然后由人类做出最终决定,通过AI生成的见解增强人类决策,而不是完全的自主性。人机协作是一种合作互动,人类和AI智能体贡献各自的优势;常规数据处理可能由智能体处理,而创造性问题解决或复杂谈判则由人类管理。最后,升级策略是制定协议,规定何时以及如何将任务升级给人工操作员,以防止智能体能力之外的错误情况。

实现HITL模式使得智能体能够在无法或未被允许完全自主的敏感领域得到应用。它还提供了一种通过反馈循环持续改进的机制。例如,在金融领域,大型企业贷款的最终批准需要由人类贷款官评估定性因素,如领导性格。同样,在法律领域,正义和问责制的核心原则要求人类法官保留对涉及复杂道德推理的判决等关键决策的最终权威。

注意事项:尽管HITL模式具有诸多优势,但它也存在显著的局限性,其中最主要的是可扩展性不足。虽然人工监督可以提供高精度,但操作员无法管理数百万个任务,这导致了一个基本的权衡,通常需要结合自动化以实现规模化和HITL以提高准确性的混合方法。此外,该模式的成效高度依赖于人工操作员的专长;例如,虽然人工智能可以生成软件代码,但只有熟练的开发者才能准确识别细微的错误并提供正确的指导以修复它们。当使用HITL生成训练数据时,这一需求同样适用,因为人类标注员可能需要特殊培训才能学会如何以产生高质量数据的方式纠正人工智能。最后,实施HITL会引发重大的隐私问题,因为敏感信息在暴露给人工操作员之前,通常必须严格匿名化,这又增加了另一个过程复杂性层次。

实际应用与用例

人机协作模式在众多行业和应用中至关重要,尤其是在准确性、安全性、伦理或细微理解至关重要的领域。

  • 内容审核: 智能体可以快速筛选大量在线内容,识别违规情况(例如,仇恨言论、垃圾邮件)。然而,对于模糊不清或边缘内容,则会升级至人工审核员进行审查和最终决策,确保细致的判断并遵守复杂的政策。
  • 自动驾驶: 虽然自动驾驶汽车可以自主处理大部分驾驶任务,但它们被设计成在复杂、不可预测或危险的情况下将控制权交还给人类驾驶员(例如,极端天气、不寻常的道路状况),因为这些情况下AI无法自信地导航。
  • 金融欺诈检测: 智能系统可以根据模式标记可疑交易。然而,高风险或模糊的警报通常会被发送给人类分析师,由他们进一步调查、联系客户,并最终确定交易是否为欺诈行为。
  • 法律文件审查: 智能体可以快速扫描和分类数千份法律文件,以识别相关的条款或证据。随后,人类法律专业人士会对智能体的发现进行审查,以确保准确性、上下文和法律影响,尤其是在关键案件中。
  • 客户支持(复杂查询):智能体可以处理日常客户咨询。如果用户的问题过于复杂、情绪化,或者需要AI无法提供的同理心,对话将无缝转交给人工支持智能体。
  • 数据标注和注释: AI模型通常需要大量标注数据集进行训练。人类参与其中,对图像、文本或音频进行准确标注,为AI提供学习的基础事实。这是一个持续的过程,因为模型会不断进化。
  • 生成式AI精炼: 当LLM生成创意内容(例如,营销文案、设计理念)时,人类编辑或设计师会审查和精炼输出内容,确保其符合品牌规范,与目标受众产生共鸣,并保持质量。
  • 自主网络: 通过利用关键性能指标(KPIs)和识别出的模式,AI系统能够分析警报并预测网络问题和流量异常。然而,诸如处理高风险警报等关键决策通常需要提升至人类分析师。这些分析师进行进一步调查,并最终决定是否批准网络变更。

这种模式展示了人工智能实施的一种实用方法。它利用人工智能来提升可扩展性和效率,同时保持人工监督以确保质量、安全和道德合规。

“人机协同”是该模式的变体,其中人类专家定义总体策略,然后人工智能处理即时行动以确保合规。让我们考虑两个例子:

  • 自动化金融交易系统:在这种场景中,人类金融专家设定整体的投资策略和规则。例如,人类可能将政策定义为:“保持70%的科技股和30%的债券投资组合,任何单一公司的投资不超过5%,当任何股票价格下跌至购买价格10%以下时自动卖出。”然后,AI实时监控股市,在满足这些预定义条件时立即执行交易。AI正在处理由人类操作者设定的较慢、更战略性的政策所引发的即时、高速动作。
  • 现代呼叫中心:在这种配置中,人类经理为顾客互动制定高级策略。例如,经理可能会设定规则,如“任何提及‘服务中断’的电话应立即转接到技术支持专家”或“如果顾客的语气表明高度挫败,系统应提供直接连接到人类智能体的选项”。然后,AI系统处理初始顾客互动,实时倾听并解读他们的需求。它通过即时路由电话或提供升级,无需对每个个案进行人工干预,自主执行经理的策略。这使得AI能够根据人类操作员提供的较慢的战略指导,管理大量即时行动。

动手代码示例

为了演示人机协作模式,ADK智能体可以识别需要人工审核的场景并启动升级流程。这允许在智能体的自主决策能力有限或需要复杂判断的情况下进行人工干预。这并非一个孤立的功能;其他流行的框架也采用了类似的能力。例如,LangChain也提供了实现这类交互的工具。

from google.adk.agents import Agent
from google.adk.tools.tool_context import ToolContext
from google.adk.callbacks import CallbackContext
from google.adk.models.llm import LlmRequest
from google.genai import types
from typing import Optional

# Placeholder for tools (replace with actual implementations if needed)
def troubleshoot_issue(issue: str) -> dict:
    return {"status": "success", "report": f"Troubleshooting steps for {issue}."}

def create_ticket(issue_type: str, details: str) -> dict:
    return {"status": "success", "ticket_id": "TICKET123"}

def escalate_to_human(issue_type: str) -> dict:
    # This would typically transfer to a human queue in a real system
    return {"status": "success", "message": f"Escalated {issue_type} to a human specialist."}

technical_support_agent = Agent(
    name="technical_support_specialist",
    model="gemini-2.0-flash-exp",
    instruction="""
    You are a technical support specialist for our electronics company. FIRST, check if the user has a support history in state["customer_info"]["support_history"]. If they do, reference this history in your responses. For technical issues:
    1. Use the troubleshoot_issue tool to analyze the problem.
    2. Guide the user through basic troubleshooting steps.
    3. If the issue persists, use create_ticket to log the issue.
    For complex issues beyond basic troubleshooting:
    1. Use escalate_to_human to transfer to a human specialist. Maintain a professional but empathetic tone. Acknowledge the frustration technical issues can cause, while providing clear steps toward resolution.
    """,
    tools=[troubleshoot_issue, create_ticket, escalate_to_human]
)

def personalization_callback(
    callback_context: CallbackContext, llm_request: LlmRequest
) -> Optional[LlmRequest]:
    """Adds personalization information to the LLM request."""
    # Get customer info from state
    customer_info = callback_context.state.get("customer_info")
    if customer_info:
        customer_name = customer_info.get("name", "valued customer")
        customer_tier = customer_info.get("tier", "standard")
        recent_purchases = customer_info.get("recent_purchases", [])
        personalization_note = (
            f"\nIMPORTANT PERSONALIZATION:\n"
            f"Customer Name: {customer_name}\n"
            f"Customer Tier: {customer_tier}\n"
        )
        if recent_purchases:
            personalization_note += f"Recent Purchases: {', '.join(recent_purchases)}\n"
        if llm_request.contents:
            # Add as a system message before the first content
            system_content = types.Content(
                role="system", parts=[types.Part(text=personalization_note)]
            )
            llm_request.contents.insert(0, system_content)
    return None  # Return None to continue with the modified request

此代码提供了一个使用谷歌ADK(应用程序开发工具包)创建技术支持智能体的蓝图,该智能体基于HITL(人机交互任务学习)框架设计。该智能体充当智能的第一线支持,配置了特定指令,并配备了如“故障排除”、“创建工单”和“升级至人工”等工具,以管理完整的支持工作流程。升级工具是HITL设计的核心部分,确保复杂或敏感的案件被转交给人工专家。

该架构的关键特性是其深度个性化能力,这一能力通过一个专门的回调函数实现。在联系LLM之前,该函数会从智能体的状态中动态检索客户特定的数据——例如他们的姓名、等级和购买历史——然后将这些数据作为系统消息注入到提示中,使智能体能够提供高度定制和基于用户历史信息的响应。通过结合结构化工作流程、必要的人类监督和动态个性化,这段代码成为ADK如何促进复杂且稳健的AI支持解决方案开发的实际示例。

概览

内容: 人工智能系统,包括高级LLM,往往难以处理需要细微判断、道德推理或对复杂、模糊情境的深入了解的任务。在高风险环境中部署完全自主的AI存在重大风险,因为错误可能导致严重的安全、财务或道德后果。这些系统缺乏人类所具有的固有创造力和常识推理能力。因此,在关键决策过程中完全依赖自动化通常是鲁莽的,并且可能损害系统的整体有效性和可靠性。

原因: 人机协作(HITL)模式通过战略性地将人工监督整合到AI工作流程中,提供了一种标准化的解决方案。这种智能体方法创造了一种共生伙伴关系,其中AI负责计算密集型工作以及数据处理,而人类则提供关键的验证、反馈和干预。通过这种方式,HITL确保AI的行为与人类价值观和安全协议保持一致。这种协作框架不仅减轻了完全自动化的风险,而且通过从人类输入中持续学习,增强了系统的能力。最终,这导致了更稳健、准确和符合伦理的结果,这些结果既不是人类单独能够实现的,也不是AI能够实现的。

经验法则:在部署AI至错误具有重大安全、伦理或财务后果的领域时,例如医疗保健、金融或自主系统,请使用此模式。对于涉及模糊性和细微差别且LLM无法可靠处理的任务,如内容审核或复杂的客户支持升级,这一点至关重要。当目标是通过高质量、人工标注的数据持续改进AI模型,或精炼生成式AI输出以满足特定质量标准时,请使用HITL。

视觉摘要:

image1

图1:人机交互设计模式

关键要点

关键要点包括:

  • 环境中的人类(HITL)将人类智能和判断整合到AI工作流程中。 在复杂或高风险场景中,安全性、伦理性和有效性至关重要。 关键方面包括人工监督、干预、学习反馈和决策增强。 升级策略对于智能体了解何时将任务转交给人类至关重要。
  • HITL允许负责任地部署人工智能,并实现持续改进。 人机交互的主要缺点是其固有的可扩展性不足,这导致了准确性与数量之间的权衡,以及其依赖于高度专业的领域专家以进行有效干预。 其实现面临操作挑战,包括需要培训人类操作员进行数据生成,并通过匿名化敏感信息来解决隐私问题。

结论

本章探讨了至关重要的“人机交互”(HITL)模式,强调了它在构建稳健、安全和道德的AI系统中的重要作用。我们讨论了如何将人类的监督、干预和反馈整合到智能体的工作流程中,这可以显著提升其性能和可靠性,尤其是在复杂和敏感的领域。所展示的实践应用证明了HITL的广泛应用,从内容审核和医学诊断到自动驾驶和客户支持。概念性代码示例展示了ADK如何通过升级机制促进人机交互。随着AI能力的持续进步,HITL仍然是负责任AI发展的基石,确保人类价值观和专业知识在智能系统设计中始终处于核心地位。

参考文献

  1. 机器学习中的端到端学习综述,吴星娇,肖鲁伟,孙一轩,张军航,马天龙,何亮