Agent开发(一)-基本对话"

admin 2026-10-18 04:09:32 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

Agent开发(一)-基本对话

原创

BlackFace
BlackFace

GG学安全

2026年8月17日 00:55
重庆

在小说阅读器读本章

去阅读

从今天开始,我会陆续讲解Agent开发,让大家了解如何从零开发一个agent,了解agent如何实现,他的机制,目前已经写了以下文章:

Agent开发(一)-基本对话Agent开发(二)-持续性对话Agent开发(三)-给agent加上函数Agent开发(四)-给agent加上双手-function call机制Agent开发(五)-给agent加上技能-skill机制Agent开发(六)-给agent接上外部工具-MCP协议Agent开发(七)-前六章口水话总结

后续会继续发下去:

Agent开发(八)-agent teams的实现Agent开发(九)-会话保存&续聊Agent开发(十)-claudecode的CLAUDE.md实现Agent开发(十一)-上下文管理Agent开发(十二)-前十一章口水话总结Agent开发(十三)-插件加载机制-先让插件跑起来Agent开发(十四)-插件加载机制-服务容器Agent开发(十五)-插件加载机制-依赖排序Agent开发(十六)-插件加载机制-生命周期Agent开发(十六)-插件加载机制-热重载与拼接Agent开发(十七)-插件加载机制-写一个Web插件Agent开发(十八)-总结

我们要做的第一件事:让程序能跟 AI 说话。AI 不生活在你的电脑里,它在很远的地方——你的程序发一个\"请求\"过去,AI 回一个\"响应\",你拆开读。这个\"发请求拿响应\"的接口,就叫 \\API\\。

第一步:配置 AI(config.yaml)

先写一个配置文件,告诉程序\"找谁说话、用什么身份、用哪个模型\":

# config.yaml 文件api_key: sk-你的keybase_url: https://api.deepseek.commodel: deepseek-chat
配置 意思
api\_key 你的\"身份证\",AI 认这个
base\_url AI 的\"地址\"
model 用哪个模型(deepseek-chat 是通用对话模型)

用 yaml 库读取配置文件:

import yamlconfig = yaml.safe_load(open(\"config.yaml\", encoding=\"utf-8\"))# config 变成一个字典:# config[\"base_url\"] = \"https://api.deepseek.com\"# config[\"api_key\"]  = \"sk-你的key\"# config[\"model\"]    = \"deepseek-chat\"

第二步:发请求,问 AI 一句话

DeepSeek 的对话接口长这样(openai 兼容格式):

POST /chat/completionsHost: base_urlAuthorization: Bearer 你的api keyContent-Type: application/json
{    \"model\": \"deepseek-chat\",    \"messages\": [        {\"role\": \"user\", \"content\": \"你好\"}    ]}

用 requests 库发这个请求。requests.post 的三个参数,正好对应\"寄信的三部分\":

import requests
response = requests.post(    config[\"base_url\"] + \"/chat/completions\",   # ① 地址(寄给谁)    headers={                                    # ② 身份(你是谁)        \"Authorization\": f\"Bearer {config['api_key']}\",        \"Content-Type\": \"application/json\"    },    json={                                       # ③ 信的内容(说什么)        \"model\": config[\"model\"],        \"messages\": [{\"role\": \"user\", \"content\": \"你好\"}]    })

json= 是 requests 的便捷写法:它自动把 Python 字典变成 JSON 字符串发出去,不用你手动转。

第三步:拆开 AI 的回信

AI 回的信是 JSON 格式,response.json() 把它解析成 Python 字典。要拿到 AI 说的话,按这个路径一层层取:

response.json()   └── [\"choices\"]              # 候选回答列表(一般只有一个)         └── [0]                # 取第一个回答               └── [\"message\"]  # 回答这条消息                     └── [\"content\"]   # 回答的文本内容
reply = response.json()[\"choices\"][0][\"message\"][\"content\"]print(reply)

完整代码(chat.py)

# chat.pyimport requestsimport yaml
config = yaml.safe_load(open(\"config.yaml\", encoding=\"utf-8\"))
while True:    user_input = input(\">>> \").strip()          # 读你输入的话    if user_input.lower() in [\"quit\", \"exit\"]:  # 输入 quit / exit 就退出        break
    try:        response = requests.post(            config[\"base_url\"] + \"/chat/completions\",            headers={                \"Authorization\": f\"Bearer {config['api_key']}\",                \"Content-Type\": \"application/json\"            },            json={                \"model\": config[\"model\"],                \"messages\": [{\"role\": \"user\", \"content\": user_input}]            }        )        reply = response.json()[\"choices\"][0][\"message\"][\"content\"]        print(reply)    except Exception as e:        print(f\"Error: {e}\")

运行 python chat.py,输入\"你好\"——\\你的第一个能对话的程序完成了。


Agent开发(一)-基本对话" 网络安全文章

Agent开发(一)-基本对话"

本文是Agent开发系列的首篇,重点讲解如何利用Python实现与AI大模型的基本对话功能。文章通过配置yaml文件管理API密钥与模型参数,借助requests库向DeepSeek的OpenAI兼容接口发送POST请求,并解析返回的JSON数据提取回复内容。作者提供了包含异常处理的完整命令行对话代码,适合零基础读者快速上手。此外,文章还预告了后续关于持续对话、FunctionCall、MCP协议、多智能体团队及插件加载机制等进阶主题,为构建复杂Agent系统提供了清晰的学习路线图。
Kubernetes综合渗透测试工具" 网络安全文章

Kubernetes综合渗透测试工具"

本文介绍了一款名为K8sPenTool的Kubernetes综合渗透测试图形化工具。该工具基于Java和JavaFX构建,覆盖信息搜集、初始访问、命令执行、权限维持与提升、横向移动等七大核心模块,旨在整合K8s攻击链以辅助安全人员快速评估集群态势。建议安全从业者可利用JDK17环境运行该工具开展集群安全评估。
WallBreaker-开源LLM红队测试CLI工具" 网络安全文章

WallBreaker-开源LLM红队测试CLI工具"

WallBreaker是一款专为LLM红队测试设计的开源CLI工具,由JailbrokenAI团队开发。其核心能力包括自动攻击循环、丰富的攻击手法库(如CipherChat、SkeletonKey等)、Parseltongue变形引擎、人物角色生成系统及多模态图像攻击通道。工具内置LLM裁判评估,v2版本新增Swarm协作模式和PromptVault。它仅限授权安全测试使用,支持多种API对接,可操作性强,是AI安全研究者的实用工具。
评论:0   参与:  0