AgentHarness 课程

Agent SDK 集成开发

2.8K字·7分钟·

引言

CodeBuddy 的 Agent 能力不仅能在 IDE 和 CLI 中使用,还能通过 SDK 嵌入到你自己的应用中。

Agent SDK 提供 TypeScript 和 Python 两种语言的编程接口,让你可以将 CodeBuddy 的对话、工具调用、子代理等能力集成到任何应用。

核心价值:不是"用 CodeBuddy",而是"把 CodeBuddy 的能力放进你的产品"。


一、SDK 概览

1.1 支持的语言

语言包名安装
TypeScript@tencent-ai/codebuddy-sdknpm install @tencent-ai/codebuddy-sdk
Pythoncodebuddy-sdkpip install codebuddy-sdk

1.2 核心能力

  • 流式消息传输:实时获取 Agent 的输出
  • 多轮对话:维护对话上下文
  • 权限控制:精细控制 Agent 可使用的工具
  • Hook 系统:在工具执行前后插入自定义逻辑
  • 自定义子 Agent:创建专门化的 Agent
  • MCP 集成:连接外部工具和数据源

二、快速开始

2.1 TypeScript 示例

import { CodeBuddyAgent } from '@tencent-ai/codebuddy-sdk';

const agent = new CodeBuddyAgent({
  apiKey: process.env.CODEBUDDY_API_KEY,
  model: 'hunyuan-turbos',
});

// 发送消息,获取流式响应
const stream = await agent.chat('帮我分析这个项目的代码质量');

for await (const chunk of stream) {
  process.stdout.write(chunk.text);
}

2.2 Python 示例

from codebuddy import Agent

agent = Agent(
    api_key=os.environ["CODEBUDDY_API_KEY"],
    model="hunyuan-turbos",
)

# 发送消息
response = agent.chat("帮我分析这个项目的代码质量")
print(response.text)

三、权限控制

3.1 四种权限模式

模式说明适用场景
default默认权限,需要用户确认交互式应用
acceptEdits自动接受文件编辑CI/CD 流程
plan只允许规划,不允许执行需求分析
bypassPermissions跳过所有权限检查受信环境

3.2 自定义权限回调

const agent = new CodeBuddyAgent({
  canUseTool: (toolName, args) => {
    // 自定义权限逻辑
    if (toolName === 'terminal' && args.command.includes('rm')) {
      return { allowed: false, reason: '禁止删除操作' };
    }
    return { allowed: true };
  }
});

四、Hook 系统

4.1 六种 Hook 事件

const agent = new CodeBuddyAgent({
  hooks: {
    onPreToolUse: (tool, args) => {
      console.log(`即将调用 ${tool}`, args);
    },
    onPostToolUse: (tool, args, result) => {
      console.log(`${tool} 执行完成`, result);
    },
    onError: (error) => {
      console.error('Agent 错误:', error);
    },
    onStart: () => console.log('Agent 启动'),
    onEnd: () => console.log('Agent 结束'),
    onMessage: (message) => console.log('新消息:', message),
  }
});

五、使用场景

5.1 个人开发者

将 Agent 嵌入个人工具:

  • 智能写作助手
  • 代码审查机器人
  • 自动化脚本生成器

5.2 AI Infra 团队

构建 AI 基础设施:

  • 多 Agent 编排平台
  • 智能客服系统
  • 自动化运维平台

5.3 传统系统智能化

为已有系统添加 AI 能力:

  • ERP 系统的智能助手
  • CRM 系统的客户分析
  • CMS 系统的内容生成

六、常见陷阱

陷阱 1:API Key 安全

❌ 在前端代码中硬编码 API Key
✅ 通过后端代理调用,API Key 存在服务端

陷阱 2:上下文溢出

❌ 无限累积对话历史
✅ 定期清理或压缩上下文

七、总结

问题答案
Agent SDK 是什么?将 CodeBuddy Agent 能力嵌入应用的 SDK
支持哪些语言?TypeScript + Python
核心能力?流式对话、权限控制、Hook、子代理
适用场景?自定义 AI 应用、系统智能化