/images/hugo/avatar.png

Base Agent - API 形态实现

至此我们对 API 形态的 Base Agent 实现做一个总结。最后我们会讨论 Agent 的 Serverless 改造。

1. Agent 执行流程

API 形态:

  1. UI: 实现 doNext,负责驱动 AgentLoop 的执行,实现多步执行的语义,每一次 AgentLoop 发起一次对 API 的 Post 请求,并更新 UI 侧状态。
  2. API Server: 使用请求的 SessionID 重建 AgentLoop,执行一轮循环,并根据 AgentLoop 执行结果更新 Session

对比 TUI: TUI 初始化 AgentLoop,提供 doNext 方法驱动 AgentLoop 执行。

Prompt 自动优化 APO 流程

本节我们来学习一个轻量级的 Prompt 自动优化器的设计与实验。目的了是为了后续学习 DSPY 里两个重要的提示词自动优化工具: MIPROv2 和 GEPA 打下基础。

1. 优化目标与边界

优化对象包括:

Rag 实现问题

今天开始,我们来讨论 RAG 技术实现。目前为止,我对 RAG 理解仅局限于 RagFlow。在当下 AI 编程能力如此强的背景下,我个人觉得,如果我们能把一个技术所要解决的问题描述清楚,AI 完全能给我们提供一个生产可用的解决方案。

Base Agent Context 管理

Context 管理包括:

  1. Context Compact

1. Compact

1.1 Compact 的实现

上下文压缩一比一复刻了 ../claude_code/003_cc.md。然后剔除了跟 Coding 强相关的内容。

为了压缩之后,用户可以看到完整的 message,Context 区分了 active_messages 和 messages。

Base Agent 记忆提取

记忆的实现包含如下的核心逻辑:

  1. 记忆提取的提示词
  2. 记忆的召回
  3. 记忆的更新

1. 记忆提取提示词设计

记忆提取不是一个工作流,而是一个工具,类似与程序里的函数,所以他的提示词核心部分是:

Base Agent Copilot Handler

Copilot Handler 表达的是一种 Agent 与 人交互的流程:

  1. Copilot Request 不是 http 的请求,指代模型生成的,需要用户确认的内容
  2. Copilot Response 是用户确认后的内容

为什么我们一直在强调 Copilot Handler 的重要性?是因为 Copilot 实现交互的同时,提供了一个时间点,执行记忆的提取。