11# AI Coding Agent - 智能编程助手
2+
23这是一个基于火山引擎AgentKit构建的智能编程助手系统,专门用于帮助用户解决各类编程问题。系统集成了代码执行沙箱、TOS对象存储服务功能,能够提供专业、高效的编程辅助体验。
34
45## 概述
6+
57本用例展示如何构建一个生产级 AI 编程助手系统,具备以下能力:
68
79- ** 智能编程对话** :基于AI的智能编程助手,能够理解用户编程需求并提供准确代码解决方案
1113- ** 长期记忆** :支持会话记忆和用户历史记录存储
1214- ** 观测能力** :集成OpenTelemetry追踪和APMPlus监控
1315
14- ## 架构
15- ### 系统架构
16+ ## 核心功能
1617
1718![ AI Coding Agent with AgentKit Runtime] ( img/archtecture_ai_coding.jpg )
1819
19- ```
20+ ``` text
2021用户请求
2122 ↓
2223AgentKit 运行时
@@ -27,29 +28,55 @@ AI 编程助手
2728 └── URL 生成工具 (get_url_of_frontend_code_in_tos)
2829```
2930
30- ### 核心组件
31+ ## Agent 能力
3132
3233| 组件 | 描述 |
33- | ----------- | ------------- |
34+ | - | - |
3435| ** Agent 服务** | [ ` agent.py ` ] ( agent.py ) - 主智能体应用,包含配置和运行逻辑 |
3536| ** 工具模块** | [ ` tools.py ` ] ( tools.py ) - TOS 上传、URL 生成和实用工具函数 |
3637| ** 沙箱执行** | 支持 Python、Java、JavaScript、Go 的安全代码执行环境 |
3738| ** TOS 集成** | 用于托管前端代码并提供公共访问的对象存储服务 |
3839
39- ## 快速开始
40+ ### 多语言支持
41+
42+ 支持 Python、Java、JavaScript、Go 等主流编程语言,具备自动语法验证。
43+
44+ ### 沙箱执行
45+
46+ 在隔离环境中运行代码,确保安全性并防止系统干扰。
47+
48+ ### 自动化部署
49+
50+ 前端代码自动上传到 TOS,生成预览 URL 以便立即测试。
51+
52+ ### 可观测性
53+
54+ 内置 OpenTelemetry 追踪和 APMPlus 监控,支持生产环境调试和性能分析。
55+
56+ ## 目录结构说明
57+
58+ ``` text
59+ ai_coding/
60+ ├── agent.py # 主智能体应用及配置
61+ ├── tools.py # 工具函数 (TOS 上传、URL 生成)
62+ ├── requirements.txt # Python 依赖
63+ └── README.md # 项目文档
64+ ```
65+
66+ ## 本地运行
4067
4168### 前置条件
4269
43- ** 1. 火山引擎访问凭证**
70+ #### 火山引擎访问凭证
4471
45721 . 登录 [ 火山引擎控制台] ( https://console.volcengine.com )
46732 . 进入"访问控制" → "用户" -> 新建用户 或 搜索已有用户名 -> 点击用户名进入"用户详情" -> 进入"密钥" -> 新建密钥 或 复制已有的 AK/SK
4774 - 如下图所示
4875 ![ Volcengine AK/SK Management] ( ../img/volcengine_aksk.jpg )
49763 . 为用户配置 AgentKit运行所依赖服务的访问权限:
5077 - 在"用户详情"页面 -> 进入"权限" -> 点击"添加权限",将以下策略授权给用户
51- - ` AgentKitFullAccess ` (AgentKit 全量权限)
52- - ` APMPlusServerFullAccess ` (APMPlus 全量权限)
78+ - ` AgentKitFullAccess ` (AgentKit 全量权限)
79+ - ` APMPlusServerFullAccess ` (APMPlus 全量权限)
53804 . 为用户获取火山方舟模型 Agent API Key
5481 - 登陆[ 火山方舟控制台] ( https://console.volcengine.com/ark/region:ark+cn-beijing/overview?briefPage=0&briefType=introduce&type=new )
5582 - 进入"API Key管理" -> 创建 或 复制已有的 API Key,后续` MODEL_AGENT_API_KEY ` 环境变量需要配置为该值
@@ -65,7 +92,7 @@ AI 编程助手
6592 - 如下图所示
6693 ![ Ark Model Service Management] ( ../img/ark_model_service_management.jpg )
6794
68- ** 2. AgentKit 工具 ID**
95+ #### AgentKit 工具 ID
6996
70971 . 登录火山引擎 AgentKit 控制台
71982 . 进入"工具" → "创建沙箱工具"
@@ -108,18 +135,20 @@ export MODEL_AGENT_API_KEY={{your_model_agent_api_key}} # 从火山方舟获取
108135```
109136
110137** 环境变量说明:**
138+
111139- ` VOLCENGINE_ACCESS_KEY ` : 火山引擎访问凭证的 Access Key
112140- ` VOLCENGINE_SECRET_KEY ` : 火山引擎访问凭证的 Secret Key
113141- ` DATABASE_TOS_BUCKET ` : 用于存储生成的前端代码的 TOS 存储桶名称
114- - 格式: ` DATABASE_TOS_BUCKET=agentkit-platform-{{your_account_id}} `
115- - 示例: ` DATABASE_TOS_BUCKET=agentkit-platform-12345678901234567890 `
116- - 其中` {{your_account_id}} ` 需要替换为您的火山引擎账号 ID
142+ - 格式: ` DATABASE_TOS_BUCKET=agentkit-platform-{{your_account_id}} `
143+ - 示例: ` DATABASE_TOS_BUCKET=agentkit-platform-12345678901234567890 `
144+ - 其中` {{your_account_id}} ` 需要替换为您的火山引擎账号 ID
117145- ` AGENTKIT_TOOL_ID ` : 从 AgentKit 控制台获取的工具 ID
118146- ` MODEL_AGENT_API_KEY ` : 从火山方舟获取的模型 Agent API Key
119147
120- ## 本地测试
148+ ## 测试
121149
122150使用 ` veadk web ` 进行本地调试:
151+
123152> ` veadk web ` 是一个基于 FastAPI 的 Web 服务,用于调试 Agent 应用。运行该命令时,会启动一个web服务器,这个服务器会加载并运行您的 agentkit 智能体代码,同时提供一个聊天界面,您可以在聊天界面与智能体进行交互。在界面的侧边栏或特定面板中,您可以查看智能体运行的细节,包括思考过程(Thought Process)、工具调用(Tool calls)、模型输入/输出。
124153
125154``` bash
@@ -146,7 +175,7 @@ veadk web
146175- ** Python 代码生成** : "写一个生成斐波那契数列的函数"
147176- ** 算法实现** : "用 Python 创建一个二分查找实现"
148177
149- ## 部署
178+ ## AgentKit 部署
150179
1511801 . 部署到火山引擎 AgentKit Runtime:
152181
@@ -165,52 +194,44 @@ agentkit config \
165194# 3. 部署到运行时
166195agentkit launch
167196```
168- 2 . 调用智能体
197+
198+ 1 . 调用智能体
169199
170200``` bash
171201agentkit invoke ' {"prompt": "用 Python 创建一个二分查找实现"}'
172202```
173203
174- ## 📁 项目结构
175-
176- ```
177- ai_coding/
178- ├── agent.py # 主智能体应用及配置
179- ├── tools.py # 工具函数 (TOS 上传、URL 生成)
180- ├── requirements.txt # Python 依赖
181- └── README.md # 项目文档
182- ```
183-
184- ## 🔍 主要特性
185-
186- ### 多语言支持
187- 支持 Python、Java、JavaScript、Go 等主流编程语言,具备自动语法验证。
188-
189- ### 沙箱执行
190- 在隔离环境中运行代码,确保安全性并防止系统干扰。
191-
192- ### 自动化部署
193- 前端代码自动上传到 TOS,生成预览 URL 以便立即测试。
194-
195- ### 可观测性
196- 内置 OpenTelemetry 追踪和 APMPlus 监控,支持生产环境调试和性能分析。
197-
198204## 常见问题
199205
200206** 错误: ` DATABASE_TOS_BUCKET not set ` **
207+
201208- 需通过环境变量设置用于代码上传的 TOS 存储桶名称
202209
203- ** 代码执行超时**
210+ ** 代码执行超时:**
211+
204212- 检查沙箱服务状态和网络连接
205213- 验证代码复杂度和执行时间要求
206214
207- ** TOS 上传失败**
215+ ** TOS 上传失败:**
216+
208217- 确认 Access Key/Secret Key 具有 TOS 写入权限
209218- 验证存储桶名称和区域配置
210219
220+ ## 效果展示
221+
222+ AI Coding 效果。
223+
224+ ## 常见问题
225+
226+ 无。
227+
211228## 🔗 相关资源
212229
213230- [ AgentKit 官方文档] ( https://www.volcengine.com/docs/86681/1844878?lang=zh )
214231- [ TOS 对象存储] ( https://www.volcengine.com/product/TOS )
215232- [ AgentKit 应用广场] ( https://console.volcengine.com/agentkit/region:agentkit+cn-beijing/application )
216233- [ AgentKit 控制台] ( https://console.volcengine.com/agentkit/region:agentkit+cn-beijing/overview?projectName=default )
234+
235+ ## 代码许可
236+
237+ 本工程遵循 Apache 2.0 License
0 commit comments