Google เปิดตัว Extension System พัฒนา Agent ได้ทุกเฟรมเวิร์ก
21 ต.ค. 2026
คำแนะนำการใช้งาน Agents CLI Extension System ใหม่แบบครบวงจร พร้อมตัวอย่างการใช้งานร่วมกับ LangChain และนโยบายการ deploy แบบกำหนดเอง
เมื่อเราเปิดตัว Agents CLI ที่งาน Google Cloud Next '26 เราสร้างมันขึ้นมาบนแนวคิดหลักหนึ่งข้อคือ การเปลี่ยนจากไอเดียไปสู่ production agent บน Google Cloud ควรใช้คำสั่งที่รวมศูนย์เพียงหนึ่งเดียว สำหรับทีมที่สร้างด้วย Agent Development Kit (ADK) แนวทางนี้ช่วยให้คุณรัน agents-cli create เขียนตรรกะ และส่งไปยัง Cloud Run พร้อมเชื่อมต่อระบบการสังเกตการณ์ (observability) และการประเมินผล (evals) ได้ภายในเวลาประมาณสามสิบนาที
ปัจจุบันภูมิทัศน์ของ agent framework หลากหลายขึ้นมาก นอกจาก ADK แล้ว นักพัฒนายังเลือกใช้ LangChain, LangGraph, Deep Agents หรือเฟรมเวิร์กภายในบริษัทเอง นอกจากนี้ ผู้ดูแลระบบระดับองค์กรยังต้องการบังคับใช้นโยบายการกำกับดูแล เช่น compliance scan หรือ SSO ตลอดช่วง ADLC ของทุกทีมพัฒนา เพื่อตอบโจทย์นี้ Agents CLI ตั้งแต่เวอร์ชัน 1.5.0 เป็นต้นไป จึงมาพร้อมกับ Extension System ซึ่งช่วยให้ทีมได้รับประโยชน์จากการ deploy ประเมินผล และสังเกตการณ์ โดยไม่ต้องถูกบังคับให้ใช้ ADK เพียงอย่างเดียว
เครื่องมือพัฒนา agent ส่วนใหญ่มักเจาะจงกับเฟรมเวิร์กใดเฟรมเวิร์กหนึ่ง ซึ่งหากไม่ตรงตามที่เครื่องมือคาดการณ์ไว้ นักพัฒนาอาจต้องเลือกระหว่างการ fork CLI มาดูแลเอง, สร้างสคริปต์ครอบที่ซับซ้อน หรือสร้างทุกอย่างใหม่ทั้งหมด ซึ่งล้วนเป็นทางเลือกที่ใช้ทรัพยากรสูง
Extension System จัดการปัญหานี้ด้วยกลไกเดียว โดย Agents CLI extension คือไดเรกทอรีใน Git repository ที่มีไฟล์ agents-cli-extension.yaml เพื่อประกาศการ override คำสั่ง built-in หรือเพิ่มคำสั่งใหม่ ตาม เอกสารอย่างเป็นทางการ ระบุว่านี่คือวิธีปรับแต่งเครื่องมือให้เข้ากับเวิร์กโฟลว์เฉพาะของคุณโดยไม่ต้อง fork เครื่องมือ
Extension มีสองรูปแบบหลักคือ การ override คำสั่งเดิม (เช่น playground หรือ deploy) และการเพิ่มคำสั่งใหม่ในรูปแบบ agents-cli <your-command> โดยเผยแพร่ผ่าน Git repository โดยตรง ทำให้จัดการเรื่อง versioning และการแจกจ่ายได้ง่ายผ่านคำสั่ง:
# ชื่อย่ออย่างเป็นทางการ
agents-cli extension add <name>
# GitHub หรือ Git server ส่วนตัว
agents-cli extension add acme/platform-extensions
agents-cli extension add acme/platform-extensions#soc2-deploy
# พาธภายในเครื่องสำหรับนักพัฒนา
agents-cli extension add local@../my-extensionExtension ติดตั้งได้สองระดับคือ project scope ที่จะเก็บ lockfile ไว้ในโปรเจกต์ และ user scope (--global) สำหรับใช้กับทุกโปรเจกต์ในเครื่อง ระบบนี้ใช้หลักการเดียวกับ uv หรือ npm ที่จะแปลงการอ้างอิงเป็น commit SHA ที่แน่นอนเพื่อความแม่นยำในการใช้งานทุกครั้ง
ในเวอร์ชัน 1.8.0 ระบบนี้ยังเป็นแบบทดลอง (experimental) ซึ่งอาจมีการเปลี่ยนแปลงรูปแบบ manifest ได้ ทีมที่ใช้งานควรทำการ pin เวอร์ชันไว้เพื่อความปลอดภัย
สำหรับตัวอย่างการใช้ LangChain extension จะเป็นการ scaffold โปรเจกต์ที่ทำงานร่วมกับ Agents CLI ได้โดยไม่มี dependency ของ google-adk และสามารถ deploy ไปยัง Cloud Run ได้ทันที รองรับทั้ง LangChain, LangGraph และ Deep Agents
การเตรียมความพร้อมเบื้องต้นประกอบด้วย:
Python 3.11 หรือใหม่กว่า
uv package manager
Google Cloud SDK (gcloud)รวมถึงการเปิดใช้งาน API ที่จำเป็น:
gcloud auth application-default login
gcloud config set project YOUR_PROJECT_ID
gcloud services enable aiplatform.googleapis.com run.googleapis.com artifactregistry.googleapis.comคุณสามารถสร้างโปรเจกต์และติดตั้ง extension ได้ในขั้นตอนเดียว:
agents-cli create my-agent \
--agent google/agents-cli/extensions/langchain/[email protected] \
-d cloud_run
cd my-agent && agents-cli installโปรเจกต์ที่ถูกสร้างขึ้นจะมีโครงสร้างคล้าย ADK แต่จะมี agents-cli-extension.yaml สำหรับจัดการ LangChain overrides และ langgraph.json สำหรับ local playground โดยนิยาม agent หลักจะอยู่ใน app/agent.py ดังนี้:
"""LangChain agent: a Gemini ReAct agent with a sample tool."""
import os
from dotenv import load_dotenv
from langchain.agents import create_agent
from langchain_google_genai import ChatGoogleGenerativeAI
from langgraph.graph.state import CompiledStateGraph
load_dotenv()
if not (os.environ.get("GOOGLE_API_KEY") or os.environ.get("GEMINI_API_KEY")):
import google.auth
_, project_id = google.auth.default()
os.environ["GOOGLE_CLOUD_PROJECT"] = project_id
os.environ["GOOGLE_CLOUD_LOCATION"] = "global"
os.environ["GOOGLE_GENAI_USE_VERTEXAI"] = "True"
LLM = "gemini-3.8-flash"
llm = ChatGoogleGenerativeAI(model=LLM, temperature=0)
def get_weather(query: str) -> str:
"""Simulates a web search. Use it get information on weather."""
if "sf" in query.lower() or "san francisco" in query.lower():
return "It's 60 degrees and foggy."
return "It's 90 degrees and sunny."
root_agent: CompiledStateGraph = create_agent(
model=llm, tools=[get_weather], system_prompt="You are a helpful assistant"
)เมื่อทดสอบรันด้วย agents-cli run "what's the weather in San Francisco?" ระบบจะแจ้งเตือนว่ามีการใช้ extension override คำสั่ง และประมวลผลผ่าน Gemini-3.8-flash บน Vertex AI ทันที หากต้องการตรวจสอบรายละเอียดการ override สามารถใช้คำสั่ง agents-cli info เพื่อดูรายการทั้งหมดได้
ข้อดีคือคำสั่งอย่าง deploy ยังคงใช้พาธโค้ดเดิมผ่านสัญญาของ FastAPI และ Dockerfile ทำให้การ deploy ไปยัง Cloud Run หรือ GKE ไม่มีความซับซ้อนเพิ่มเติม แม้จะเป็นโปรเจกต์ที่ไม่ได้ใช้ ADK ก็ตาม
สำหรับองค์กรที่ต้องการความปลอดภัยสูงขึ้น สามารถสร้าง extension เช่น sbom-deploy เพื่อบังคับสแกนช่องโหว่ก่อนการ deploy ได้ โดยการเขียนสคริปต์ wrapper สั้นๆ:
#!/usr/bin/env bash
# scripts/sbom_then_deploy.sh
set -euo pipefail
cd "$(dirname "$0")/.."
echo "[sbom-deploy] generating SBOM..."
syft dir:. -o cyclonedx-json > /tmp/sbom.cdx.json
echo "[sbom-deploy] scanning for criticals..."
grype sbom:/tmp/sbom.cdx.json --fail-on critical
# เรียกใช้ deploy built-in ต่อไป
echo "[sbom-deploy] SBOM clean; running native deploy..."
exec agents-cli deploy "$@"การมี Extension System ทำให้ Agents CLI กลายเป็นเครื่องมือที่ยืดหยุ่น เปิดโอกาสให้นักพัฒนาเลือกเฟรมเวิร์กที่เหมาะสมที่สุดสำหรับงานของตน พร้อมยังคงมาตรฐานการจัดการระดับองค์กรไว้ได้อย่างเหนียวแน่น

ความคิดเห็น (0)
เข้าสู่ระบบเพื่อร่วมแสดงความเห็น
สมัครสมาชิกมาเป็นคนแรกที่แสดงความเห็นกันเลยโบร
