Un agent IA peut vérifier ses propres annotations en regardant la page qu’il vient de marquer. Avec GroupDocs.Annotation.Mcp, le LLM dans Claude, Cursor ou GitHub Copilot annote un document, demande au serveur de rendre la page au format PNG avec l’annotation incluse, et juge si le placement est correct. Le serveur effectue le travail localement ; l’invite se résume à une phrase :

Highlight the payment clause on page 2, then show me the page.

Remarque : generate_pages_preview échoue actuellement pour les fichiers PDF sous Linux, y compris l’image Docker ; consultez les Limites honnêtes avant de l’utiliser.

Pourquoi un agent qui ne peut pas voir sa sortie signale-t-il à tort le succès ?

La plupart des outils de documents sont en écriture seule. L’agent les appelle et dit « terminé » parce que l’appel a renvoyé. Pour une annotation, cette affirmation peut être fausse d’une manière où aucun message d’erreur n’apparaît : l’appel a réussi, et le surlignage se trouve sur le mauvais paragraphe. Les coordonnées x et y sont des coordonnées du document, et un agent invité à surligner « la clause de paiement » doit deviner où se trouve cette clause à moins que quelque chose ne le lui indique.

La différence se situe entre « J’ai ajouté un surlignage » et « le surlignage se trouve sur la clause de paiement ». Seule la seconde affirmation est utile, et seul un examen de la page peut la confirmer.

Comment un agent rend-il une image de page annotée et la vérifie-t-il ?

Les outils forment une boucle courte.

  1. add_annotation écrit l’annotation et enregistre contract_annotated.pdf. Le fichier original n’est pas modifié.
  2. generate_pages_preview rend les pages de ce fichier en images PNG, avec les annotations intégrées, et les renvoie en ligne. Passez pages comme 2, 1-3 ou 1,3,5. Omettez‑le et vous obtenez la page 1.
  3. L’agent regarde l’image. Si le surlignage couvre le mauvais texte, update_annotation modifie son message ou sa position et taille sans repartir de zéro.

La prévisualisation renvoie un bloc de texte décrivant ce qui a été rendu, suivi d’un bloc d’image pour chaque page. Un appel rend au maximum cinq pages.

Définissez GROUPDOCS_MCP_OUTPUT_PATH vers un dossier différent de celui du stockage avant d’enchaîner les modifications sur un fichier produit. Avec la valeur par défaut (les sorties atterrissent dans le dossier de stockage), le deuxième écrit échoue avec being used by another process ; avec un dossier de sortie séparé, add_reply, update_annotation et remove_annotations sur le fichier produit réussissent tous. Avec l’image Docker, passez -e GROUPDOCS_MCP_OUTPUT_PATH=/data/output. La session ci‑dessous suppose ce réglage, de sorte que le fichier produit se trouve sous output/.

De quoi l’agent a-t-il besoin pour que cela fonctionne ?

  • Un client qui affiche le contenu image. Claude Desktop le fait. Un client terminal peut simplement indiquer qu’une image a été renvoyée. L’outil se comporte de la même façon dans les deux cas ; les images peuvent simplement ne pas être affichées.
  • Un modèle capable de vision. Les images ne sont utiles qu’à un modèle qui accepte les entrées image.
  • Une petite plage de pages. Le rendu est l’appel le plus coûteux que ce serveur effectue. Demandez la page dont vous avez besoin, pas un fichier de cinquante pages.

Quelles autres utilisations la prévisualisation a-t-elle ?

  • Localiser avant d’annoter. Rendre d’abord, laisser le modèle lire la page, puis placer l’annotation avec les coordonnées qu’il a dérivées plutôt que devinées.
  • Vérifier une fusion. Après import_annotations sur un brouillon reformaté, une prévisualisation montre si les notes importées sont toujours à l’endroit prévu.
  • Afficher le résultat à un relecteur dans le chat sans ouvrir le fichier.
  • Repérer le badge d’évaluation. En mode évaluation, un badge d’essai est apposé sur chaque page, il est donc visible dans l’image rendue.

Exemple de session (abrégé)

Ceci est une illustration construite à partir du comportement documenté des outils, pas une capture d’écran. Elle suppose une plateforme où le rendu de prévisualisation fonctionne pour les fichiers PDF, comme Windows avec dnx.

You:   Highlight the payment clause on page 2 of contract.pdf, then show me the page.

Agent: [calls add_annotation: type=highlight, page=2, x=100, y=250,
        text="Payment clause"]
       Added highlight annotation to contract.pdf on page 2.
       [calls generate_pages_preview on output/contract_annotated.pdf, pages="2"]
       (image: page 2, rendered with the highlight)
       The highlight sits on the "Delivery" paragraph, one block above the
       payment clause. Moving it down.
       [calls get_annotations, then update_annotation: y=330]
       Updated annotation 1 in output/contract_annotated.pdf.
       (The agent passes the saved file name from each result to the next call.)

Où s’exécute le rendu, et qu’est-ce qui quitte la machine ?

Le moteur génère le PNG sur votre machine. L’image est ensuite transmise à votre fournisseur de modèle comme tout autre contenu de message, ainsi, avec un modèle hébergé dans le cloud, une prévisualisation envoie une image de cette page. Pour les documents sensibles, utilisez un modèle hébergé localement.

Limites honnêtes

  • Prévisualisation sous Linux. generate_pages_preview échoue actuellement pour les fichiers PDF sous Linux, y compris l’image Docker (TypeInitializationException pour Gdip : System.Drawing.Common n’est pas pris en charge sur les plateformes non Windows) ; les documents Word et autres Office sont rendus, et sous Windows avec dnx tous les formats sont rendus. Les dix autres outils ne sont pas affectés.
  • Mode évaluation. Un badge d’essai est apposé en haut de chaque page du fichier annoté et des prévisualisations. Vérifiez get_license_status avant de vous fier à la sortie.
  • Le placement approximatif reste approximatif. Une prévisualisation permet au modèle de remarquer une annotation mal placée ; elle ne transforme pas des coordonnées devinées en coordonnées exactes.
  • Un modèle uniquement texte ne peut pas vérifier. Il reçoit toujours le bloc de texte, mais il ne peut pas vous dire à quoi ressemble la page.

FAQ

Un IA peut‑il vérifier où un commentaire a atterri sur la page ? Oui, si le modèle accepte les images. L’agent rend la page annotée avec generate_pages_preview et examine l’image, puis ajuste l’annotation avec update_annotation si nécessaire.

Comment prévisualiser une page PDF annotée pour l’agent ? Demandez la page par numéro, par exemple « Rendre les pages 1‑3 du contrat annoté afin que je puisse vérifier les commentaires ». L’agent transmet pages comme 1-3 et les PNG sont renvoyés en ligne.

Pourquoi la prévisualisation échoue‑t‑elle dans mon conteneur Docker ? Pour les fichiers PDF, l’outil échoue sous Linux, y compris l’image Docker, avec une erreur d’initialisation du type Gdip. Les documents Word et autres Office sont rendus, et sous Windows avec dnx tous les formats sont rendus.

Approfondir