← Telegram Agent
GitHub
Telegram AI Agent 入門 · 5 分鐘看懂

從一個 bot token 開始

做出會回覆、會呼叫工具、可部署的 AI Agent。先手刻 OpenAI tool-calling 迴圈看懂 agent 怎麼讀 tool_calls、跑工具、把結果接回對話,再用框架拿生產力。

這頁讓你 5 分鐘知道這是什麼、能做出什麼、真的會動,而且不靠任何 token 就能跑起來看到真實輸出。要逐行、踩雷、部署、FAQ 的完整版,在實戰手冊裡。

What

這是什麼、解決什麼

想把 Telegram 變成 AI 工作入口,常卡在「怎麼把一個 bot 變成會呼叫工具的 agent?tool-calling 迴圈到底在做什麼?要不要先學一套框架才動得了?」

這個範本是一支可跑的 Telegram AI Agent:FastAPI 收 webhook、一個會讀 tool_calls、跑工具、把結果接回對話的 agent 迴圈。教材分兩軌 —— 前半段從零手刻 OpenAI 相容的 tool-loop,後半段用 PydanticAI 重寫同一個 agent 當對照組,讓你清楚知道框架替你做了什麼、又沒替你做什麼(工具邏輯永遠是你自己的)。適合想把 Telegram 變成 AI 工作入口的台灣工程師、接案者與小團隊。

Outcomes

你會做出什麼

Quick Win

5 分鐘跑起來

需要 uv、Python 3.10+、Git。第一次驗證不需要任何 token.env 預設 AI_PROVIDER=echo)。

1. 取得並安裝
git clone https://github.com/yazelin/telegram-ai-agent-starter.git
cd telegram-ai-agent-starter
uv sync
cp .env.example .env
2. 用 echo provider 跑一次對話邏輯(最快的驗證)
PYTHONPATH=. AI_PROVIDER=echo uv run python /tmp/try_echo.py

/tmp/try_echo.py 在 repo 外呼叫核心函式 ask_airun_tool(完整內容見 docs/01)。

3. 真實輸出
ask_ai echo: 'Echo: hello from a learner'
run_tool time: '2026-06-02T03:30:19+08:00'
run_tool help: 'Try /ask your question or /tool time'
成功長這樣:echo provider 把你的句子加上 Echo: 前綴回來,time 工具回一個 ISO 8601 時間字串。到這裡程式邏輯已完整跑通,完全不需要任何外部帳號。
Part 2 · 對照組

手刻 tool-loop 看懂後,改用 PydanticAI

前半段你手刻 OpenAI 相容的 tool-calling 迴圈(app/agent.pyrun_http_agent):自己組 messages、for _ in range(MAX_TOOL_ITERS) 迴圈、手讀 tool_calls、手 dispatch。後半段用 PydanticAI 重寫同一個 agent,體會「同樣的事,少寫一大截樣板」。

面向手刻 app/agent.pyPydanticAI
tool-loop手寫迴圈 + 手接 role:tool框架擁有迴圈
工具註冊TOOL_SCHEMAS(手寫 JSON)+ run_tool 兩處@agent.tool_plain 一個 decorator,schema 由型別自動生
工具邏輯 run_tool自己寫共用:框架工具是薄 wrapper 呼叫 run_tool

核心一句:框架移除的是「手寫 schema + 手刻迴圈」,不是你的工具邏輯。PydanticAI 的工具是薄 wrapper 呼叫既有 run_tool,所以兩版行為一致,而樣板少一大截。完整對照在 docs/08

All Chapters

完整章節(想一章一章讀完整版)

這頁是快速了解;下面每一章都是完整內容,在 GitHub 上點開就能讀。

Next

要完整逐步?

這頁是快速了解。逐行讀懂、架構拆解、踩雷清單、部署、改成你的場景都在實戰手冊裡。

取得實戰手冊(免費)

留個 Email,我把完整手冊寄給你。

下載手冊 →

看原始碼 / 自己改

程式碼公開,直接拿去改、拿去用。

GitHub repo →