We define an Artifact as anything that the agent creates to allow it to get its work done or communicate its work and thinking to the human user. These include rich markdown files, diff views, architecture diagrams, images, browser recordings, code diffs, etc. As Agents become more autonomous and can run for longer and longer periods, Artifacts allow for the Agent to asynchronously communicate its work to the user, as opposed to requiring the user to carefully monitor every Agent step synchronously.

Artifacts are produced while the Agent is in [Planning mode](/docs/agent-modes-settings), and appear in both the [Agent Manager](/docs/agent-manager) and [Editor](/docs/editor) views, though the former is optimized for displaying, organizing, and managing Artifacts.

Feedback is another key concept with Artifacts. Depending on the user settings, the Agent may ask for review on intermediate Artifacts to receive confirmation that it has made progress in its thinking or implementation that aligns with the user’s intent and goal. The user is able to provide feedback on the Artifact to provide guidance to steer the Agent in the proper direction. The UI/UX of feedback differs from Artifact type to Artifact type.
