6616AI

008|Agent 项目工程化:代码组织、测试、部署

Agent 项目怎么写代码、怎么组织、怎么上线,这是面试里考察工程能力的关键。

核心结论:Agent 工程化不是简单地把 prompt 和工具拼在一起,而是要有清晰的代码分层、可测试的设计、可观测的部署和可回滚的迭代机制。


一、项目代码结构

推荐分层:

agents/          # 每个 Agent 的 prompt、工具、状态定义
tools/           # 工具实现和注册
orchestrator/    # 调度器、路由、状态管理
memory/          # 短期/长期记忆实现
state/           # 共享状态定义
eval/            # 测试和评估
config/          # 配置、模型、权限
server.py        # 服务入口

二、每个 Agent 的封装

每个 Agent 应该独立:

class DataQueryAgent:
    def __init__(self, llm, tools, memory):
        self.llm = llm
        self.tools = tools
        self.memory = memory

    def run(self, question):
        # 1. 理解意图
        # 2. 调用工具
        # 3. 总结结果
        pass

三、测试策略

  1. 单元测试:单个 Agent 的输出。
  2. 集成测试:多 Agent 流程。
  3. 回归测试:保证改动不破坏历史用例。
  4. 在线评估:用户反馈 + 业务指标。

四、部署与运维

  • 模型调用做成异步或带超时。
  • 失败重试 + 降级。
  • 记录每次调用、工具、参数、结果。
  • 监控延迟、成本、成功率、幻觉率。

五、面试问答

Q:Agent 项目怎么组织代码?

我会按职责分层:agents 放每个 Agent 的 prompt 和工具,tools 放工具实现,orchestrator 负责调度,memory 管记忆,eval 做测试评估。这样每个模块可独立测试。


六、一句话总结

Agent 工程化 = 清晰分层 + 可测试 + 可观测 + 可回滚。


下一步推荐

  • 009|Agent 测试、监控与可观测性
  • 010|Agent 安全:提示词注入与越狱防御