AI
AI Coding 面试平台结构化证据与远程工作区控制台
v0.4
候选人视角演示占位恢复窗口 15 分钟

候选人工作区

这是内部演示最重要的路径:候选人从这里判断能否继续作答、从哪个入口进入 runtime、AI 使用是否留痕、断线如何恢复,以及何时冻结提交。

当前阶段
真实桌面未接入
主要入口
候选人桌面
证据范围
Prompt / URL / 命令 / Diff / Tests

Runtime 控制壳

把候选人当前这场面试先归一成一个判断面:现在能不能进真实工作区、该从哪里进、掉线后怎么回、冻结后会发生什么。

ws_be_core_0107
activeready演示占位演示占位需服务端 decisionTTL 剩余 1 小时 49 分钟Reconnect 15m未绑定签到 tokenEditable
真实桌面未接入
当前 provider=mock,只能说明控制面有记录,不能代表远端桌面已经启动。
候选人入口
候选人桌面
URL 已回写,但当前状态还未完全 ready。
只读入口
只读入口
面试官观察入口已可被区分展示。
入口就绪度
5/5
remote / readonly / ide / browser / terminal
TTL
剩余 1 小时 49 分钟
04/27 18:39 到期
恢复凭据
interviewId route
无 token 时只保留演示状态展示,不能作为生产候选人恢复凭据。
预检
未绑定签到 token
从 lobby 无 token 演示入口进入时,此页只展示 runtime baseline。
最近边界动作
暂无
当前没有新的剪贴板或传输动作。

Runtime URL Access-Control Readiness

token / binding / signed resolve
Session bearer
检查 session bearer
正在读取浏览器中的 scoped candidate session token。
Interview binding
未提供邀请 token
当前通过 interviewId 演示入口渲染,只能展示状态,不能证明候选人 session binding。
Remote URL
remote URL present
当前 provider=mock,只能说明控制面有记录,不能代表远端桌面已经启动。
Readonly URL
readonly URL present
当前 provider=mock,只能说明控制面有记录,不能代表远端桌面已经启动。
IDE URL
IDE URL present
当前 provider=mock,只能说明控制面有记录,不能代表远端桌面已经启动。
Server-side URL guard
兼容入口 readiness
兼容入口保留原有 readiness 与本地入口展示,同时可观察 guard 请求降级结果。
Signed entrypoint consumption
raw fallback only
兼容入口可显示 raw runtimeUrl,但不会把它标记为已接入 signed proxy。

Runtime URL Access Decision

候选人入口以服务端 allow/deny 为准;只有 allow decision 会显示返回的 entrypoint。

等待请求
将使用浏览器中的 checking browser bearer。
Decision
unavailable
尚未收到服务端 decisionId。
Surface
remote
候选人桌面 已由 runtime 登记
Reason
PENDING
auth checking browser bearer
TTL
等待 decision
服务端返回后显示 access decision TTL。
当前未显示 runtime entrypoint;deny、pending 或请求失败都不会在此处泄露 URL。

候选人主流程

session flow
0. 签到与预检
未绑定签到 token。从 lobby 无 token 演示入口进入时,此页只展示 runtime baseline。
1. 进入 runtime
runtime 处于 ready,仍需等待入口或状态稳定。
2. 沿用平台边界
platform_only / Local OS sync blocked。平台内复制粘贴允许,上传 / 下载走受控路径。
3. 断线恢复
如果掉线,在 15 分钟窗口内走原工作区恢复,而不是重新开一场。
4. 冻结提交
确认当前结果就是最终版本后,再冻结当前提交并结束工作区。

任务说明

候选人侧先只聚焦当前题目、验收标准和允许使用的工作区能力。

90 分钟

修复并发请求下库存被重复扣减的问题,补至少一条关键测试,并解释你为何接受或拒绝某条 AI 建议。

codex平台内浏览器允许 Docker

验收标准

Question Pack
Hidden Test 通过:并发请求下库存不得重复扣减
说明验证过程
允许联网查文档,公共 AI chat 被阻断

会话约束

intv_demo_001
候选人
王晨
面试官
李一凡
工作区
ws_be_core_0107
候选人入口
候选人桌面
只读入口
只读入口
恢复窗口
15 分钟
恢复凭据
interviewId route
预检状态
未绑定签到 token
证据范围
Prompt / URL / 命令 / Diff / Tests

继续 / 恢复规则

runtime contract
继续作答
当前还不能把这一页当成真实工作区,先等待 runtime 或入口 URL 回写。
断线恢复
如果掉线,优先走候选人邀请 token reconnect,而不是只凭 interviewId 重新开新会话。恢复目标仍是 ws_be_core_0107
冻结后边界收紧
最终提交会冻结 Prompt / URL / 命令 / Diff / Tests 证据,并关闭继续编辑预期。
最近边界动作
暂无边界动作记录。

远端工作区

这里是候选人真实 runtime 的控制壳:先看状态、再看入口、最后进入对应工作面。

mock
ready演示占位演示占位需服务端 decisionCandidate controlClipboard platform_only
真实桌面未接入
当前 provider=mock,只能说明控制面有记录,不能代表远端桌面已经启动。
Runtime 状态
演示占位
mock · ready
主入口
候选人桌面
workspace.example.com/ws_be_core_0107
TTL
剩余 1 小时 49 分钟
04/27 18:39 到期
Provider
mock
runtimeRef 未记录
入口就绪
5/5
当前 provider=mock,只能说明控制面有记录,不能代表远端桌面已经启动。
URL 访问状态
演示占位
当前 provider=mock,只能说明控制面有记录,不能代表远端桌面已经启动。
服务端 URL Guard
需服务端 decision
runtime URL 打开前应以服务端 runtime-url-access allow/deny decision 为准;兼容视图可继续展示本地 readiness。
能力
7/7
当前可用能力数

Surface Rail

5/5 已就绪
候选人桌面
可检查
Ready
workspace.example.com/ws_be_core_0107
URL 已回写,但 runtime 还没进入稳定可作答状态。
检查 候选人桌面
只读入口
可检查
Ready
workspace.example.com/ws_be_core_0107/readonly
URL 已回写,但 runtime 还没进入稳定可作答状态。
检查 只读入口
IDE
可检查
Ready
workspace.example.com/ws_be_core_0107/ide
URL 已回写,但 runtime 还没进入稳定可作答状态。
检查 IDE
浏览器
可检查
Ready
workspace.example.com/ws_be_core_0107/browser
URL 已回写,但 runtime 还没进入稳定可作答状态。
检查 浏览器
终端
可检查
Ready
workspace.example.com/ws_be_core_0107/terminal
URL 已回写,但 runtime 还没进入稳定可作答状态。
检查 终端
当前工作面
候选人桌面
workspace.example.com/ws_be_core_0107
演示占位剩余 1 小时 49 分钟恢复窗口已就绪
runtime 已在场,但暂时没有可嵌入入口。先从上面的 Surface Rail 打开可用端点,或者等待控制面补齐 frame URL。

会话推进

candidate pipeline
1. Runtime 分配
已完成
mock 已回写
2. 入口登记
已完成
5 个入口已可用
3. 工具壳就绪
当前关注
runtime 已在场,但入口或状态还未完全可用
4. 候选人作答
等待中
等待控制面把会话推进到可进入状态

会话护栏

ttl / reconnect / boundary
URL Access
演示占位
当前 provider=mock,只能说明控制面有记录,不能代表远端桌面已经启动。
URL Guard
需服务端 decision
runtime URL 打开前应以服务端 runtime-url-access allow/deny decision 为准;兼容视图可继续展示本地 readiness。
TTL / Lease
剩余 1 小时 49 分钟
04/27 18:39 到期
Reconnect
恢复窗口已就绪
当前仍保留 15 分钟断线恢复窗口。
Clipboard
platform_only
平台内允许;Local OS sync blocked,不自动同步到本机系统剪贴板。
Workspace
linux_single_tenant
mock / aici/demo-workspace:latest

能力矩阵

7/7 已开启
IDE
ON
编辑器入口
Browser
ON
模板允许
Terminal
ON
命令与日志
Docker
ON
模板允许
Internet
ON
模板允许
Pkg Install
ON
依赖安装能力
Clipboard
platform_only
platform_only

Runtime 信息

ws_be_core_0107
Workspace
ws_be_core_0107
Provider
mock
Runtime Ref
未记录
TTL
剩余 1 小时 49 分钟 · 04/27 18:39 到期
启动时间
04/27 16:39
镜像
aici/demo-workspace:latest
重连窗口
15 分钟

提交当前工作区

submission control
Interview activeWorkspace readyRuntime ready
提交会结束当前工作区
提交后会立即结束当前远端 runtime,并关闭后续编辑窗口。
Evidence Scope
Prompt / URL / 命令 / Diff / Tests
Workspace 结束
提交后立即结束
恢复窗口
15 分钟
下一步
先完成确认

冻结前确认

0/3 已完成
冻结提交后,面试官会看到当前证据链,隐藏测试与最终评测会在工作区外完成。

状态切换

editable
1. Candidate Editing
当前动作
当前仍在候选人编辑窗口内,可以继续完善代码和测试结果。
2. Submission Frozen
等待中
在执行冻结前,需要先完成提交前确认。
3. Workspace Ended
等待中
冻结后会结束当前工作区,并关闭继续编辑预期。
4. Reviewer Handoff
等待中
冻结后会把证据链交给面试官复核,并转入工作区外评测。
提交时间:尚未冻结
运行时状态:ready
工作区结束:冻结后回写
候选人侧下一步:先完成提交前确认,再执行冻结提交。

工作区预览

真实 remote / IDE / browser / terminal 入口还没完全就绪时,这里展示预览和操作状态,避免误判为可编辑会话。

runtime 已在场
IDE 预览
// src/services/order_service.py

def reserve_inventory(order_id, sku, qty):
    existing = repo.find_by_order(order_id)
    if existing:
        return existing

    lock = redis.lock(f"inventory:{sku}")
    with lock:
        stock = repo.get_stock(sku)
        if stock < qty:
            raise OutOfStock()

        repo.decrease_stock(sku, qty)
        repo.save(order_id, sku, qty)
        return {"status": "ok"}
Terminal 预览
$ pytest -q

..F
FAILED tests/test_order_service.py::test_duplicate_submit
  Expected inventory to decrease once only.

剪贴板边界

platform-only boundary
平台内复制粘贴 允许Local OS sync blocked上传 controlled下载 controlled
Clipboard mode: platform_only / Local OS sync blocked
候选人可以在平台内 surfaces 间流转文本;本机系统剪贴板同步保持关闭,任何同步尝试只会记录为阻断事件。
策略
platform_only / local sync off / 200000 bytes
平台内允许
IDE / Browser / Terminal / AI Panel / Platform Clipboard
本地 OS 边界
sync blocked
审计
5 类边界事件会进入审计时间线
当前平台剪贴板
empty
当前还没有新的边界动作
平台内复制、粘贴、本地同步阻断、上传申请和下载申请都会在这里留下结构化记录。

边界流转

allow / block / controlled
Platform Copy Path
IDE / Browser / Terminal / AI Panel
允许通过 Platform Clipboard 在远端面板之间复制粘贴。
Blocked Path
Platform Clipboard -> Local OS
默认阻断本机系统剪贴板同步,避免把远端内容直接带出平台。
Transfer Lane
上传 controlled / 下载 controlled
文件传输走受控申请路径,并保留结构化事件。

边界模拟台

clipboard empty
IDE
repo.decrease_stock(sku, qty)
repo.save(order_id, sku, qty)
Terminal
FAILED tests/test_order_service.py::test_duplicate_submit
Expected inventory to decrease once only.
Browser
https://docs.python.org/3/library/threading.html
Platform Clipboard
empty

候选人须知

boundary contract
平台内可流转
在 IDE / Browser / Terminal / AI Panel / Platform Clipboard 之间复制粘贴,仍属于平台内动作。
本地系统剪贴板默认关闭
不允许把远端内容直接同步到本机 OS 剪贴板;阻断动作会记录到时间线。
上传 / 下载受控
所有文件流入流出都要经过受控申请路径,不是自由拖拽。

最近请求记录

0
当前还没有新的边界动作。平台内复制、粘贴、本地同步阻断、上传申请和下载申请都会在这里留下最近记录。

AI Panel

Prompt / Approval / Patch

Prompt Stream

budget 50,000 / 50,000 tokens left · $0.2500 cost left · 20,000 chars/request
1 条 / 0 tokens / $0.0000
prompts
1
redacted
1
pending
0
clean
0
Provider / Model
codex / codex
1 prompts
0 tokens
$0.0000
Origin
AI Panel · 1
Approval
granted · 0rejected · 0not_requested · 1
Redaction
none · 0redacted · 1pending · 0
Risk
high · 1medium · 0low · 0
1 条需要优先复核,重点看 `pending redaction`、`failed tool`、`trace missing`。
04/27 16:39
codex / codextrace missing
帮我分析这段库存扣减代码的并发漏洞,不要直接改代码,先列根因。
risk: highorigin: AI Panelapproval: not_requestedredaction: redactedevents pending
tool: none
approval: not_requested
trace: missing
focus: trace missing · events pending
timeline events pendingcandidateEvent:evt_demo_0002

候选人事件录入

按真实证据采样方式补录 AI / 浏览器 / 命令 / Diff / 提交信号。
总事件 8AI 2带引用 0高风险 2
当前模板:AI / AI Prompt记录 Prompt 摘要、模型和工作路径,后续才能把 Prompt、AI 回复、落码和评分串成完整证据链。
默认 Actor:候选人默认 Source:AI Gateway当前未挂引用

AI 证据字段

Prompt / 回复 / 工具 / Patch

最新时间线

最近 8
04/27 16:39
会话开始常规
系统 · 控制面
会话开始,远端工作区已分配。
04/27 16:39
AI Prompt 发送常规
候选人 · 控制面
先请 AI 分析并发漏洞根因,不直接修改代码。
04/27 16:39
AI 响应返回常规
AI · AI Gateway
AI 指出幂等校验在锁外存在竞态窗口。
04/27 16:39
浏览器访问 URL常规
候选人 · 浏览器采集
打开 Python threading 官方文档。
04/27 16:39
终端命令结束高风险
候选人 · 工作区代理
运行 pytest,关键测试失败。
04/27 16:39
测试完成高风险
系统 · 工作区代理
test_duplicate_submit 失败。
04/27 16:39
Diff 快照常规
候选人 · 工作区代理
采纳了把幂等检查移入锁内的 patch,并新增测试文件。
04/27 16:39
面试官笔记常规
面试官 · 手动记录
候选人能解释为什么没有直接接受 AI 第一个补丁。