from a LLM api key to a agent notebook
从 LLM API 调用开始,到实现一个最简单的 Agent。
一个个人学习理解各个框架设计原理的笔记本
01_llm_api/1llmapi.py:调用 LLM API02_chat_memory/2chatmemory.py:加入对话历史03_tool_calling/3tool.py:加入单个计算工具04_tool_loop/4loop.py:ReAct 风格的工具调用循环05_multi_tool/5multitool.py:多个工具和工具注册表06_planner/6planner.py:分离计划与执行07_multi_agent/7multiagent.py:多角色协作
01_llm_api/ LLM API 调用
02_chat_memory/ 多轮对话记忆
03_tool_calling/ 单工具调用
04_tool_loop/ 工具调用循环
05_multi_tool/ 多工具注册与调度
06_planner/ 规划与执行
07_multi_agent/ 多 Agent 协作
从项目根目录运行脚本,例如:
python 06_planner/6planner2.py一些不足之处:
-
简化逻辑了,默认取首个tool
-
假设绝对命中tool
-
没有对tool做任何校验
推荐提示词:
正例:
使用tool进行下面多次的数学计算:2+2等于?然后结果+3等于?然后结果+4等于?然后结果乘以2等于?
反例:
使用tool进行下面多次的数学计算:2+2等于?然后结果+3等于?然后结果+4等于?然后结果乘以2等于?然后结果减去1等于,然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?
一些不足之处:
-
只是实现了tool的loop
-
响应返回多个 tool_calls没有处理机制,仅取了第一个,可能会400
-
没有tool的注册表
推荐提示词:
my name is Rudy! 使用tool完成下面多个的任务:刚才我的上句话全部转大写、计数一下它的总字数、它的总字数乘以2等于?
my name is Rudy! 使用tool完成下面多个的任务:刚才我的上句话全部转大写、计数一下它的总字数、它的总字数乘以2等于?再乘以2等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?
推荐提示词:
/plan 请严格按照计划并使用工具完成:把文本 "planning makes agents easier to inspect" 转成大写;统计转换后文本中以空格分隔的单词数量;将这个数量乘以3;再把上一步结果加2;最后汇总每一步结果。所有转换、计数和计算都必须使用工具,不要自行完成。
/team 请面向刚开始学习 LLM Agent 的 Python 初学者,写一篇 200 到 400 字的中文教程,解释 Tool Calling、Tool Loop、Planner 和 Multi-Agent 的递进关系。必须包含四个小标题、一个完整流程示例、一个对比表格、一个常见误区,并在结尾给出一道自测题。语言要简单,不要虚构不存在的 API 能力。