我们现已全面推出自动化反馈策略的第二部分:Representer! 这篇文章会简要介绍它们如何工作,以及它们为什么这么有用。 这篇比平时稍微技术一些,所以请系好安全带!
什么是 Representer?
Representer 是一款软件,它接收学员提交的解答,并返回该解答的规范化表示。 然后我们用这些表示来简化自动化反馈和分类流程。
用一个例子最能说明 Representer 的作用。
假设有两名学员向 Ruby 的hello-world练习提交了两份解答:
# Student 1's submission
def self.hello(name = 'World')
"Hello, #{name}!"
end
# Student 2's submission
def self.hello(nom='World')
"Hello, #{nom}!"
end
虽然这些解答的代码并不相同(缩进、变量名和字符串语法都不一样),但本质上是一样的。 所以,只要为它们创建规范化表示,我们就能在提供反馈时把它们_当作_同一个解答来处理。
为什么这有用?
通过创建这些规范化表示,我们可以确保在某一份提交上给出的反馈会自动应用到其他相似的解答上。 这意味着,作为学员,你更有可能获得即时且高度相关的反馈。 而作为导师,你现在再也不需要为相似的解答重复给出同样的反馈:在 Automation UI 里做一次,剩下的就会神奇地自动完成。
我们还可以把 Representer 和我们现有的 Analyzer 结合起来使用。 Analyzer 可以针对通用问题发表意见(例如变量名、代码风格检查等),而表示则可以聚焦于应该做出的更宏观的改动。 这里有巨大的潜力,而我们现在才刚刚触及表面。
谁可以添加反馈?
为表示添加反馈的权限仅限于我们的超级导师,大约 150 人,他们指导过数百名学员,并一直保持着很高的导师评分。
如果你是超级导师,现在应该会发现 Mentoring Dashboard 上的“Automation”标签页已经解锁,你可以通过它访问那些可以添加反馈的解答。 请仔细阅读文档,因为要把这件事做好有很多细节讲究!
还有什么要做?
未来几周乃至几个月,我们会陆续推出一些关于 Representer 的新功能。 我们会在论坛上发布相关信息(例如这篇关于更新 Representer 的帖子),请多加关注。
构建 Representer
如果你有兴趣构建 Representer,可以查看 Representer 文档 了解更多信息;如果你想提问,也可以在我们论坛上发起一个新话题!