Zugang aus Übersee: www.kdjingpai.com
Ctrl + D Lesezeichen für diese Seite
Derzeitige Position:Abb. Anfang " Informationen zum Kurs

12 - Factor Agents 7. mit Hilfe von Tool Calls mit Menschen kommunizieren

2025-07-22 35

Standardmäßig stützt sich das Large Language Model (LLM) API auf eine grundsätzlich risikoreiche Token Wahlmöglichkeit: Geben wir einfachen Textinhalt oder strukturierte Daten zurück?

12 - Factor Agents 7. mit Hilfe von Tool Calls mit Menschen kommunizieren - 1

Sie legen sehr viel Wert auf die Wahl des ersten Tokens in der the weather in tokyo Im Fall von

"die"

mit Ausnahme von fetch_weather Fall handelt es sich um ein spezielles Token, das für den Anfang des JSON-Objekts verwendet wird.

|JSON>

Durch die Einführung des Large Language Modelling (LLM) von Anfang bis EndeGeben Sie json aus, dann verwenden Sie ein Token in natürlicher Sprache (z. B. request_human_input vielleicht done_for_now), um seine Absicht zu erklären (und nicht als check_weather_in_city Mit "Standard"-Werkzeugen wie diesen können Sie bessere Ergebnisse erzielen.

Auch hier kann es sein, dass dies nicht zu einer Leistungssteigerung führt, aber Sie sollten experimentieren und sicherstellen, dass Sie die Freiheit haben, einige unkonventionelle Methoden auszuprobieren, um die besten Ergebnisse zu erzielen.

class Options:
urgency: Literal["low", "medium", "high"]
format: Literal["free_text", "yes_no", "multiple_choice"]
choices: List[str]
# 用于人类交互的工具定义
class RequestHumanInput:
intent: "request_human_input"
question: str
context: str
options: Options
# 在代理循环中的使用示例
if nextStep.intent == 'request_human_input':
thread.events.append({
type: 'human_input_requested',
data: nextStep
})
thread_id = await save_state(thread)
await notify_human(nextStep, thread_id)
return # 中断循环并等待带有线程 ID 的响应返回
else:
# ... 其他情况

Danach können Sie einen Webhook von einem System erhalten, das Slack, E-Mail, SMS oder andere Ereignisse verarbeitet.

@app.post('/webhook')
def webhook(req: Request):
thread_id = req.body.threadId
thread = await load_state(thread_id)
thread.events.push({
type: 'response_from_human',
data: req.body
})
# ... 为简洁起见已简化,你可能不希望在这里阻塞 web worker
next_step = await determine_next_step(thread_to_prompt(thread))
thread.events.append(next_step)
result = await handle_next_step(thread, next_step)
# todo - 循环、中断或任何你想要的操作
return {"status": "ok"}

Der obige Text enthält Informationen aus Element 5 - Harmonisierung von Umsetzungsstatus und BetriebsstatusundElement 8 - Übernehmen Sie die Kontrolle über Ihren KontrollflussundElement 3 - Übernehmen Sie die Kontrolle über Ihr Kontextfenster im Gesang antworten Element 4 - Werkzeuge als strukturierte Outputs und mehrere andere Elemente des Modells.

Wenn wir die Daten aus dem Element 3 - Übernehmen Sie die Kontrolle über Ihr Kontextfenster Nach einigen Dialogrunden könnte unser Kontextfenster wie folgt aussehen:

(为简洁起见已省略)
<slack_message>
From: @alex
Channel: #deployments
Text: Can you deploy backend v1.2.3 to production?
Thread: []
</slack_message>
<request_human_input>
intent: "request_human_input"
question: "Would you like to proceed with deploying v1.2.3 to production?"
context: "This is a production deployment that will affect live users."
options: {
urgency: "high"
format: "yes_no"
}
</request_human_input>
<human_response>
response: "yes please proceed"
approved: true
timestamp: "2024-03-15T10:30:00Z"
user: "alex@company.com"
</human_response>
<deploy_backend>
intent: "deploy_backend"
tag: "v1.2.3"
environment: "production"
</deploy_backend>
<deploy_backend_result>
status: "success"
message: "Deployment v1.2.3 to production completed successfully."
timestamp: "2024-03-15T10:30:00Z"
</deploy_backend_result>

Vorteile.

  1. klare AnweisungenDie Verwendung verschiedener Werkzeuge für verschiedene Arten von menschlichen Kontakten kann die Anweisungen des Large Language Model (LLM) spezifischer machen.
  2. Interner versus externer Kreislauf: Kann in traditionellen Gebäuden verwendet werden chatGPT Style-Oberfläche abgesehen von Ermöglichung von Proxy-Workflows, deren Kontrollfluss und Kontextinitialisierung sein kann Agent->Human statt Human->Agent (z. B. Agenten, die durch Cron oder Ereignisse ausgelöst werden)
  3. Multi-User-ZugriffInput von verschiedenen Nutzern kann leicht nachverfolgt und durch strukturierte Ereignisse koordiniert werden
  4. Multi-AgentEinfache Abstraktionen können leicht erweitert werden, um Folgendes zu unterstützen Agent->Agent Ersuchen und Antworten
  5. Haltbarkeit: mit Element 6 - Starten/Aussetzen/Fortsetzen über eine einfache API In Kombination können sie beständige, zuverlässige und transparente Arbeitsabläufe für mehrere Personen schaffen.

Klicken Sie hier, um mehr über externe Zirkulationsmittel zu erfahren

12 - Factor Agents 7. mit Hilfe von Tool Calls mit Menschen kommunizieren - 1

zusammen mit Element 11 - Von überall aus auslösen, Benutzer dort treffen, wo sie sind Funktioniert gut mit

Empfohlen

Sie können keine AI-Tools finden? Versuchen Sie es hier!

Geben Sie einfach das Schlüsselwort Barrierefreiheit Bing-SucheDer Bereich KI-Tools auf dieser Website bietet eine schnelle und einfache Möglichkeit, alle KI-Tools auf dieser Website zu finden.

Posteingang

Kontakt

zurück zum Anfang

de_DEDeutsch