跳到主要内容
博客计算作为规则手册的提示--指导法律硕士代理超越基本指令

作为规则手册的提示--指导法律硕士代理超越基本指令

作为一本规则手册的提示_指导图书管理代理人超越基本指导

在我们将大型语言模型(LLM)与传统 API 集成的过程中,我们看到了提示如何成为新的 "API 文档",描述工具可以做什么。起初,这一切听起来都非常简单。让 LLM 访问一些工具,描述这些工具,瞧,你就拥有了一个智能代理!但是,正如我们中的许多人所发现的那样,能够使用工具的 LLM 与在更广泛的环境中明智有效地使用工具的 LLM 之间存在着重要的区别。这直接解决了我们在简单的日历助手中遇到的难题。

在这里,我们经常会遇到我所说的 "热心实习生 "综合症。你的 LLM 代理就像一个热心但缺乏经验的实习生,兢兢业业地按照明确的指示使用工具。然而,它可能缺乏经验丰富的员工所具备的老练判断力,无法直观地考虑未明文规定的规则、微妙的人为因素或 "最佳总体结果"。目前的法学硕士在理解和执行给定的文本方面异常出色,但他们并不能从本质上把握任务背后不言而喻的背景或细微的 "为什么",而这往往决定了真正的成功。

这意味着,作为开发人员,我们的角色也在发生变化。我们不再只是描述工具功能,而是在我们的提示中精心制作规则手册,指导 LLM 完成复杂的决策过程。

案例研究体贴 "的日历助理

让我们重温一下第二部分中的 "日历助手 "工具。想象一下,我们的 LLM 主代理可以访问我们定义的两个主要功能:

  1. CreateMeeting(attendees, subject, startTime, duration, location):安排会议。
  2. FindFreeTime(attendees, duration, timeWindow):查找可用的插槽。

我们为这些工具提供的初始提示可处理基本的解释,并根据公司的标准工作时间进行配置,例如每位员工的工作时间为当地时间周一至周五上午 8:00 - 下午 6:00。

现在,一位在伦敦担任团队领导的用户提出了这样的请求:"我们需要在下周初为 Atlas 项目召开一次关键的 1 小时战略会议。与会者包括我、Maria(也在伦敦)和 Ben(在爱丁堡)。这需要所有与会者做好充分准备。请将会议安排在我们的伦敦总部。

热情的实习生 "代理开始工作。它使用 "FindFreeTime "查询日历,发现格林尼治标准时间周一上午 8:30对每个人来说都是 "空闲 "时间。

  • 它接着打电话: CreateMeeting(attendees=["lead@example.com", "maria@example.com", "ben@example.com"], subject="Project Atlas Strategy Session", startTime="<Next Monday @ 08:30 GMT>", duration="1 hour", location="London HQ").

从技术上讲,会议已经安排好了。但结果好吗?请考虑其影响:

  1. 忽略旅行因素:对于居住在爱丁堡的 Ben 来说,上午 8:30 在伦敦召开一次面对面的会议是非常困难的。这样一来,他就必须在周一一大早出差,或者更有可能在周日晚上出差。该代理只看了日历上的 "8-6 点可用工作时间",完全没有考虑到清晨会议需要大量旅行在后勤方面的不现实性和对个人的影响。它没有区分本地与会者的上午 8:30 时段和需要亲自到场的远程与会者的上午 8:30 时段。
  2. 忽略了准备时间:用户明确指出这是一次 "关键战略会议",需要 "大量准备时间"。将会议安排在周一早上的第一件事(8:30)隐含地向与会者施压,要求他们利用周末的个人时间进行准备,以便为如此早的开始做好准备。

这时,作为开发人员,你会意识到,代理是根据明确的日历可用性来执行任务的,但却忽略了关键的隐含人为因素和实际考虑因素。它缺乏判断力,无法确保真正有效和周到的结果。

将 "体验 "和 "考虑 "编码为提示语

为了将 "实习生 "提升为 "经验丰富的助手",我们需要在 "实习生 "的工作流程中嵌入更复杂的逻辑。 主代理指导提示 (或在协调工具时遵循的总体指令)。这不仅仅是描述 FindFreeTimeCreateMeeting 工具本身。我们需要告诉代理 如何更体贴.

这通常涉及指示代理寻找并使用我们可以认为是 "第三种工具 "或额外的信息和逻辑层。在这种情况下,它就是 与会者地点、旅行背景和会议性质。 我们的代理可能需要隐式(或通过其他工具如 GetUserProfile(email)) 获取或推断:

  • 每位与会者的主要工作地点。
  • 会议类型(如面对面会议与虚拟会议)。
  • 会议重要性和时间安排的影响(如 "周一上午的关键会议")。

有了这些 "上下文数据",我们就需要在代理的主提示中添加一系列 "如果......那么...... "式的指令:

修订后的代理提示逻辑片段(概念):

"......当受命安排会议时:

  1. 收集强化背景: 为每位与会者确定其可能的位置(例如,使用 GetUserProfile(attendee_email)).注意会议是否指定为 "面对面",与会者是否为远程与会者。
  2. 将面对面会议的差旅因素考虑在内:
    • 如果 会议是面对面的、 与会者是远程的、 确定建议的清晨时段(如会议地点当地时间上午 10:00 之前):
      • 然后,将此标记给请求者。例如:"Ben 将从爱丁堡赶来参加这次面谈。为了方便周一的旅行,您希望在上午 10:30 或更晚的时间开始会议,还是我应该探讨一下虚拟方案?
  3. 考虑关键会议的准备时间:
    • 如果 会议被描述为 "关键"、"重要 "或需要 "大量准备",或 安排在周一(或节假日后)的较早时段:
      • 然后,提示请求者进行确认。例如:"对于需要准备的周一重要会议,上午 8:30 的开始时间是否能让大家在周一上午有足够的时间,还是上午 10:00 左右的时间段更适合让大家在当天做好准备?
  4. 处理一般时区/工时冲突(如前所述):
    • (纳入优先考虑 "核心社交窗口 "的逻辑,处理核心社交窗口之外的时间段,并在适用的情况下要求确认不同时区的不方便时间,即使是虚拟会议)。
  5. 尊重明确的用户重写:
    • 如果用户明确确认了一项不方便的安排(例如,"是的,本知道并将于周日出差"),那么就继续进行,或许最后再确认一句:'明白。日程安排已确认'"。

提示:从简单描述到复杂算法

如您所见,我们主代理的提示已发生了显著变化。它不再只是一个可用工具列表。它是一棵详细的、有条件的决策树。它是一个用自然语言表达的微型算法。这些 "如果......那么...... "语句成为代理 "推理 "过程的主干,不仅引导代理找到解决方案,还引导代理找到更好的解决方案。

开发人员面临的挑战--也是新出现的技能--是预见这些潜在的陷阱,并先发制人地将 "经验"、"公司政策 "或 "普通礼貌 "直接编码到 LLM 的指令中。这证明,虽然法律硕士带来了不可思议的力量,但开发人员引导这种力量实现真正有用和体贴的应用的工作比以往任何时候都更加重要。这就是将 "热情洋溢的实习生 "转变为可靠、经验丰富的数字同事,一次一次精心制作的提示。

展望未来,我们希望这些代理能够真正从行动结果中 "学习",从而超越最详细的基于提示的规则手册。今天,我们对经验进行了细致的编码,而下一个前沿领域则涉及能够自主完善策略的代理。试想一下,代理不仅可以使用工具和数据来完成工作,还可以持续获得反馈,了解这些行动在实现预期业务成果方面的成败。例如,如果我们的日历助手持续观察到某位用户以 "外出吃午饭 "为由拒绝了中午 12:00 的会议邀请,那么随着时间的推移,它就能学会降低优先级,甚至避免向该用户推荐这个时间段,而无需开发人员明确制定 "用户 X 中午不开会 "的规则。

现在,将这种学习能力推广到更复杂的业务流程中。例如,最初为客户入职或供应链物流编程的代理程序,可以通过测量关键性能指标和观察实际结果,开始识别低效或发现更优化的路径。随着时间的推移,它可能会巧妙地调整方法,重新确定步骤的优先次序,甚至建议修改开发人员最初设计的基础流程。因此,在未来,开发人员可能不仅仅是这些代理行为的最初设计者,还可能是系统的培育者,在这些系统中,代理会逐步完善和优化自己的操作 "算法",真正成为实现业务目标的动态学习伙伴。

了解Akamai如何大规模支持您的人工智能工作负载。立即与我们的专家联系

注释

留下回复

您的电子邮件地址将不会被公布。 必须填写的字段被标记为*