ChatGPT Apps SDK-гаар бүтээгдэхүүн нэвтрүүлэхдээ бидний сурсан зүйлс

ChatGPT Apps SDK-гаар бүтээгдэхүүн нэвтрүүлсэн бодит сургамжууд нь архитектур нь хэзээ тохирох, хаана нэмэлт хяналт хэрэгтэйг харуулна.

Товч хураангуй

  • Хэрэв танд ChatGPT доторх ажлын урсгал ойрын хугацаанд хэрэгтэй эсвэл тусгай агентын стекэд хөрөнгө оруулахаасаа өмнө хэрэгслүүдээ тэнд туршихыг хүсвэл Apps SDK нь бодитой сонголт юм. Харин агентын үйлдэл бүрийг бүрэн хянах шаардлагатай бол ихэнхдээ тохирохгүй.

  • ChatGPT үндсэн орчин нь байх бөгөөд бүрэн хэмжээний чат бүтээгдэхүүн бүтээлгүйгээр хэрэгслүүд болон цөөн хэдэн UI элемент ашиглахыг хүсвэл Apps SDK-г сонгоорой. Урсгал, санах ой, өгөгдөл, бичих үйлдлүүдийг нарийн хянах шаардлагатай бол өөрийн агентын стекийг сонгоорой.

  • Apps SDK нь чатыг цөөн хэдэн богино UI алхамтай хослуулсан бүтээгдэхүүнд тохирно. Та хурдан нэвтрүүлнэ, гэхдээ хяналтынхаа заримыг алдана.

  • Бидний хувьд хэрэгслүүд, виджетийн үйлдэл болон дараагийн алхмуудыг тодорхой болгох нь үр дүнтэй байсан. Урсгалыг тодорхойлохдоо Том хэлний загвар (LLM)-т бус, эдгээрт тулгуурласан. Системийн аль хэдийн сонгосон үр дүнг тайлбарлахад загвар хамгийн хэрэгтэй байв.

  • Доор эхлээд хэрхэн сонгохыг, дараа нь юу үр дүнтэй, юу үр дүнгүй байсныг өгүүлнэ.

Ихэнх баг хиймэл оюуны туршилт явуулсан хэвээр эсвэл эрсдэл, өгөөж багатай туслах хэрэглээнд хиймэл оюун нэвтрүүлж байна. Хэрэглэгчид долоо хоног бүр ашигладаг бизнесийн амин чухал бүтээгдэхүүн нэвтрүүлдэг нь цөөн. Хэрэв туслахыг бүхэлд нь өөрсдөө бүтээх бус ChatGPT дотор байрлуулах зорилготой бол ChatGPT Apps SDK энэ зөрүүг арилгах нэг арга юм.

Бид яагаад Apps SDK ашигласан бэ

Үйлчлүүлэгч ChatGPT-г үндсэн орчин болгохыг хүссэн бөгөөд бүрэн тусгай чат бүтээгдэхүүнд хөрөнгө оруулахгүйгээр хурдан нэвтрүүлэх шаардлагатай байсан төслөөс бид эдгээр сургамжийг авсан.

Энэ шаардлагын дагуу Apps SDK тохирсон. Учир нь үйлчлүүлэгчид дараах зүйлс хэрэгтэй байв:

  • Бүтээж, байршуулах тусгай чат бүтээгдэхүүнгүй байх—тэдэнд өөр нэг бие даасан туслахын бүрхүүл бус, ChatGPT дотор хэрэглэгчдэд хүрэх боломж хэрэгтэй байсан.

  • Чат болон даалгаварт зориулсан жижиг UI—ажлын урсгал доторх хоёр дахь бүрэн бүтээгдэхүүн бус, тодорхой зорилготой цөөн хэдэн виджетийн алхам.

  • MCP хэрэгслээр нээлттэй болгосон арын системийн үйлдэл—эхнээс нь дуустал өөрсдийн эзэмших тусгай агентын ажиллах орчин бус, стандарт хэрэгсэл дуудах ажиллагаа.

  • ChatGPT дотроос олох боломж—хэрэглэгчид ажлын урсгалыг аль хэдийн ажилладаг орчноосоо ашиглах ёстой.

Бүтээх явцдаа эдгээр сонголтыг үйлчлүүлэгчтэй хамт баталгаажуулсан. Гэхдээ буулт хэвээр: холболтыг ChatGPT байршуулж байгаа үед та гаднах ажиллах орчныг эзэмшихгүй. Та чиглүүлж чадна, гэхдээ бүрэн хянаж чадахгүй.

Apps SDK танд юу өгдөг вэ

Apps SDK апп дараах гурван зүйлийг холбоно:

  1. ChatGPT-ийн агентын ажиллах орчин

  2. Таны MCP хэрэгслүүд

  3. Таны виджетийн UI

Бодит ажиллагааны урсгал:

  1. Хэрэглэгч ChatGPT-ээс ямар нэг зүйл хүснэ.

  2. ChatGPT таны MCP хэрэгслүүдийн аль нэгийг дуудаж болно.

  3. Таны сервер хэрэгслийн зохион байгуулалттай үр дүнг буцаана.

  4. ChatGPT үр дүнг уншаад дараагийн алхмыг шийднэ: дахин хэрэгсэл дуудах, хэрэглэгчид хариулах эсвэл хоёуланг нь хийх. Хэрэв тухайн хэрэгсэлд виджет холбосон бол энэ ээлжид харагдаж болно.

  5. Хэрэглэгч чат эсвэл виджетээр үргэлжлүүлнэ (нэмэлт бичвэр, сонголт эсвэл виджетээс эхлүүлсэн хэрэгслийн дуудлага). Ингэснээр хэлхээс шинэчлэгдэж, ChatGPT дараагийн ээлжийг ажиллуулна. Даалгавар дуусах хүртэл 2–4-р алхам давтагдана.

Чат, арын системийн үйлдэл, богино UI алхмуудыг ингэж хослуулах нь гол зорилго юм. Гэхдээ чат, хэрэгсэл, UI хоорондын шилжилтүүд хамгийн эмзэг хэсэг болдог.

Та чат UI, хэрэгслийн холболт, нэвтрэлт баталгаажуулалтын загвар, виджетийн бүрхүүлийг эхнээс нь дахин бүтээхгүй. Олон бүтээгдэхүүний хувьд энэ нь бүтээх хугацааг эрс багасгаж, салбарын логик болон хамгаалалтын хязгаарлалтад төвлөрөх боломж олгоно.

ChatGPT дотор бүтээх нь өөрийн агентыг ажиллуулахтай адилгүй. Төслийн хэцүү хэсэг нь өгөгдлийн арга мэх байгаагүй. Харин загвар болон UI-г уялдаатай байлгахын тулд хэрэгсэл, виджет, дараагийн алхмуудыг хангалттай тодорхой болгох явдал байв.

Хэрхэн сонгох вэ

Apps SDK нь ердийн фронтэндээс өөр бүтэцтэй бүтээгдэхүүн бүтээх боломж олгодог ч ямар нөхцөлд хамгийн тохиромжтойг мэдэх нь чухал.

Дараахыг хүсвэл Apps SDK ашиглаарай

  • ChatGPT-ийн ажлын урсгалыг хурдан нэвтрүүлэх.

  • Харилцан яриаг ChatGPT-д байршуулж ажиллуулах.

  • Байгалийн хэлийг тодорхой зорилготой цөөн UI алхамтай хослуулах.

  • Өөрийн чат интерфейс, агентын контейнер болон хэрэглэгчдэд таниулах сувгийг бүтээхээс зайлсхийх.

Хэрэглэгчид тань ChatGPT-г аль хэдийн тогтмол ашигладаг бол сүүлийн зүйл онцгой ач холбогдолтой.

Дараах зүйл хэрэгтэй бол өөрийн агентыг бүтээгээрэй

  • Кодоор албадан мөрдүүлэх боломжтой, алхам бүр нь тогтсон урсгал.

  • Эхнээс нь дуустал өөрсдийн эзэмших тусгай UI болон баталгаажуулах замнал.

  • Өөрийн санах ой болон төлөвийн загвар.

  • Ажиллуулах бүрд урьдчилан таамаглах боломжтой үйлдэл.

  • Агентын мөрдөлт, бүртгэл болон хэмжүүрүүд.

Хэрэв төлөвлөгч, системийн өгөгдлүүд болон бүрэн ажлын урсгал нь таны бүтээгдэхүүний гол хэсэг бол тусгай стек ихэвчлэн илүү тохиромжтой.

Давуу ба сул талыг товчхон

Асуулт

ChatGPT Apps SDK

Өөрийн агентууд

Хэрэглэгчийн туршлага хаана бүрдэх вэ?

ChatGPT дотор

Таны бүтээгдэхүүнд

Харилцан ярианы алхмуудыг хэн ажиллуулах вэ?

Таны хэрэгсэл, UI-аар чиглүүлсэн ChatGPT

Таны агентын систем

Хэр хэмжээний UI бүтээх вэ?

Чат доторх тодорхой зориулалттай виджетүүд

Хэрэгтэй бүхнээ

Өгөгдлүүдийг хэр зэрэг хянах вэ?

Шууд бусаар

Бүрэн

Тогтсон, давтагдах урсгал хэрэгжүүлэхэд хэр хялбар вэ?

Нарийн төлөвлөх шаардлагатай

Кодоор мөрдүүлэхэд хялбар

Анхны хувилбарыг нэвтрүүлэх хугацаа

Ихэвчлэн хурдан

Эхэндээ ихэвчлэн удаан

Таны хариуцах платформын ажил

Бага

Их

Дараа нь чиглэлээ өөрчлөх боломж

Бага

Их

Манай төсөлд байнга сөхөгдөж байсан үг нь хяналт байв: нэг талд хурд ба танил орчин, нөгөө талд ажиллах орчныг хэсэгчлэн эзэмших боломж. Үйлчлүүлэгч бүрэн стекийг эзэмшихээс илүү ChatGPT дотор хэрэглэгчидтэй хүрэлцэхийг чухалчилснаар энэ буултыг хүлээн зөвшөөрсөн.

Хаана хүндрэл гардаг вэ

Амжилттай хувилбар амархан сонсогдоно: хэрэглэгч хүсэлт гаргаж, хэрэгсэл ажиллан, өгөгдөл буцаж ирээд, сонголт хийх үед виджет гарч ирнэ.

Гэвч бодит байдалд шилжилтүүд хамгийн хүндрэлтэй байв. Виджет бол чимэглэл биш. Дэлгэц дээр гармагцаа загварын юу харах, дараа нь юу хийхийг өөрчилдөг. Виджетийн үйлдлийг ердийн чат бус, нэрлэсэн үйл явдал гэж үзээрэй.

Төсөлд ашигласан стек энгийн байсан: FastMCP, Pydantic, React, TypeScript. Эдгээрийг нэгтгэхэд асуудал гараагүй. Гол ажил нь дараа нь юу болох талаар загвар, хэрэгсэл, UI-г нэг ойлголттой болгох байв.

Юу үр дүнтэй байсан бэ

Шилжилт бүрийг ойлгомжтой болго

Бид хэрэгслийн үр дүнг арын системийн боловсруулаагүй өгөгдөл гэж үзэхээ больсон. Буцаасан үр дүн бүр шилжилт болсон.

Сайн хэрэгслийн үр дүн:

  • Виджетийг дүрслэхэд хэрэгтэй зүйлээр хангана.

  • ChatGPT-д хариултаа үндэслэх зохион байгуулалттай баримт өгнө.

  • Урсгал шаардсан үед загварыг таалгахгүйн тулд дараа нь юу хийхийг заана.

Виджетийн үйлдлүүд хэлхээс рүү ерөнхий, тодорхой бус өгүүлбэр буцааж болохгүй. Хэрэглэгч юу хийсэн, дараа нь юу болох ёстойг тодорхой заах хэрэгтэй.

Шилжилтүүд тодорхой болсны дараа найдвартай ажиллагаа сайжирсан.

Богино, тодорхой зааврыг хэрэгслийн гаралт болон виджетийн үйлдэлд оруулбал загвар сайн дагадаг.

Бидний ашигласан жижиг Pydantic бүтцийг доор харуулав. output талбарт виджет харуулахад шаардлагатай зохион байгуулалттай өгөгдөл болон ChatGPT-ийн холболтод ашиглах баримтууд хадгалагдана. agent_directions талбарт туслах дараа нь юу хийхийг заасан богино мөр хадгалагдана. Шалтгаан нь заавал биш.

Python

from typing import Generic, TypeVar
from pydantic import BaseModel
T = TypeVar("T")
class AgentDirections(BaseModel): assistant_instruction: str reason: str | None = None
class ToolResults(BaseModel, Generic[T]): agent_directions: AgentDirections output: T

Виджетүүдийг жижиг байлга

Үр дүнтэй виджетүүд нэг шийдвэр гаргуулаад хяналтыг буцаадаг байсан. Виджетийг жижиг апп болгохоос илүү богино жагсаалт, баталгаажуулалт эсвэл цомхон хяналтын дэлгэц үр дүнтэй байв. Урсгалыг илүү тодорхой болгохыг хүссэн үед энгийн шалгалт эсвэл тогтсон дараагийн алхам зэрэг багахан логикийг виджетэд оруулах нь мөн тустай байв.

Виджетийн мессежийг гуравдугаар биеэр бичих

Виджетийн дараах мессежийг хэрэглэгчийн чат шиг ("Би ...-г сонголоо", "Би баталгаажууллаа") бичихээ больсон. Үүний оронд хэрэглэгчийн хийсэн үйлдлийн тухай товч тайлан ("Хэрэглэгч ...-г сонгосон", "Хэрэглэгч баталгаажуулсан") хэлбэрээр бичсэн. ChatGPT виджетийн мессежүүдийг хэрэглэгчийн бус, хэрэгслийн мессеж болгон нэмж байсан тул бид энэ аргыг туршсан.

Дараагийн алхам тодорхой үед шууд үйлдэл хийх

Хэрэв товчлуур дараагийн хэрэгслийн дуудлагыг тодорхой илэрхийлж байвал дахин чатлуулахын оронд виджетээр шууд эхлүүлэх нь илүү үр дүнтэй байсан. Үүнийг дараагийн хэрэгслийн дуудлагад ChatGPT-ээс оролт шаардлагагүй үед л ашиглана.

Ингэснээр урсгалыг тогтвортой мөрдүүлэхэд дөхөм болж, чатлах нэмэлт ээлжийг алгассанаар хүлээлгийн хугацаа багассан.

Алдаа боловсруулах

Хэрэгслийн дуудлага бүтэлгүйтвэл бид зөв MCP алдааны код болон богино, ойлгомжтой мессежийг хэрэгслээс буцаадаг байсан. Ингэснээр бүтэлгүй дуудлагын үед ChatGPT унших бодит мэдээлэлтэй болж, хэрэглэгчид асуудлыг тайлбарлах болон/эсвэл зохистой дараагийн алхам сонгох боломжтой болсон.

Хэрэгслийн контекстийн удирдлага

Бид холболтын төлөвийг өөрсдийн серверт хадгалсан. ChatGPT хэрэгслийн дуудлагатай хамт тухайн холболтын контекстийг илгээдэг. FastMCP-д хэрэгсэл бүрд Context параметр өгснөөр боловсруулагч уг төлөвийг уншиж, шинэчилдэг болсон.

  • Тогтвортой ID болон өмнөх үр дүнг дуудлага бүрд ChatGPT-ээр хэрэгслийн аргумент болгон дахин дамжуулахын оронд холболтод хадгалсан.

  • Хэрэгсэл дуудах давталт үүсвэл давхардсан дуудлагыг илрүүлж, хэрэгслийн үр дүнгээр тодорхой алдаа буцаах боломжтой байв.

  • Дибаг болон дэмжлэгт зориулсан холболтын бүртгэлүүд манай талд хадгалагдсан.

Юу үр дүнгүй байсан бэ

Загвар дараагийн алхмыг өөрөө ойлгоно гэж найдах

Эхэндээ бид виджет харуулаад загвар "ойлгосон" гэж үзэн, дараагийн зөв хэрэгслийн дуудлагыг хүлээдэг байв. Заримдаа бүтдэг байсан. Гэхдээ ихэнхдээ бүтдэггүй байв.

Тодорхой шилжилтгүй бол бид үйлдэл хүссэн үед ChatGPT хураангуйлж, хэрэглэгчээс сонголтоо давтахыг хүсэх эсвэл зогсох ёстой үедээ үргэлжлүүлэн төлөвлөж болдог.

Шийдэл нь загвар өөрөө ойлгоно гэж найдах бус, дараагийн алхмыг бүтцийн гаралт болон виджетийн өгөгдөлд тодорхой бичих байв.

Утгыг олон давхаргад тараах

Apps SDK-ийн баримт бичигт зааснаар хариуг хэрэгслийн гаралт, далд мета өгөгдөл, чатын бичвэрт хуваан ухаалгаар зохицуулахыг оролдсон. Гэвч виджетүүдээс далд мета өгөгдлийг уншиж чадаагүй. Тиймээс энэ аргыг ашиглах боломжгүй байсан.

Хэрэгслүүдийг загвараас нуух

Apps SDK-ийн баримт бичигт агентаар сонгуулахгүйн тулд хэрэгслийн жагсаалтаас нь нуусан ч виджетээс дуудах боломжтой хэрэгслүүдийг тайлбарласан байдаг. Харагдах байдлыг зөвхөн аппад гэж тохируулахад эдгээр хэрэгсэл зөвхөн агентаас бус, виджетээс ч ашиглах боломжгүй болсон. Агент хэрэгслийг харахгүй ч виджет харж чаддаг тохиргоог бид хийж чадаагүй.

Тодорхой бус алдаа

Ашигтай зүйл болоогүй байхад чимээгүй өнгөрөх эсвэл ерөнхий "амжилттай" гэж мэдээлэх нь шууд алдаанаас дор байв. Тиймээс хэрэгсэл, виджетийн доголдлыг бүрэн хэмжээний гаралт гэж үзсэн: алхмыг үргэлжлүүлэх боломжгүй бол энгийн хэлээр тайлбарлаж, тодорхой алдаа буцаадаг болсон. Ингэснээр хэрэглэгч ажилласан мэт харагдавч урагшлуулаагүй виджетийг ширтэж үлдэхгүй. Ингэснээр ашиглахад хялбар болж, загварын үйлдэл илүү найдвартай болсон.

Дүгнэлт

Хэрэв платформын тусгай ажлыг багасган ChatGPT дотор ажлын урсгал бий болгох зорилготой бол Apps SDK нь бодитой шийдэл юм. Та хурд болон хэрэглэгчдийн аль хэдийн ажилладаг орчинд хүрэх боломжийн төлөө хяналтынхаа заримыг золиосолно.

Урсгалын салаа бүр, UI болон алхам бүрийг хэн шийдэхийг бүрэн эзэмших шаардлагатай бол анхнаасаа өөрийн агентын стекийг төлөвлө. Эцэст нь зөвхөн ChatGPT дотор бүтээх боломж тань хүрэлцэхээ болих магадлалтай.

Мөн чат, нэвтрэлт баталгаажуулалт, агентын холболтыг өөрсдөө бүтээхээс өмнө MCP серверээ ChatGPT дотор ажиллуулахад Apps SDK-г ашиглаж, бүтээгдэхүүнд шаардлагатай болсон үед өөрийн стек рүү шилжиж болно.

Ижил нөхцөлтэй багуудын дараагийн алхам: тодорхой үр дүнтэй нэг ажлын урсгал сонгож, чат, хэрэгсэл, виджет хоорондын шилжилтүүдийг бичээд, өгөгдлийг нарийн тохируулахад их цаг зарцуулахаасаа өмнө дахин оролдлого болон алдааг ачааллын сорилоор шалгаарай.

Зохиогч

Malan Evans