Skip to content

Repository files navigation

api2agent

from a LLM api key to a agent notebook

从 LLM API 调用开始,到实现一个最简单的 Agent。

一个个人学习理解各个框架设计原理的笔记本

学习阶段

  1. 01_llm_api/1llmapi.py:调用 LLM API
  2. 02_chat_memory/2chatmemory.py:加入对话历史
  3. 03_tool_calling/3tool.py:加入单个计算工具
  4. 04_tool_loop/4loop.py:ReAct 风格的工具调用循环
  5. 05_multi_tool/5multitool.py:多个工具和工具注册表
  6. 06_planner/6planner.py:分离计划与执行
  7. 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

注意

3

一些不足之处:

  1. 简化逻辑了,默认取首个tool

  2. 假设绝对命中tool

  3. 没有对tool做任何校验

4

推荐提示词:

正例:

使用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等于?

一些不足之处:

  1. 只是实现了tool的loop

  2. 响应返回多个 tool_calls没有处理机制,仅取了第一个,可能会400

  3. 没有tool的注册表

5

推荐提示词:

my name is Rudy! 使用tool完成下面多个的任务:刚才我的上句话全部转大写、计数一下它的总字数、它的总字数乘以2等于?



my name is Rudy! 使用tool完成下面多个的任务:刚才我的上句话全部转大写、计数一下它的总字数、它的总字数乘以2等于?再乘以2等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?然后结果减去1等于?





6

推荐提示词:




/plan 请严格按照计划并使用工具完成:把文本 "planning makes agents easier to inspect" 转成大写;统计转换后文本中以空格分隔的单词数量;将这个数量乘以3;再把上一步结果加2;最后汇总每一步结果。所有转换、计数和计算都必须使用工具,不要自行完成。


7

/team 请面向刚开始学习 LLM Agent 的 Python 初学者,写一篇 200 到 400 字的中文教程,解释 Tool Calling、Tool Loop、Planner 和 Multi-Agent 的递进关系。必须包含四个小标题、一个完整流程示例、一个对比表格、一个常见误区,并在结尾给出一道自测题。语言要简单,不要虚构不存在的 API 能力。

About

从api到落地一个简易agent——只需7步!

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages