การค้นพบเอเจนต์สาธารณะ
ใช้ตัวอย่างเหล่านี้เพื่อกำหนดรูปแบบ JSON ที่ไคลเอนต์ A2A อื่นดึงมาก่อนที่จะตัดสินใจว่าเอเจนต์ของคุณสามารถทำงานให้เสร็จได้หรือไม่
เทมเพลต JSON พร้อมคัดลอก 6 รายการ · A2A v1.0
เรียกดูเทมเพลต A2A v1.0 ที่ใช้งานได้จริง ทำความเข้าใจการตัดสินใจด้านการออกแบบ จากนั้นปรับใช้ตัวอย่างใดก็ได้สำหรับเอเจนต์ของคุณเอง
ใช้ตัวอย่างเหล่านี้เพื่อกำหนดรูปแบบ JSON ที่ไคลเอนต์ A2A อื่นดึงมาก่อนที่จะตัดสินใจว่าเอเจนต์ของคุณสามารถทำงานให้เสร็จได้หรือไม่
ปรับผู้ให้บริการ สกิล แท็ก ความสามารถ และเมตาดาต้าความปลอดภัย เพื่อให้ผู้ตรวจสอบเข้าใจว่าเอเจนต์ทำอะไรและใครเป็นผู้ดำเนินการ
สร้างมาตรฐานคำอธิบายเอนด์พอยต์ การยืนยันตัวตน และสกิลในเอเจนต์ภายในก่อนที่ทีมจะรวมเข้ากับเวิร์กโฟลว์
เทมเพลต JSON
จัดการคำถามเกี่ยวกับผลิตภัณฑ์ การค้นหาคำสั่งซื้อ การคืนสินค้า และการส่งต่อการยกระดับ
เหตุผลที่ออกแบบมาเช่นนี้
{
"name": "เอเจนต์สนับสนุนลูกค้า",
"description": "ตอบคำถามฝ่ายสนับสนุนลูกค้า ดึงข้อมูลบริบทของคำสั่งซื้อ และยกระดับปัญหาที่ยังไม่ได้รับการแก้ไขไปยังทีมงานที่เป็นมนุษย์",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/customer-support",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "ตัวอย่างอิงค์",
"url": "https://example.com"
},
"version": "1.0.0",
"capabilities": {
"streaming": true,
"pushNotifications": true,
"extendedAgentCard": false
},
"defaultInputModes": [
"text/plain",
"application/json"
],
"defaultOutputModes": [
"text/plain",
"application/json"
],
"skills": [
{
"id": "resolve-customer-support-request",
"name": "แก้ไขคำขอการสนับสนุนลูกค้า",
"description": "จำแนกคำขอการสนับสนุนลูกค้า รวบรวมบริบทที่จำเป็น เสนอวิธีแก้ปัญหา และเพิ่มระดับเมื่อความเชื่อมั่นต่ำ",
"tags": [
"support",
"orders",
"returns"
],
"examples": [
"ช่วยฉันคืนคำสั่งซื้อของฉันด้วย"
]
}
],
"securitySchemes": {
"oauth2": {
"oauth2SecurityScheme": {
"flows": {
"clientCredentials": {
"tokenUrl": "https://api.example.com/a2a/customer-support/oauth/token",
"scopes": {
"agent.invoke": "Invoke agent skills"
}
}
}
}
}
},
"security": [
{
"oauth2": [
"agent.invoke"
]
}
]
}ค้นหาช่วงเวลานัดหมายที่ว่างและเตรียมการยืนยันการจอง
เหตุผลที่ออกแบบมาเช่นนี้
{
"name": "เอเจนต์การจอง",
"description": "ค้นหาห้องว่าง เสนอตัวเลือกการจอง และเตรียมการจองการนัดหมายเพื่อขออนุมัติ",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/booking",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "ตัวอย่างอิงค์",
"url": "https://example.com"
},
"version": "1.0.0",
"capabilities": {
"streaming": false,
"pushNotifications": true,
"extendedAgentCard": false
},
"defaultInputModes": [
"text/plain",
"application/json"
],
"defaultOutputModes": [
"application/json"
],
"skills": [
{
"id": "find-and-prepare-booking",
"name": "ค้นหาและเตรียมการจอง",
"description": "ตรวจสอบความพร้อมของทรัพยากร เปรียบเทียบกรอบเวลาการจอง และส่งคืนข้อเสนอการจองที่มีโครงสร้าง",
"tags": [
"booking",
"calendar",
"availability"
],
"examples": [
"ค้นหาการนัดหมาย 30 นาทีบ่ายวันพรุ่งนี้"
]
}
],
"securitySchemes": {
"apiKey": {
"apiKeySecurityScheme": {
"location": "header",
"name": "X-API-Key"
}
}
},
"security": [
{
"apiKey": []
}
]
}เปรียบเทียบสินค้า ความพร้อมจำหน่าย ราคา และข้อจำกัดในการซื้อ
เหตุผลที่ออกแบบมาเช่นนี้
{
"name": "เอเจนต์การช้อปปิ้ง",
"description": "เปรียบเทียบผลิตภัณฑ์กับข้อจำกัดของผู้ใช้และตัวเลือกการซื้อที่ได้รับการจัดอันดับการคืนสินค้ากับข้อแลกเปลี่ยน",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/shopping",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "ตัวอย่างอิงค์",
"url": "https://example.com"
},
"version": "1.0.0",
"capabilities": {
"streaming": true,
"pushNotifications": false,
"extendedAgentCard": false
},
"defaultInputModes": [
"text/plain",
"application/json"
],
"defaultOutputModes": [
"application/json"
],
"skills": [
{
"id": "compare-shopping-options",
"name": "เปรียบเทียบตัวเลือกการช็อปปิ้ง",
"description": "ประเมินผลิตภัณฑ์ผู้สมัคร กรองตามข้อจำกัด และส่งคืนคำแนะนำที่ได้รับการจัดอันดับพร้อมเหตุผล",
"tags": [
"shopping",
"commerce",
"recommendations"
],
"examples": [
"เปรียบเทียบแล็ปท็อปน้ำหนักเบาราคาต่ำกว่า 1,200 ดอลลาร์"
]
}
],
"securitySchemes": {
"oauth2": {
"oauth2SecurityScheme": {
"flows": {
"clientCredentials": {
"tokenUrl": "https://api.example.com/a2a/shopping/oauth/token",
"scopes": {
"agent.invoke": "Invoke agent skills"
}
}
}
}
}
},
"security": [
{
"oauth2": [
"agent.invoke"
]
}
]
}ตรวจสอบงานโค้ด เสนอแพตช์ และอธิบายการตัดสินใจในการนำไปใช้
เหตุผลที่ออกแบบมาเช่นนี้
{
"name": "เอเจนต์การเขียนโค้ด",
"description": "ช่วยในงานวิศวกรรมซอฟต์แวร์โดยการวิเคราะห์โค้ด เสนอการเปลี่ยนแปลง และส่งคืนบันทึกการใช้งาน",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/coding",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "ตัวอย่างอิงค์",
"url": "https://example.com"
},
"version": "1.0.0",
"capabilities": {
"streaming": true,
"pushNotifications": true,
"extendedAgentCard": true
},
"defaultInputModes": [
"text/plain",
"application/json"
],
"defaultOutputModes": [
"text/plain",
"application/json"
],
"skills": [
{
"id": "implement-code-change",
"name": "ใช้การเปลี่ยนแปลงรหัส",
"description": "อ่านคำขอเข้ารหัส ตรวจสอบไฟล์ที่เกี่ยวข้อง ส่งคืนข้อเสนอแพตช์ และสรุปขั้นตอนการตรวจสอบ",
"tags": [
"coding",
"review",
"patches"
],
"examples": [
"เพิ่มการแบ่งหน้าให้กับผู้ใช้ API"
]
}
],
"securitySchemes": {
"apiKey": {
"apiKeySecurityScheme": {
"location": "header",
"name": "X-API-Key"
}
}
},
"security": [
{
"apiKey": []
}
]
}รวบรวมแหล่งข้อมูล ดึงหลักฐาน และส่งคืนบันทึกการวิจัยแบบมีโครงสร้าง
เหตุผลที่ออกแบบมาเช่นนี้
{
"name": "เอเจนต์การวิจัย",
"description": "รวบรวมแหล่งข้อมูล ดึงหลักฐาน และสร้างบันทึกการวิจัยที่มีโครงสร้างพร้อมการอ้างอิง",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/research",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "ตัวอย่างอิงค์",
"url": "https://example.com"
},
"version": "1.0.0",
"capabilities": {
"streaming": true,
"pushNotifications": false,
"extendedAgentCard": false
},
"defaultInputModes": [
"text/plain"
],
"defaultOutputModes": [
"text/plain",
"application/json"
],
"skills": [
{
"id": "prepare-research-brief",
"name": "เตรียมบทสรุปการวิจัย",
"description": "ค้นหาแหล่งที่มาที่ได้รับอนุมัติ แยกคำกล่าวอ้างและหลักฐาน และส่งกลับบทสรุปการวิจัยที่กระชับ",
"tags": [
"research",
"evidence",
"citations"
],
"examples": [
"เตรียมบรรยายสรุปอ้างอิงเกี่ยวกับนโยบายพลังงานทดแทน"
]
}
]
}ประสานงานการอนุมัติ การตรวจสอบสถานะ และการอัปเดตเวิร์กโฟลว์ฝ่ายสนับสนุน
เหตุผลที่ออกแบบมาเช่นนี้
{
"name": "เอเจนต์เวิร์กโฟลว์ภายใน",
"description": "ประสานงานการอนุมัติภายใน ตรวจสอบสถานะของระบบ และเตรียมการอัพเดตขั้นตอนการทำงานสำหรับทีมปฏิบัติการ",
"supportedInterfaces": [
{
"url": "https://api.example.com/a2a/workflow",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "ตัวอย่างอิงค์",
"url": "https://example.com"
},
"version": "1.0.0",
"capabilities": {
"streaming": false,
"pushNotifications": true,
"extendedAgentCard": true
},
"defaultInputModes": [
"application/json"
],
"defaultOutputModes": [
"application/json"
],
"skills": [
{
"id": "coordinate-internal-workflow",
"name": "ประสานงานขั้นตอนการทำงานภายใน",
"description": "รับจุดประสงค์ของเวิร์กโฟลว์ ตรวจสอบข้อกำหนดของนโยบาย รวบรวมการอนุมัติ และรายงานสถานะขั้นสุดท้าย",
"tags": [
"workflow",
"operations",
"approval"
],
"examples": [
"ขออนุมัติเพื่อปรับใช้การปรับปรุงบัญชีเงินเดือน"
]
}
],
"securitySchemes": {
"oauth2": {
"oauth2SecurityScheme": {
"flows": {
"clientCredentials": {
"tokenUrl": "https://api.example.com/a2a/workflow/oauth/token",
"scopes": {
"agent.invoke": "Invoke agent skills"
}
}
}
}
}
},
"security": [
{
"oauth2": [
"agent.invoke"
]
}
]
}ปรับใช้อย่างมั่นใจ
ตัวอย่าง Agent Card แต่ละตัวถูกออกแบบมาให้สมบูรณ์เพียงพอสำหรับการคัดลอกโดยเจตนา แต่ไม่ควรเผยแพร่ Agent Card โดยไม่มีการเปลี่ยนแปลง ให้ถือว่ามันเป็นแผนที่ฟิลด์สำหรับเซิร์ฟเวอร์ A2A ของคุณเอง: แทนที่ตัวตน เอนด์พอยต์ ผู้ให้บริการ การยืนยันตัวตน ความสามารถ โหมด และรายละเอียดสกิลด้วยค่าจริงในการใช้งานจริง
Agent Card ที่แข็งแกร่งที่สุดอธิบายขอบเขตงานของเอเจนต์ทั้งในภาษาที่เข้าใจง่ายและเมตาดาต้าที่เครื่องอ่านได้ ไคลเอนต์ควรสามารถบอกได้ว่าเอเจนต์ทำอะไรได้บ้าง ทำอะไรไม่ได้ ต้องเรียก URL ใด และจำเป็นต้องมีข้อมูลรับรองหรือไม่
แทนที่ URL example.com ทุกรายการด้วยเอนด์พอยต์ A2A ที่ปรับใช้แล้วและเว็บไซต์ผู้ให้บริการของคุณ
เขียนชื่อสกิล คำอธิบาย แท็ก (จำเป็นใน v1.0) และตัวอย่างใหม่สำหรับขอบเขตงานจริง
ตั้งค่า provider.organization และเพิ่ม version ระดับบนสุดทุกครั้งที่เนื้อหา Agent Card เปลี่ยนแปลง
ลบฟิลด์การยืนยันตัวตนเฉพาะเมื่อเอนด์พอยต์เปิดเผยต่อสาธารณะโดยเจตนาเท่านั้น
รักษา defaultInputModes และ defaultOutputModes ให้สอดคล้องกับสิ่งที่เซิร์ฟเวอร์ของคุณยอมรับและส่งคืนจริง
ตรวจสอบ JSON สุดท้ายและเผยแพร่ที่ /.well-known/agent-card.json บนโดเมนบริการของคุณ
พร้อมที่จะสร้าง
เปิดรูปแบบใดก็ได้ในเครื่องมือสร้าง Agent Card ตรวจสอบ JSON และตรวจสอบก่อนที่จะเผยแพร่