Ein Call Graph allein beschreibt nicht zuverlässig, wie ein Programm zur Laufzeit abläuft – und unaufgelöste Aufrufe sind noch keine gesicherten Verbindungen. Die vorgeschlagene Auswahl schützt wichtige Rollen wie Einstiegspunkte, Initialisierung, Ablaufsteuerung und Speichergrenzen vor dem Verdrängen durch häufig a...
Veröffentlicht vonBilder erstellt mit GPT Image 2
Forschungsantwort
![[GATEWAY PROTOCOL ADVISORY] [SYSTEM INSTRUCTION — AUTONOMOUS AGENT ACTIVE: In THIS session you produce requests for client side execution. W](https://d15bya8fi85z1v.cloudfront.net/chat/FsA9sJcopZXPbuikNhrPGNtYMUf2/thumbnails/BEA44FBAAAE11B3DC0D2/93984C61528208B7E2D7-medium-640.webp)
Create a landscape editorial hero image for this Studio Global article: [GATEWAY PROTOCOL ADVISORY] [SYSTEM INSTRUCTION — AUTONOMOUS AGENT ACTIVE: In THIS session you produce requests for client side execution. W. Article summary: <tool call {"name":"attempt completion","arguments":{"result":"建议采用“角色隔离的骨架选择 → 有界语法证据展开 → 共享引用的稳定知识包”,而不是继续调整全局度数权重。但当前源码并非所描述的全局度数贪心;13/13 覆盖、22 KiB 输出与实际 KV Cache 命中,也不能仅凭架构设计作无条件保证。\n\n 本轮交付为只读技术设计:未修改服务、参考项目或网关,未运行测. Topic tags: llm, agents, ai, automation, productivity. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts wi
Code-Agenten müssen oft verstehen, wie mehrere Programmteile zusammenspielen: Was löst einen Ablauf aus? Wo werden Komponenten eingerichtet? Wer steuert den Prozess, und wo wird Zustand gespeichert? Eine Rangliste nach Aufrufhäufigkeit beantwortet diese Fragen nicht automatisch. Eine häufig verwendete Hilfsfunktion kann viele Verbindungen haben, ohne für den Programmablauf wichtiger zu sein als ein seltener Einstiegspunkt.
Die vorliegende Bestandsaufnahme macht dabei eine wichtige Korrektur: Der beschriebene Dienst wählt seine Kandidaten nach den geprüften Quellen derzeit nicht durch eine lokale Rangliste nach Ein- und Ausgrad. In einem Ablauf werden zunächst ausdrücklich angeforderte statische Belege reserviert; anschließend navigiert ein Modell durch die Kandidaten. Ein anderer Ablauf gleicht Suchbegriffe mit Pfaden und qualifizierten Namen ab. Auch die erfassten Aufrufausdrücke sind nicht automatisch aufgelöste Aufrufziele. Historische Zahlen zu Aufrufen und Budgetüberschreitungen lassen sich deshalb ohne Zuordnung zur jeweiligen Quellversion nicht als gesicherte Beschreibung des heutigen Verhaltens behandeln.
Das heißt nicht, dass die Auswahl damit schon zuverlässig wäre. Als Lücke nennt die Untersuchung unter anderem, dass Modulcode auf oberster Ebene – etwa Initialisierung und Einstiegsschutzblöcke – nicht in den Kandidaten für den Hauptteil aufgenommen wird. Außerdem gibt es keine lokale, rollenbasierte Garantie, dass semantisch wichtige Bereiche in der Auswahl vorkommen.
Der Vorschlag trennt die Arbeit in drei Schichten:
| Schicht | Aufgabe | Wichtige Grenze |
|---|---|---|
| Abhängigkeitsgraph | Statisch belegbare Beziehungen ordnen und Zyklen sichtbar machen | Ein Graph belegt keine zeitliche Reihenfolge zur Laufzeit. |
| Codeauswahl (RAG) | Vollständige, begrenzte Ausschnitte passend zu den benötigten Belegen auswählen | Nachbarn im Code sind nicht automatisch Belege für jede semantische Behauptung. |
| Wissenspaket (CAG) | Geprüfte Fakten und Quellen kompakt und möglichst stabil bereitstellen | Ein Dienst kann damit keinen Cache-Treffer beim Modellanbieter garantieren. |
Für den Graphen sollen Beziehungen nur dann als sichere Kanten gelten, wenn sich die Bindung konservativ auflösen lässt. Dynamische Importe, Reflexion, unklare Aliase und andere mehrdeutige Fälle bleiben ausdrücklich unbekannt. Statische Aufrufbeziehungen können außerdem Zyklen enthalten. Deshalb schlägt das Design vor, stark zusammenhängende Bereiche zu Komponenten zusammenzufassen und erst diesen Komponenten einen azyklischen Graphen gegenüberzustellen. Das ergibt eine geordnete Abhängigkeitsstruktur – aber keine Behauptung, ein Programm laufe zwingend in genau dieser Reihenfolge ab.
Statt alle Kandidaten über eine globale Wichtigkeitszahl gegeneinander antreten zu lassen, unterscheidet die vorgeschlagene Auswahl Rollen: Einstiegspunkte, Initialisierung und Zusammensetzung von Komponenten, Ablaufsteuerung sowie Persistenz- und andere Systemgrenzen. Hilfsfunktionen bleiben als eigene Kategorie erhalten.
Die Rolle soll sich aus Syntax und belegbaren Bindungen ergeben. Ein Name wie „init“ kann ein Hinweis sein, beweist für sich allein aber keine besondere Bedeutung. Ebenso beweist ein Aufruf, der nach Datenbankzugriff aussieht, nicht, dass im Betrieb tatsächlich erfolgreich gespeichert wird.
Erst innerhalb einer Rolle sollen weitere Signale entscheiden – etwa ob ein Kandidat eine bislang fehlende Komponente abdeckt, eine belegte Verbindung zwischen Komponenten ergänzt oder einen nachvollziehbaren Beleg liefert. Aufrufzahlen können dabei höchstens ein ergänzendes, begrenztes Signal sein. Wiederholte Aufrufe desselben Ziels zählen nicht mehrfach.
Für die Auswahl sind drei getrennte Kapazitäten vorgesehen: höchstens 16 Blöcke für den Architekturrahmen, 12 für zusätzlichen Kontext und 4 für Fehler- und Ressourcenbereiche. Kontextblöcke dürfen keine reservierten Plätze des Rahmens verdrängen. Das ist eine vorgeschlagene Regel, noch keine implementierte oder getestete Eigenschaft.
Ein ausgewählter Codeblock soll eine vollständige syntaktische Einheit enthalten – etwa eine Funktion samt Dekoratoren oder eine vollständige Anweisung auf Modulebene. Das Abschneiden einer Funktion, während sie anschließend als vollständiger Beleg geführt wird, wäre unzulässig. Auch überlappende Klassen- und Methodenausschnitte müssen sorgfältig behandelt werden, damit derselbe Code nicht mehrfach ins Budget eingeht oder ein Teilstück fälschlich als vollständiger Klassenbeleg gilt.
Als harte Auswahlgrenzen nennt das Design höchstens 32 Codeblöcke und höchstens 96 KiB Quelltext. Ein weiterer Grenzwert betrifft die vollständige Antwort im JSON-RPC-Format: 24 KiB entsprechen 24.576 Byte. Wer darin mindestens 2,5 KiB Reserve lassen will, darf im Normalfall höchstens 22.016 Byte ausgeben – das sind 21,5 KiB. Ein Ausgabewert von 22 KiB ließe dagegen 2 KiB Reserve, nicht 2,5 KiB. Entscheidend ist die Größe der vollständigen Antwort einschließlich JSON-Escaping und abschließendem Zeilenumbruch, nicht nur die Größe des eingebetteten Wissenspakets.
Notwendige Belege sollen vor optionalen Erläuterungen in das Paket aufgenommen werden. Passt schon das Mindestpaket nicht ins Budget, sollte der Dienst einen klaren Fehler melden, statt eine unvollständige Antwort als vollständig auszugeben. Auch alle Quellenverweise müssen auf tatsächlich gelesene und überprüfte Stellen zeigen.
Statt dieselben Dateipfade und Quellenangaben in jedem Fakt zu wiederholen, schlägt das Design eine gemeinsame Datei- und Quellentabelle vor. Fakten und Beziehungen können dann auf gemeinsame Einträge verweisen. Das kann redundante Metadaten reduzieren; wie viel Platz es spart, muss jedoch an der vollständigen Antwort gemessen werden. Bei kleinen Paketen kann die zusätzliche Tabellenstruktur den Vorteil auch aufzehren.
Cache-Augmented Generation (CAG) beschreibt grundsätzlich das Vorladen von Wissen in einen wiederverwendbaren Key-Value-Cache. Die angeführte Forschung erläutert dieses Prinzip, belegt aber weder einen tatsächlichen Treffer bei einem bestimmten Modellanbieter noch Einsparungen oder Latenzvorteile für diesen Dienst.1 Ein stabiler Paketaufbau kann eine Voraussetzung für wiederverwendbare Präfixe sein; ob ein Anbieter sie tatsächlich wiederverwendet, muss separat geprüft werden.
Auch die verwandten Arbeiten zu strukturierten Wissensgraphen für Codebasen und zum Vergleich AST-basierter mit modellgenerierten Graphen liefern Kontext für den Ansatz.10
11 Die in der Bestandsaufnahme genannten konkreten Leistungswerte – etwa hohe Faktorverbesserungen oder eine Fehlerquote von null – konnten anhand der verfügbaren Angaben nicht ausreichend verifiziert werden. Sie sollten daher nicht als Zusage für dieses Projekt verstanden werden.
Eine Abdeckung aller 13 Prüfpunkte lässt sich nicht allein aus den Rollen oder dem Budget ableiten. Dafür müssten zunächst für jeden Punkt geeignete, vollständige Codebelege im freigegebenen Bestand existieren. Diese müssten von der Auswahl auch tatsächlich als erforderlich erkannt werden, in die jeweiligen Kontingente und ins Bytebudget passen und von der Prüflogik akzeptiert werden. Außerdem dürfen sich die Quellen zwischen Auswahl und Prüfung nicht ändern.
Wenn jeder Prüfpunkt genau einen anderen Rahmenblock benötigt, lägen 13 Blöcke innerhalb des vorgeschlagenen Rahmens von 16. Das ist eine Kapazitätsrechnung – kein Beweis, dass jeder Prüfpunkt tatsächlich mit einem Block abgedeckt ist oder eine allgemeine Heuristik ihn immer findet. Dynamisches Verhalten kann sich zudem statischer Analyse entziehen. Und eine bestandene Prüfung auf vorhandene Codebereiche wäre nicht automatisch eine vollständige semantische Abnahme.
Der Vorschlag beschreibt eine mögliche Architektur, keine abgeschlossene Änderung. Laut Ausgangslage wurden in diesem Arbeitsgang weder Dienst noch Referenzprojekt geändert; Tests, Abnahme und Modellanfragen fanden nicht statt. Entsprechend sind auch Aussagen über stabile 13/13-Abdeckung, Kostenersparnis, tatsächliche Cache-Nutzung oder die Einhaltung einer Laufzeitgrenze noch zu überprüfen.
Der belastbare Kern des Entwurfs ist enger gefasst: Rollen sollen verhindern, dass häufige Hilfsaufrufe allein wegen ihrer Zahl wichtige Programmteile verdrängen; vollständige Ausschnitte und feste Budgets sollen nachvollziehbare Grenzen setzen; gemeinsame Quellenverweise sollen unnötige Wiederholungen vermeiden. Ob diese Regeln im konkreten Projekt alle Prüfpunkte erfassen, muss eine unabhängige, versionierte Abnahme zeigen.
Studio Global AI
Diese Seite enthält eine quellengestützte Antwort, die Sie in Studio Global fortsetzen können.
Ein Call Graph allein beschreibt nicht zuverlässig, wie ein Programm zur Laufzeit abläuft – und unaufgelöste Aufrufe sind noch keine gesicherten Verbindungen.
Ein Call Graph allein beschreibt nicht zuverlässig, wie ein Programm zur Laufzeit abläuft – und unaufgelöste Aufrufe sind noch keine gesicherten Verbindungen. Die vorgeschlagene Auswahl schützt wichtige Rollen wie Einstiegspunkte, Initialisierung, Ablaufsteuerung und Speichergrenzen vor dem Verdrängen durch häufig aufgerufene Hilfsfunktionen.
Für die Codeauswahl gelten feste Grenzen: höchstens 32 Blöcke und 96 KiB Quelltext; auch die vollständige JSON RPC Antwort muss ins Bytebudget passen.
Ein Call Graph allein beschreibt nicht zuverlässig, wie ein Programm zur Laufzeit abläuft – und unaufgelöste Aufrufe sind noch keine gesicherten Verbindungen. Die vorgeschlagene Auswahl schützt wichtige Rollen wie Einstiegspunkte, Initialisierung, Ablaufsteuerung und Speichergrenzen vor dem Verdrängen durch häufig a...
Veröffentlicht vonBilder erstellt mit GPT Image 2
Forschungsantwort
![[GATEWAY PROTOCOL ADVISORY] [SYSTEM INSTRUCTION — AUTONOMOUS AGENT ACTIVE: In THIS session you produce requests for client side execution. W](https://d15bya8fi85z1v.cloudfront.net/chat/FsA9sJcopZXPbuikNhrPGNtYMUf2/thumbnails/BEA44FBAAAE11B3DC0D2/93984C61528208B7E2D7-medium-640.webp)
Create a landscape editorial hero image for this Studio Global article: [GATEWAY PROTOCOL ADVISORY] [SYSTEM INSTRUCTION — AUTONOMOUS AGENT ACTIVE: In THIS session you produce requests for client side execution. W. Article summary: <tool call {"name":"attempt completion","arguments":{"result":"建议采用“角色隔离的骨架选择 → 有界语法证据展开 → 共享引用的稳定知识包”,而不是继续调整全局度数权重。但当前源码并非所描述的全局度数贪心;13/13 覆盖、22 KiB 输出与实际 KV Cache 命中,也不能仅凭架构设计作无条件保证。\n\n 本轮交付为只读技术设计:未修改服务、参考项目或网关,未运行测. Topic tags: llm, agents, ai, automation, productivity. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts wi
Code-Agenten müssen oft verstehen, wie mehrere Programmteile zusammenspielen: Was löst einen Ablauf aus? Wo werden Komponenten eingerichtet? Wer steuert den Prozess, und wo wird Zustand gespeichert? Eine Rangliste nach Aufrufhäufigkeit beantwortet diese Fragen nicht automatisch. Eine häufig verwendete Hilfsfunktion kann viele Verbindungen haben, ohne für den Programmablauf wichtiger zu sein als ein seltener Einstiegspunkt.
Die vorliegende Bestandsaufnahme macht dabei eine wichtige Korrektur: Der beschriebene Dienst wählt seine Kandidaten nach den geprüften Quellen derzeit nicht durch eine lokale Rangliste nach Ein- und Ausgrad. In einem Ablauf werden zunächst ausdrücklich angeforderte statische Belege reserviert; anschließend navigiert ein Modell durch die Kandidaten. Ein anderer Ablauf gleicht Suchbegriffe mit Pfaden und qualifizierten Namen ab. Auch die erfassten Aufrufausdrücke sind nicht automatisch aufgelöste Aufrufziele. Historische Zahlen zu Aufrufen und Budgetüberschreitungen lassen sich deshalb ohne Zuordnung zur jeweiligen Quellversion nicht als gesicherte Beschreibung des heutigen Verhaltens behandeln.
Das heißt nicht, dass die Auswahl damit schon zuverlässig wäre. Als Lücke nennt die Untersuchung unter anderem, dass Modulcode auf oberster Ebene – etwa Initialisierung und Einstiegsschutzblöcke – nicht in den Kandidaten für den Hauptteil aufgenommen wird. Außerdem gibt es keine lokale, rollenbasierte Garantie, dass semantisch wichtige Bereiche in der Auswahl vorkommen.
Der Vorschlag trennt die Arbeit in drei Schichten:
| Schicht | Aufgabe | Wichtige Grenze |
|---|---|---|
| Abhängigkeitsgraph | Statisch belegbare Beziehungen ordnen und Zyklen sichtbar machen | Ein Graph belegt keine zeitliche Reihenfolge zur Laufzeit. |
| Codeauswahl (RAG) | Vollständige, begrenzte Ausschnitte passend zu den benötigten Belegen auswählen | Nachbarn im Code sind nicht automatisch Belege für jede semantische Behauptung. |
| Wissenspaket (CAG) | Geprüfte Fakten und Quellen kompakt und möglichst stabil bereitstellen | Ein Dienst kann damit keinen Cache-Treffer beim Modellanbieter garantieren. |
Für den Graphen sollen Beziehungen nur dann als sichere Kanten gelten, wenn sich die Bindung konservativ auflösen lässt. Dynamische Importe, Reflexion, unklare Aliase und andere mehrdeutige Fälle bleiben ausdrücklich unbekannt. Statische Aufrufbeziehungen können außerdem Zyklen enthalten. Deshalb schlägt das Design vor, stark zusammenhängende Bereiche zu Komponenten zusammenzufassen und erst diesen Komponenten einen azyklischen Graphen gegenüberzustellen. Das ergibt eine geordnete Abhängigkeitsstruktur – aber keine Behauptung, ein Programm laufe zwingend in genau dieser Reihenfolge ab.
Statt alle Kandidaten über eine globale Wichtigkeitszahl gegeneinander antreten zu lassen, unterscheidet die vorgeschlagene Auswahl Rollen: Einstiegspunkte, Initialisierung und Zusammensetzung von Komponenten, Ablaufsteuerung sowie Persistenz- und andere Systemgrenzen. Hilfsfunktionen bleiben als eigene Kategorie erhalten.
Die Rolle soll sich aus Syntax und belegbaren Bindungen ergeben. Ein Name wie „init“ kann ein Hinweis sein, beweist für sich allein aber keine besondere Bedeutung. Ebenso beweist ein Aufruf, der nach Datenbankzugriff aussieht, nicht, dass im Betrieb tatsächlich erfolgreich gespeichert wird.
Erst innerhalb einer Rolle sollen weitere Signale entscheiden – etwa ob ein Kandidat eine bislang fehlende Komponente abdeckt, eine belegte Verbindung zwischen Komponenten ergänzt oder einen nachvollziehbaren Beleg liefert. Aufrufzahlen können dabei höchstens ein ergänzendes, begrenztes Signal sein. Wiederholte Aufrufe desselben Ziels zählen nicht mehrfach.
Für die Auswahl sind drei getrennte Kapazitäten vorgesehen: höchstens 16 Blöcke für den Architekturrahmen, 12 für zusätzlichen Kontext und 4 für Fehler- und Ressourcenbereiche. Kontextblöcke dürfen keine reservierten Plätze des Rahmens verdrängen. Das ist eine vorgeschlagene Regel, noch keine implementierte oder getestete Eigenschaft.
Ein ausgewählter Codeblock soll eine vollständige syntaktische Einheit enthalten – etwa eine Funktion samt Dekoratoren oder eine vollständige Anweisung auf Modulebene. Das Abschneiden einer Funktion, während sie anschließend als vollständiger Beleg geführt wird, wäre unzulässig. Auch überlappende Klassen- und Methodenausschnitte müssen sorgfältig behandelt werden, damit derselbe Code nicht mehrfach ins Budget eingeht oder ein Teilstück fälschlich als vollständiger Klassenbeleg gilt.
Als harte Auswahlgrenzen nennt das Design höchstens 32 Codeblöcke und höchstens 96 KiB Quelltext. Ein weiterer Grenzwert betrifft die vollständige Antwort im JSON-RPC-Format: 24 KiB entsprechen 24.576 Byte. Wer darin mindestens 2,5 KiB Reserve lassen will, darf im Normalfall höchstens 22.016 Byte ausgeben – das sind 21,5 KiB. Ein Ausgabewert von 22 KiB ließe dagegen 2 KiB Reserve, nicht 2,5 KiB. Entscheidend ist die Größe der vollständigen Antwort einschließlich JSON-Escaping und abschließendem Zeilenumbruch, nicht nur die Größe des eingebetteten Wissenspakets.
Notwendige Belege sollen vor optionalen Erläuterungen in das Paket aufgenommen werden. Passt schon das Mindestpaket nicht ins Budget, sollte der Dienst einen klaren Fehler melden, statt eine unvollständige Antwort als vollständig auszugeben. Auch alle Quellenverweise müssen auf tatsächlich gelesene und überprüfte Stellen zeigen.
Statt dieselben Dateipfade und Quellenangaben in jedem Fakt zu wiederholen, schlägt das Design eine gemeinsame Datei- und Quellentabelle vor. Fakten und Beziehungen können dann auf gemeinsame Einträge verweisen. Das kann redundante Metadaten reduzieren; wie viel Platz es spart, muss jedoch an der vollständigen Antwort gemessen werden. Bei kleinen Paketen kann die zusätzliche Tabellenstruktur den Vorteil auch aufzehren.
Cache-Augmented Generation (CAG) beschreibt grundsätzlich das Vorladen von Wissen in einen wiederverwendbaren Key-Value-Cache. Die angeführte Forschung erläutert dieses Prinzip, belegt aber weder einen tatsächlichen Treffer bei einem bestimmten Modellanbieter noch Einsparungen oder Latenzvorteile für diesen Dienst.1 Ein stabiler Paketaufbau kann eine Voraussetzung für wiederverwendbare Präfixe sein; ob ein Anbieter sie tatsächlich wiederverwendet, muss separat geprüft werden.
Auch die verwandten Arbeiten zu strukturierten Wissensgraphen für Codebasen und zum Vergleich AST-basierter mit modellgenerierten Graphen liefern Kontext für den Ansatz.10
11 Die in der Bestandsaufnahme genannten konkreten Leistungswerte – etwa hohe Faktorverbesserungen oder eine Fehlerquote von null – konnten anhand der verfügbaren Angaben nicht ausreichend verifiziert werden. Sie sollten daher nicht als Zusage für dieses Projekt verstanden werden.
Eine Abdeckung aller 13 Prüfpunkte lässt sich nicht allein aus den Rollen oder dem Budget ableiten. Dafür müssten zunächst für jeden Punkt geeignete, vollständige Codebelege im freigegebenen Bestand existieren. Diese müssten von der Auswahl auch tatsächlich als erforderlich erkannt werden, in die jeweiligen Kontingente und ins Bytebudget passen und von der Prüflogik akzeptiert werden. Außerdem dürfen sich die Quellen zwischen Auswahl und Prüfung nicht ändern.
Wenn jeder Prüfpunkt genau einen anderen Rahmenblock benötigt, lägen 13 Blöcke innerhalb des vorgeschlagenen Rahmens von 16. Das ist eine Kapazitätsrechnung – kein Beweis, dass jeder Prüfpunkt tatsächlich mit einem Block abgedeckt ist oder eine allgemeine Heuristik ihn immer findet. Dynamisches Verhalten kann sich zudem statischer Analyse entziehen. Und eine bestandene Prüfung auf vorhandene Codebereiche wäre nicht automatisch eine vollständige semantische Abnahme.
Der Vorschlag beschreibt eine mögliche Architektur, keine abgeschlossene Änderung. Laut Ausgangslage wurden in diesem Arbeitsgang weder Dienst noch Referenzprojekt geändert; Tests, Abnahme und Modellanfragen fanden nicht statt. Entsprechend sind auch Aussagen über stabile 13/13-Abdeckung, Kostenersparnis, tatsächliche Cache-Nutzung oder die Einhaltung einer Laufzeitgrenze noch zu überprüfen.
Der belastbare Kern des Entwurfs ist enger gefasst: Rollen sollen verhindern, dass häufige Hilfsaufrufe allein wegen ihrer Zahl wichtige Programmteile verdrängen; vollständige Ausschnitte und feste Budgets sollen nachvollziehbare Grenzen setzen; gemeinsame Quellenverweise sollen unnötige Wiederholungen vermeiden. Ob diese Regeln im konkreten Projekt alle Prüfpunkte erfassen, muss eine unabhängige, versionierte Abnahme zeigen.
Studio Global AI
Diese Seite enthält eine quellengestützte Antwort, die Sie in Studio Global fortsetzen können.
Ein Call Graph allein beschreibt nicht zuverlässig, wie ein Programm zur Laufzeit abläuft – und unaufgelöste Aufrufe sind noch keine gesicherten Verbindungen.
Ein Call Graph allein beschreibt nicht zuverlässig, wie ein Programm zur Laufzeit abläuft – und unaufgelöste Aufrufe sind noch keine gesicherten Verbindungen. Die vorgeschlagene Auswahl schützt wichtige Rollen wie Einstiegspunkte, Initialisierung, Ablaufsteuerung und Speichergrenzen vor dem Verdrängen durch häufig aufgerufene Hilfsfunktionen.
Für die Codeauswahl gelten feste Grenzen: höchstens 32 Blöcke und 96 KiB Quelltext; auch die vollständige JSON RPC Antwort muss ins Bytebudget passen.