phaseo-agent 0.1.
تعريف الوكيل
التشغيل والمتابعة
حقول
RunOptions:
input: Valuecontext: Valuemodel: Option<String>max_steps: Option<usize>
RunOptions::new(input).
حقول ContinueOptions:
result: RunResulthuman_input: Option<String>approvals: Vec<ToolDecision>tool_outputs: Vec<ToolOutput>
ContinueOptions::new(result).
الأدوات
توقيع المنفّذ هو:
Tool الحقول id وdescription وparameters وexecute وrequire_approval. فضّل استخدام البُناة وطريقة builder للحفاظ على اتساق أنواع المنفّذات والقيم الافتراضية.
يحتوي RuntimeContext الذي يُمرّر إلى المنفّذ على:
run_idagent_idstep_indexcontexttool_call
الرسائل واستدعاءات الأدوات
يحتويMessage على role وcontent وtool_calls وtool_call_id اختياري وname اختياري وis_error. أنشئ الرسائل العادية باستخدام:
Message::user(content)Message::assistant(content)
ToolCall على معرّف الاستدعاء id واسم الأداة name ومدخل JSON input.
يحتوي ToolSpec على معرّف الأداة id ووصفها description ومعلمات JSON Schema parameters المرسلة إلى عميل النموذج.
عملاء النماذج
نفّذModelClient لاستخدام وسيلة نقل أخرى للنموذج:
GatewayAgentClient::new(phaseo_client, model)GatewayAgentClient::from_env(model)create_gateway_agent_client(model)
ModelRequest إلى POST /responses، ويوحّد نص المخرجات واستدعاءات الوظائف وبيانات الطلب الوصفية والاستخدام.
يحتوي ModelRequest على معرّف الوكيل والنموذج الفعلي والتعليمات والرسائل الحالية ومواصفات الأدوات وسياق التطبيق.
يحتوي ModelResponse على:
message: Messageusage: UsageSummaryrequest_id: Option<String>provider: Option<String>model: Option<String>finish_reason: Option<String>
أنواع المراجعة والإيقاف المؤقت
يحتويHumanReviewContext على معرّفي الجولة والوكيل وفهرس الخطوة والرسائل الحالية واستجابة النموذج الموحّدة وسياق التطبيق.
أعِد HumanReviewRequest { reason, payload } من callback المراجعة لإيقاف الجولة مؤقتًا.
يحتوي HumanPause على:
reason- حمولة JSON
payload kindpending_tool_calls
PendingToolCall على ToolCall الأصلي ونوع الإدخال المطلوب kind وسبب مكتوب بلغة واضحة.
يوفّر ToolDecision معرّف tool_call_id الموافق عليه وسببًا اختياريًا. ويوفّر ToolOutput معرّف tool_call_id ومخرجات JSON.
سجلات الجولات
يحتويRunResult على:
run: RunRecordsteps: Vec<RunStep>output: Valuemessages: Vec<Message>usage: UsageSummary
RunRecord على معرّفي الجولة والوكيل والنموذج الفعلي وحد الخطوات والحالة والمدخل الأصلي وسياق التطبيق وعدد الخطوات وإيقاف مؤقت اختياري وسبب توقف اختياري وطوابع زمنية.
يحتوي RunStep على الفهرس والحالة وعدد محاولات النموذج واستدعاءات الأدوات ومعرّف الطلب والمزوّد والنموذج وسبب الإنهاء وخطأ اختياري والاستخدام.
يحتوي UsageSummary على input_tokens وoutput_tokens وcached_tokens وtotal_tokens وcost.
يوفّر عميل النموذج قيمة cost. ولا يربط محوّل Gateway 0.1 المضمّن حاليًا قيم cost_nanos أو cost_cents من Gateway بهذا الحقل.
تدعم الأنواع RunResult وRunRecord وRunStep وMessage وToolCall وHumanPause وPendingToolCall وToolDecision وToolOutput وUsageSummary تسلسل Serde عندما تشتق تعريفاتها السمات Serialize وDeserialize.
الأحداث والأخطاء
حقولAgentEvent:
event_typerun_idagent_idtimestamp_msdetails
AgentError السمات std::error::Error وDisplay. استخدم AgentError::new(...) لإنشاء خطأ، وmessage() لقراءة رسالته.